Série D'exercices - Inf2
Série D'exercices - Inf2
Série D'exercices - Inf2
Informatique (2018/2019)
Série d’exercices
Exercice 1 :
Écrire un programme qui permet d'afficher le message bonjour à l'utilisateur.
Exercice 2 :
Écrire un programme qui permet d'afficher la somme et le produit de deux nombres entiers.
Exercice 3 :
Écrire un programme qui permet de calculer et afficher le quotient et le reste de la division entière
de deux nombres entiers saisis au clavier.
Exercice 4 :
Écrire un programme qui permet de calculer et afficher la division réelle de deux nombres réels
saisis au clavier.
Exercice 5 :
Écrire un programme qui permet de réaliser la mutation des valeurs de deux nombres entiers.
Exercice 6 :
Écrire un programme qui permet d’afficher la surface et le périmètre d’un disque de rayon r.
Exercice 7 :
Écrire un programme qui permet d’introduire 3 notes d’un étudiant sachant que les coefficients
sont respectivement c1, c2 et c3, affiche sa moyenne et la décision « admis » ou « ajourné ».
Exercice 8 :
Écrire un programme qui permet de trouver le maximum de trois nombres entiers.
Exercice 9 :
Écrire un programme qui permet d’introduire un nombre entier et afficher si ce dernier est pair ou
impair.
Exercice 10 :
Écrire un programme qui permet d’introduire un nombre entier et afficher sa factorielle.
Exercice 11 :
Écrire un programme qui permet de calculer la somme suivante :
n
S cos j
j 0
Exercice 13 :
Écrire un programme qui permet d’introduire un mot de passe jusqu’à ce qu’il soit le même que le
mot de passe fixé par le programmeur.
Exercice 14 :
écrire un programme qui permet de définir un type tableau (vecteur) de 10 éléments réels, saisir et
afficher les éléments de ce tableau.
p. 1
1ère Année ST- LMD
Informatique (2018/2019)
Exercice 15 :
Écrire un programme qui permet de remplir un tableau de n éléments réels, trier ce dernier dans
un ordre croissant et afficher le tableau trié.
*que ce qu’on doit modifier dans le programme pour trier le tableau dans un ordre décroissant ?
Exercice 16 :
Ecrire un programme pascal qui permet d’effectuer le produit de deux tableaux. (Cas générale)
Exercice 17 :
Ecrire un programme qui donne à l’utilisateur la possibilité de saisir une matrice quelconque et
affiche cette dernière.
Exercice 18 :
Ecrire un programme qui permet de calculer le produit de deux matrices.
p. 2
1ère Année ST- LMD
Informatique (2018/2019)
Les solutions
Exercice 1 :
Écrire un programme qui permet d'afficher le message bonjour à l'utilisateur.
Solution :
#include <stdio.h>
main ( )
{
printf ("Bonjour \n" ) ;
}
Exercice 2 :
Écrire un programme qui permet d'afficher la somme et le produit de deux nombres entiers.
Solution :
#include <stdio.h>
main ( )
{
int a,b,S,P;
printf("donner deux entiers a, b = ");
scanf("%d %d",&a,&b);
S=a+b;
P=a*b;
printf("la somme S est %d \ n le Produit P est %d \ n ",S,P);
}
Exercice 3 :
Écrire un programme qui permet de calculer et afficher le quotient et le reste de la division entière
de deux nombres entiers saisis au clavier.
Solution :
#include <stdio.h>
main()
{ int a,b,quot , rest ;
printf("donner deux entiers: \n");
scanf("%d %d",&a,&b);
rest=a%b;
quot=a/b;
printf("le quotient de a/b est %d \n le reste de a/b est %d ",quot,rest); }
Exercice 4 :
Écrire un programme qui permet de calculer et afficher la division réelle de deux nombres réels
saisis au clavier.
p. 3
1ère Année ST- LMD
Informatique (2018/2019)
Solution :
#include <stdio.h>
int main()
{
float a,b,Div;
printf("donner deux entiers: \n");
scanf("%f %f",&a,&b);
Div= a/b;
printf("la divisio Div est %.3f \n ",Div);
return 0;
}
Exercice 5 :
Écrire un programme qui permet de réaliser la mutation des valeurs de deux nombres entiers.
Solution :
#include <stdio.h>
int main() {
int a,b,c ; #include <stdio.h>
printf (" entrez svp la valeur de a = " ) ;
int main() {
scanf (" % d " , & a ) ;
int a,b;
printf (" entrez svp la valeur de b = " ) ;
scanf (" % d " , & b ) ; printf("donner les valeur de a et b=");
c=a ; scanf("%d %d",&a,&b);
a=b ; /*avant mutation*/
b=c ; printf(" avant mutation a= %d et b=%d \n",a,b);
/* affichage après mutation */ a=a+b;
printf (" apres mutation am = %d et bm = %d ",a,b ) ; b=a-b;
return 0 ;
a=a-b;
}
/*après mutation*/
printf("apres mutation a=%d et b=%d",a,b);
return 0;
}
Exercice 6 :
Écrire un programme qui permet d’afficher la surface et le périmètre d’un disque de rayon r.
p. 4
1ère Année ST- LMD
Informatique (2018/2019)
Solution :
#include <stdio.h>
# define pi 3.14 /*déclaration de Constante*/
int main ( ) #include <stdio.h>
{ float r, Surface, Perimetre ; #include <math.h>
printf (" entrez svp la valeur de rayon= " ) ;
# define pi 3.14
scanf (" % f " , & r ) ;
int main ( ) {
Surface= pi*r*r ;
float r, Surface, Perimetre ;
Perimetre= 2*pi*r ;
printf (" entrez svp la valeur de rayon= " ) ;
printf ("surface=%.2f \n ", Surface) ;
scanf (" % f " , & r ) ;
printf ("Perimetre=%.2f ",Perimetre) ;
Surface= pi* pow (r,2) ;
return 0 ;
Perimetre= 2*pi*r ;
}
printf ("surface=%.2f \n ", Surface) ;
printf ("Perimetre=%.2f ",Perimetre) ;
return 0 ;
}
Exercice 7 :
Écrire un programme qui permet d’introduire 3 notes d’un étudiant sachant que les coefficients
sont respectivement c1, c2 et c3, affiche sa moyenne et la décision « admis » ou « ajourné ».
Solution :
#include <stdio.h>
main ( )
{ float n1,n2,n3,moy ;
Int c1,c2,c3 ;
printf (" entrez svp les trois notes= " ) ;
scanf (" % f %f %f " , & n1,&n2,&n3) ;
printf (" entrez svp les trois coefficients= " ) ;
scanf (" % d %d %d " , &c1,&c2,&c3) ;
moy=(n1*c1+n2*c2+n3*c3)/(c1+c2+c3) ;
printf ("moyenne=%.2f \n ", moy) ;
if (moy>=10) printf (" admis " ) ;
else printf(" ajourné " ) ; }
p. 5
1ère Année ST- LMD
Informatique (2018/2019)
Exercice 8 :
Écrire un programme qui permet de trouver le maximum de trois nombres entiers.
Solution :
#include <stdio.h>
int main ( )
{ int a,b,c,max ;
printf (" entrez svp les trois nombres entiers= " ) ;
scanf (" % d %d %d " , & a,&b,&c) ;
if (a>b) max=a ;
else max = b ;
if ( c> max ) max=c ;
else max =max ;
printf(" max= % d ", max ) ;
return 0 ;
}
Exercice 9 :
Écrire un programme qui permet d’introduire un nombre entier et afficher si ce dernier est pair
ou impair.
Solution :
#include <stdio.h>
int main ( )
{ int n ,rste ;
printf (" entrez svp un nombre entier n= " ) ;
scanf (" % d" , & n) ;
reste= n % 2 ;
if ( reste == 0 ) printf (" ce nombre est pair " ) ;
else printf (" ce nombre est impair " ) ;
return 0 ;
}
Exercice 10 :
Écrire un programme qui permet d’introduire un nombre entier et afficher sa factorielle.
p. 6
1ère Année ST- LMD
Informatique (2018/2019)
Solution :
#include <stdio.h> #include <stdio.h>
int main ( ) int main() {
{ int n ,fact,i ; int n,i,fact;
printf (" entrez svp un nombre entier n= " ) ; printf("donner un nombre n=");
scanf (" % d" , & n) ; scanf("%d",&n);
fact=1 ; fact=1;
for ( i= 1 ; i<=n ; i++ ) i=1;
{ while (i<=n)
fact = fact * i ; {
} fact=fact*i;
printf ("factorielle= %d",fact); i=i+1;
return 0; }
} printf("factorielle= %d",fact);
return 0;
}
Exercice 11 :
n
Écrire un programme qui permet de calculer la somme suivante : S cos j
j 0
p. 7
1ère Année ST- LMD
Informatique (2018/2019)
Exercice 12 :
Écrire un programme qui permet de calculer la quantité suivante :
n
k!
S 2
k 3 sin k
Solution :
#include <stdio.h>
#include<math.h>
int main() {
int n,i,j,fact;
float s,theta;
printf("entrer n,theta=");
scanf("%d %f",&n,&theta);
s=2;
for(i=3;i<=n;i++)
{fact=1;
for(j=1;j<=i;j++)
{fact=fact*j;
}
s=s+(fact/sin(i*theta));
}
printf("somme= %f ",s);
return 0;
}
Exercice 13 :
Écrire un programme qui permet d’introduire un mot de passe jusqu’à ce qu’il soit le même que le
mot de passe fixé par le programmeur.
Solution :
#include <stdio.h>
int main() {
int password=38;
int repons;
printf("entrer le mot de pass svp=");
scanf("%d",&repons);
if(repons==password) printf("code est correct");
else printf("code est incorrect");
return 0;
}
p. 8
1ère Année ST- LMD
Informatique (2018/2019)
Exercice 14 :
écrire un programme qui permet de définir un type tableau (vecteur) de 10 éléments réels, saisir et
afficher les éléments de ce tableau.
Solution :
#include <stdio.h>
int main () {
int tab [10] ; /* un tableau de 10 entiers est initialisee */
int i ;
/* On demande à l’utilisateur de remplir les 10 cases du tableau */
for (i = 0 ; i < 10 ; i = i + 1) {
printf ("Quelle valeur pour la case %d \n", i) ;
scanf ("%d", &tab [i]) ;
}
/* On affiche à present le tableau complet */
printf ("Voici le tableau que vous avez rempli :\n") ;
for (i = 0 ; i < 10 ; i = i + 1) {
printf ("%d ", tab [i]) ;
}
return 0 ;
}
Exercice 15 :
Écrire un programme qui permet de remplir un tableau de n éléments réels, trier ce dernier dans
un ordre croissant et afficher le tableau trié.
Que ce qu’on doit modifier dans le programme pour trier le tableau dans un ordre décroissant ?
Solution :
#include <stdio.h>
int main () {
int tab [5]={5,2,9,6,1};
int i,j;
int c;
for (i = 0 ; i < 5 ; i = i + 1) {
for (j=i+1;i<5;j++){
if((tab[j])>(tab[i])){
c=tab[i];tab[i]=tab[j];tab[j]=c;
}
}
}
for (i = 0 ; i < 5 ; i = i + 1) {
printf ("%d ", tab [i]) ;}
return 0; }
p. 9
1ère Année ST- LMD
Informatique (2018/2019)
Exercice 16 :
Ecrire un programme pascal qui permet d’effectuer le produit de deux tableaux. (Cas générale)
Solution :
#include <stdio.h>
int main() {
int tab1[10];
int tab2[10];
int tab[10];
int i,n=3;
printf("entrer les elements tab1");
for (i=0;i<n;i++)
{
scanf("%d",&tab1[i]);
}
printf("entrer les elements tab2");
for (i=0;i<n;i++)
{
scanf("%d",&tab2[i]);}
for (i=0;i<n;i++){
tab[i]=tab1[i]*tab2[i];
printf("tableau est=%d \n",tab[i]);
}
return 0;
}
Exercice 17 :
Ecrire un programme qui donne à l’utilisateur la possibilité de saisir une matrice quelconque et
affiche cette dernière.
Solution :
#include <stdio.h>
int main() {
int Mat[10][10];
int i,j,n,m;
printf("entrez le nombre de ligne et de colonnes de votre matrice n et m=");
scanf("%d %d",&n,&m);
printf("entrer les elements de Mat");
for(i=0;i<n;i++)
{
for (j=0;j<m;j++)
{ scanf("%d",&Mat[i][j]);
p. 10
1ère Année ST- LMD
Informatique (2018/2019)
}
}
printf("la matrice que vous avez saisi est la suivante \n");
for(i=0;i<n;i++){
for (j=0;j<m;j++)
{ printf("%d \t ",Mat[i][j]);
}
printf("\n");
}
return 0;
}
Exercice 18 :
Ecrire un programme qui permet de calculer le produit de deux matrices.
Solution :
#include <stdio.h>
main()
{
/* Déclarations */
int A[50][50]; /* matrice donnée */
int B[50][50]; /* matrice donnée */
int C[50][50]; /* matrice résultat */
int N, M, P; /* dimensions des matrices */
int I, J, K; /* indices courants */
p. 11
1ère Année ST- LMD
Informatique (2018/2019)
p. 12