USTHB 2015/2016 Faculté Electronique et Informatique Département Informatique M
USTHB 2015/2016 Faculté Electronique et Informatique Département Informatique Module ALGO1 (LMD M/I) Série d’exercices N°1 Exercice : Ecrire un algorithme pour résoudre chacun des problèmes suivants : a) Calcul du minimum de trois nombres réels. #include <stdio.h> #include <stdlib.h> main () {float a,b,c; printf("donner les trois valeurs"); scanf("%f %f %f",&a,&b,&c); if(a<b) if(c<a) printf("le minimum est %f", c); else printf("le minimum est %f", a); else if(c<b) printf("le minimum est %f", c); else printf("le minimum est %f", b); system("pause"); } b) Ordonner trois nombres entiers. #include <stdio.h> #include <stdlib.h> main () {float a,b,c; printf("donner les trois valeurs"); scanf("%f %f %f",&a,&b,&c); if(a<b) if(c<a) printf("le tri est %f %f %f", c,a,b); else printf("le tri est %f %f %f", a,c,b); else if(c<b) printf("le tri est %f %f %f", c,b,a); else printf("le tri est %f %f %f", b,c,a); system("pause"); } Exercice 6 : Ecrire un algorithme en utilisant l’instruction ”Cas … Vaut” pour résoudre le problème suivant : Etant donné l’âge d’un enfant, on veut l’informer de sa catégorie : o Poussin de 6 à 7 ans o Pupille de 8 à 9 ans o Minime de 10 à 11 ans o Cadet de 12 à 15 ans o Junior de 16 à 18 ans o Senior 19 ans et plus. #include <stdio.h> #include <stdlib.h> int main() { int age; printf("Quelle age a l'anfant ?"); scanf("%d", &age); switch(age) {case 6 ... 7: printf ("poussin"); break; case 8 ... 9: printf ("Pupille "); break; case 10 ... 11: printf ("Minime "); break; case 12 ... 15: printf ("Cadet "); break; case 16 ... 18: printf ("Junior "); break; case 19 ... 100: printf("Senior"); break; default : printf("age ne convient pas"); } system("PAUSE"); return 0; } Exercice 10 : Ecrire un algorithme pour résoudre chacun des problèmes suivants : Soit N nombres entiers quelconques, calculer le nombre de valeurs positives, le nombre de valeurs négatives et celui des valeurs nulles. #include <stdio.h> #include <stdlib.h> int main() { int x,n,i; int nb1=0, nb2=0, nb3=0; printf("donner n\n");scanf ("%d",&n); for ( i=0;i<n;i++) {printf("donner une valeur \n"); scanf ("%d",&x); if (x<0)nb1++; else if (x==0) nb2++; else nb3++; } printf("le nobre de val negatives est %d nulles %d posetives %d\n",nb1,nb2,nb3); system("PAUSE"); return 0; } Soit N caractères quelconques, calculer le nombre d’occurrences des caractères ‘E’ et le nombre d’occurrences de ‘e’. #include <stdio.h> #include<stdlib.h> int main () {int i,cpt1,n,cpt2; char c ; cpt1= 0 ; cpt2=0; printf("Donner n\n"); scanf("%d",&n); for(i=0;i<n;i++) { printf("Donner un caractere");scanf(" %c",&c); if (c=='e' ) cpt1++; else if(c=='E')cpt2++; } printf("le nombre de fois que le caractere e apparait est: %d \n" , cpt1) ; printf("le nombre de fois que le caractere E apparait est: %d\n" , cpt2) ; system("PAUSE"); return 0; } Déterminer tous les diviseurs d’un entier X donné. Déterminer si un nombre entier X est premier ou non. #include <stdio.h> #include <stdlib.h> int main () { int x , i , nb=0; do {printf ("choisissez un nombre entier positif \n"); scanf("%d",&x);}while ( x <= 0); printf ("les diviseurs de %d sont :\n",x); printf ("%d\n",1); printf ("%d\n",x); i = 2; while ( i <= x/2) { if ( x % i == 0) {nb++; printf ("%d\n",i); } i = i + 1; } if (nb==0)printf ("%d est premier\n",x); else printf ("%d n'est pas premier\n",x); system("PAUSE"); return 0; } Série d’exercices N°2 Exercice 1 : Écrire les actions paramétrées (procédure ou fonction) permettant de résoudre les problèmes suivants : a. Calcul de la somme de deux nombres entiers. #include <stdio.h> #include <stdlib.h> int somme(int a,int b) {return a+b;} int main() {int x,y; scanf("%d%d", &x,&y); printf("la somme est %d",somme(x,y)); system("pause"); return 0; } b. Calcul de la factorielle de N (N !). #include <stdio.h> #include<stdlib.h> long fact (int N) {long p=1; int i; for(i=1;i<=N;i++) p=p*i; return p; } int main () { int N,i; long p=1; scanf("%d",&N); printf("Le fact est %ld\n",fact(N)); system("pause"); return 0 ; } c. Vérifier si un nombre entier A divise un nombre entier B. #include <stdio.h> #include <stdlib.h> int divise(int x, int y) { if(x!=0) if(y%x==0)return 1; return 0; } int main () { int a,b,c; printf ("donner a \n"); scanf ("%d",&a); printf ("donner b \n"); scanf ("%d",&b); if(divise(a,b))printf ("%d divise %d", a,b); else printf ("%d ne divise pas %d", a,b); system ("pause"); return 0; } d. Calcul du quotient et du reste de la division entière de deux nombres entiers A et B. #include <stdio.h> #include <stdlib.h> void quotient_reste(int a,int b) { int c, d; c=a/b; d=a%b; printf("le quotient est %d\n",c); printf("le reste est %d\n",d); } int main() {int x,y; printf("donner x et y\n") ; scanf("%d%d",&x,&y); quotient_reste(x,y); system("pause"); return 0; } e. Vérifier si un caractère donné est une voyelle (voyelles : 'a', 'e', 'i', 'o', 'u', 'y'). #include <stdio.h> #include <stdlib.h> int voyelle (char c) {c=tolower(c); // la fonction tolower rend le caractere c minuscule if (c=='a' || c=='e'|| c=='u'|| c=='i'|| c=='y') return 1; else return 0; } int main() { char x; printf("Donner x\n"); scanf ("%c",&x); if(voyelle(x)==1) printf("%c EST UNE VOYELLE\n",x); else printf ("%c N EST PAS UNE VOYELLE\n",x); system("pause"); return 0; } f. Permuter (échanger) le contenu de deux variables réelles. #include <stdio.h> #include <stdio.h> #include <stdlib.h> void permut(int a,int b) {int c; c=a; a=b; b=c; printf("le contenu de x est %d\n",a); printf("le contenu de y est %d\n",b); } int main() {int x,y; printf("donner x et y\n"); scanf("%d%d",&x,&y); permut(x,y); system("pause"); return 0; } Exercice 2 :(Examen 1er semestre 2005-2006) a) Ecrire une fonction qui retourne Vrai si le caractère passé en paramètre est égal à o ou O (qui veut dire Oui), et Faux sinon. #include <stdio.h> int vrai (char c) {if (c=='o'||c=='O')return 1; else return 0; } main () { char c; scanf (" %c",&c); if(vrai(c)) printf ("vrai"); else printf ("faux"); } c) Ecrire une procédure qui permet d’afficher la table de multiplication de 1 à 9 d’un nombre entier. Ecrire un algorithme qui demande un nombre entier à l’utilisateur et qui ensuite affiche la table de multiplication de 1 à 9 de ce nombre. Il faut utiliser la fonction précédente pour permettre à l’utilisateur de fournir des nombres aussi longtemps qu’il le désire. #include <stdio.h> #include <stdlib.h> int vrai(char c) {if (c=='o' || c=='O') return 1; else return 0; } void table(int a) {int i; for(i=1;i<=9;i++) printf ("%d * %d = %d\n",a,i,a*i); } int main () {char cc; int i , j ,x, nb=0; do {printf("donner x"); scanf ("%d",&x); table(x); printf("voulez vous introduire un nombre si oui tapez O ou o"); scanf (" %c",&cc); }while (vrai(cc)); system("PAUSE"); return 0; } uploads/s1/ corrige-series-d-exercices 1 .pdf
Documents similaires





-
28
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Oct 25, 2022
- Catégorie Administration
- Langue French
- Taille du fichier 0.1275MB