Série D'exercices - Inf2

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 12

1ère Année ST- LMD

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

Avec : n et 𝜃 introduites par l’utilisateur.


Exercice 12 :
Écrire un programme qui permet de calculer la quantité suivante :
n
k!
S  2
k 3 sin  k 

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

Avec : n et 𝜃 introduites par l’utilisateur.


Solution :

#include <stdio.h> #include <stdio.h>


#include<math.h> #include<math.h>
int main() { int main() {
float j,n,theta,S; float j,n,theta,S;
printf ("entrer n ="); printf ("entrer n =");
scanf ("%f",&n); scanf ("%f",&n);
printf("entrer l'angle theta="); printf("entrer l'angle theta=");
scanf("%f",&theta); scanf("%f",&theta);
S=0; S=0;
j=0; j=0;
while (j<=n) do
{S=S+ cos(j*theta); {S=S+ cos(j*theta);
j=j+1; j=j+1;
} }
printf("la somme S=%.3f",S); while (j<=n);
return 0; } printf("la somme S=%.3f",S);
return 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 */

/* Saisie des données */


printf("*** Matrice A ***\n");
printf("Nombre de lignes de A (max.50) : ");
scanf("%d", &N );
printf("Nombre de colonnes de A (max.50) : ");
scanf("%d", &M );
for (I=0; I<N; I++)
for (J=0; J<M; J++)
{
printf("Elément[%d][%d] : ",I,J);
scanf("%d", &A[I][J]);
}
printf("*** Matrice B ***\n");
printf("Nombre de lignes de B : %d\n", M);
printf("Nombre de colonnes de B (max.50) : ");
scanf("%d", &P );
for (I=0; I<M; I++)
for (J=0; J<P; J++)
{
printf("Elément[%d][%d] : ",I,J);
scanf("%d", &B[I][J]);
}

p. 11
1ère Année ST- LMD
Informatique (2018/2019)

/* Affichage des matrices */


printf("Matrice donnée A :\n");
for (I=0; I<N; I++)
{
for (J=0; J<M; J++)
printf("%7d", A[I][J]);
printf("\n");
}
printf("Matrice donnée B :\n");
for (I=0; I<M; I++)
{
for (J=0; J<P; J++)
printf("%7d", B[I][J]);
printf("\n");
}
/* Affectation du résultat de la multiplication à C */
for (I=0; I<N; I++)
for (J=0; J<P; J++)
{
C[I][J]=0;
for (K=0; K<M; K++)
C[I][J] += A[I][K]*B[K][J];
}
/* Edition du résultat */
printf("Matrice résultat C :\n");
for (I=0; I<N; I++)
{
for (J=0; J<P; J++)
printf("%7d", C[I][J]);
printf("\n");
}
return 0;
}

p. 12

Vous aimerez peut-être aussi

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy