Vous êtes sur la page 1sur 7

Sances 3 et 4 Algo Prog en C

--------------------------------0. Finir la feuille TD1 1. Implmenter les exercices de la feuille du intitul TD1-suite : http://users.info.unicaen.fr/~charnois/AP1A/Tds/td1/

2. Implmenter les exercices suivants : 2.1 saisir une srie de nombres positifs (arrt de la saisie lorsque l'utilisateur entre un nombre ngatif), puis afficher le plus grand des nombres saisis 2.2 saisie d'une srie de nombres positifs ou ngatifs. On demandera l'utilisateur s'il veut continuer chaque itration 2.3 mme exercice que le 2.2 mais on demandera l'utilisateur le nombre d'entiers saisir 2.4 calculer le nombre x la puissance y (par exemple 2 puissance 4 vaut 16) : x et y tant des entiers saisis par l'utilisateur. 2.5 modifier le programme ralis en 2.4 pour afficher l'entier maximal possible en fonction du type (int, long, unsigned int, etc.). On utilisera l''oprateur sizeof qui donne la taille en octets en fonction du type : par exemple sizeof (int)

Ecrire un Algorithme et sa traduction en langages C, C++, C#, Java qui : Exercice 1 : permet de calculer le factoriel dun nombre saisi au clavier. Trouvez la valeur maximale pouvant tre calcule. Exercice 2 : donne l'utilisateur de saisir une srie des nombres jusqu' N entiers et qui affiche leur somme, leur produit et leur moyenne. Le nombre N est entrer au clavier. a) avec la boucle while. b) avec la boucle do - while. c) avec la boucle for. d) Laquelle des trois variantes est la plus naturelle pour ce problme? Exercice 3 : permet de calculer la somme, le produit et la moyenne d'une suite de chiffres non nuls entrs au clavier, sachant que la suite est termine par zro. Retenez seulement les chiffres (0, 1, 2 ... 9) lors de l'entre des donnes et effectuez un signal sonore si les donnes sortent de ce domaine. Exercice 4 : permet de calculer les soustractions successives le quotient entier et le reste de la division entire de deux nombres entiers entrs par l'utilisateur. Exercice 5 : Ecrire un Algorithme et sa traduction en langages C, C++, C#, Java qui permet de saisir un nombre entier positif et dafficher la suite 1,2,3,4,,n (avec while). Exercice 6 : refaire l'exercice prcdent en Algorithme et sa traduction en langages C, C++, C# et Java, mais avec la boucle dowhile. Exercice 7 : refaire l'exercice prcdent en Algorithme et sa traduction en langages C, C++, C# et Java, mais avec la boucle for. Exercice 8 : Ecrire un Algorithme et sa traduction en langages C, C++, C#, Java qui permet desaisir un nombre entier positif et dafficher la suite n, n-1, n-2,4, 3, 2, 1, 0 (avec while). Exercice 9 : refaire l'exercice prcdent en Algorithme et sa traduction en langages C, C++, C# et Java, mais avec la boucle dowhile. Exercice 10 : refaire l'exercice prcdent en Algorithme et sa traduction en langages C, C++, C# et Java, mais avec la boucle for.

Exercice 11 : Ecrire un Algorithme et sa traduction en langages C, C++, C#, Java qui permet de calculer le factoriel dun nombre entier positif saisir par l'utilisateur. (avec while). Exercice 12 : refaire l'exercice prcdent en Algorithme et sa traduction en langages C, C++,C# et Java, mais avec la boucle dowhile. Exercice 13 : refaire l'exercice prcdent en Algorithme et sa traduction en langages C, C++, C# et Java, mais avec la boucle for. Exercice 14 : Ecrire un Algorithme et sa traduction en langages C, C++, C#, Java qui permet de calculer la somme des N premiers termes de la srie harmonique suivant : 1 + 1/2 + 1/3 + 1/4 + ... + 1/N. Exercice 15 : Ecrire un Algorithme et sa traduction en langages C, C++, C#, Java qui permet dafficher la table de multiplication dun nombre saisir par lutilisateur comme suit : 4*1=4 4*2=8 ... 4 * 9 = 36 (avec while). Exercice 16 : refaire l'exercice prcdent en Algorithme et sa traduction en langages C, C++, C# et Java, mais avec la boucle dowhile. Exercice 17 : refaire l'exercice prcdent en Algorithme et sa traduction en langages C, C++, C# et Java mais avec la boucle for. Exercice 18 : Ecrire un Algorithme et sa traduction en langages C, C++, C#, Java qui permet dafficher la table de multiplication dun interval [I1 , I2] (vrifier la validit). Exercice 19 : Ecrire un Algorithme et sa traduction en langages C, C++, C#, Java qui permet de calculer le factoriel de N nombres entiers positifs mais cela volont de lutilisateur. Exercice 20 : Ecrire un Algorithme et sa traduction en langages C, C++, C#, Java qui permet de calculer la valeur absolue de N nombres rels mais volont de lutilisateur. Exercice 21 : Ecrire un Algorithme et sa traduction en langages C, C++, C#, Java qui permet de calculer le N-ime terme UN de la suite de FIBONACCI qui est donne par la relation de rcurrence: U1=1

U2=1 Un=Un-1 + Un-2 (pour N>2) Dterminez le rang N et la valeur UN du terme maximal que l'on peut calculer si on utilise pour Un : - le type int - le type double. Exercice 22 : Dcomposition de nombres : On se propose d'crire un Algorithme et sa traduction en langages C, C++, C#, Java qui permet de dterminer et d'afficher toutes les reprsentations sous forme de sommes d'entiers conscutifs d'un nombre entier n donn. Exemple : Donnez un nombre entier : 45 Les sommes conscutives sont : 45 = 1+2+3+4+5+6+7+8+9 45 = 5+6+7+8+9+10 45 = 7+8+9+10+11 45 = 14+15+16 45 = 22+23 Exercice 23 : Nombre heureux : Un nombre heureux est un entier qui, lorsqu'on ajoute les carrs de chacun de ses chiffres, puis les carres des chiffres de ce rsultat et ainsi de suite jusqu'a l'obtention d'un nombre a un seul chiffre, donne 1 pour rsultat. Ainsi, 7 est heureux, puisque : 72 = 49 42 + 92 = 97 92 + 72 =130 12 + 32 + 02 =10 12 + 02 = 1 (on est arrive un nombre d'un seul chiffre = 1, donc 7 est heureux) Ecrire l'analyse algorithmique et sa traduction en langages C, C++, C#, Java qui permet de dterminer si le nombre entrer par l'utilisateur est un nombre heureux. Exercice 24 : Un nombre abcd est divisible par 7 : Un nombre abcd est divisible par 7 si |abc-2*d| est divisible son tour par 7. Exemple : Pour n = 7241 |724 2*1| = 722 on doit tester si 722 est divisible par 7 |72- 2*2| =68 |6-2*8|= 10 |1-2*0|= 1 do 7241 nest pas divisible par 7 Pour n = 30086 |3008 2*6| = 2996 |299- 2*6| =287 |28-2*7|= 14 |1-2*4|= 7 do 30086 est divisible par 7 Pour n = 147 |14-2*7|= 0 do 147 est divisible par 7 Ecrire un Algorithme et sa traduction en langages C, C++, C#, Java qui permet de dterminer si le nombre entrer par l'utilisateur est divisible par 7.

Exercice 25 : Ecrire un Algorithme et sa traduction en langages C, C++, C#, Java qui permet de calculer la somme des N premiers termes de la srie harmonique : 1 + 1/2 + 1/3 + ... + 1/N Exercice 26 : Ecrire un Algorithme et sa traduction en langages C, C++, C#, Java qui permet de calculer le nombre lu rebours d'un nombre positif entr au clavier en supposant que le fichier d'entre standard contient le nombre inverser. Exemple: Entre: 5689 Affichage: 9865 Exercice 27 : Ecrire un Algorithme et sa traduction en langages C, C++, C#, Java qui permet de saisir 2 nombres entiers x et (n positif) et de dterminer x^n (sans calculer la puissance). Exercice 28 : refaire l'exercice prcdent mais en utilisant cette fois la fonction prdfinie pow( ). Exercice 29 : Ecrire un Algorithme et sa traduction en langages C, C++, C#, Java qui permet de calculer le moyenne de n notes (0 <= note <= 20) (2 chiffres aprs virgule). a- Avec la boucle while. b- Avec la boucle dowhile. c- Avec la boucle for. d- utilisez les instructions de branchements inconditionnels break, continue, goto. Exercice 30 : Ecrire un Algorithme et sa traduction en langages C, C++, C#, Java qui permet de calculer la moyenne de notes termines par une note ngative puis dafficher le nombre de notes traits. Exercice 31 : Ecrire un Algorithme et sa traduction en langages C, C++, C#, Java qui permet de saisir un nombre entier positif et afficher tous les nombres pairs qui lui sont inferieurs (sauf 0) Exercice 32 : Ecrire un Algorithme et sa traduction en langages C, C++, C#, Java qui permet dafficher la somme des entiers entre [d , f] (d, f donnes vrifier quelles sont dans le bon ordre). Exercice 33 : Ecrire un Algorithme et sa traduction en langages C, C++, C#, Java qui permet de calculer la racine carre X d'un nombre rel positif A par approximations successives en utilisant la relation de rcurrence suivante: XJ+1 = (XJ + A/XJ) / 2 X1 = A La prcision du calcul J est entrer par l'utilisateur. b) Assurez-vous lors de l'introduction des donnes que la valeur pour A est un rel positif et que J est un entier naturel positif, plus petit que 50. c) Affichez lors du calcul toutes les approximations calcules :

La 1re approximation de la racine carre de ... est ... La 2e approximation de la racine carre de ... est ... La 3e approximation de la racine carre de ... est ... ... Exercice 34 : Ecrire un Algorithme et sa traduction en langages C, C++, C#, Java qui permet d'afficher le tableau suivant de N ligne (N est fourni au clavier) : 1 1 1 1 0 1 1 1 0 -1 1 1 0 -1 -1 1 0 -1 -1 -1 0 -1 -1 -1 -1 Exercice 35 : Ecrire un Algorithme et sa traduction en langages C, C++, C#, Java qui permet d'afficher le triangle isocle form d'toiles de N lignes (N est fourni au clavier): Nombre de ligne : 8 * *** ***** ******* ********* *********** ************* ***************

Exercice 36 : Ecrire un Algorithme et sa traduction en langages C, C++, C#, Java qui permet d'afficher le triangle isocle form d'toiles de N lignes (N impaire) : Nombre de ligne : 7 * *** ***** ******* ***** *** * Exercice 37 : Ecrire un Algorithme et sa traduction en langages C, C++, C#, Java qui permet d'afficher le tableau smitrique de N ligne (N est fourni au clavier): 0 1 2 3 1 0 3 4 2 3 0 5 3 4 5 0 Exercice 38 : Ecrire un Algorithme et sa traduction en langages C, C++, C#, Java qui permet dafficher :

2 3 4 5 6

3 4 5 6 7

4 5 6 7 8

5 6 7 8 9

Exercice 39 : Ecrire un Algorithme et sa traduction en langages C, C++, C#, Java qui permet d'afficher la table des produits pour N variant de 1 10 : X*Y I 0 1 2 3 4 5 6 7 8 9 10 ------------------------------------------------------------0 I 0 0 0 0 0 0 0 0 0 0 0 1 I 0 1 2 3 4 5 6 7 8 9 10 2 I 0 2 4 6 8 10 12 14 16 18 20 3 I 0 3 6 9 12 15 18 21 24 27 30 4 I 0 4 8 12 16 20 24 28 32 36 40 5 I 0 5 10 15 20 25 30 35 40 45 50 6 I 0 6 12 18 24 30 36 42 48 54 60 7 I 0 7 14 21 28 35 42 49 56 63 70 8 I 0 8 16 24 32 40 48 56 64 72 80 9 I 0 9 18 27 36 45 54 63 72 81 90 10 I 0 10 20 30 40 50 60 70 80 90 100

Exercice 40 : Ecrire un Algorithme et sa traduction en langages C, C++, C#, Java qui permet de calcule et laffichage suivant : 1*8*1=9 12 * 8 * 1 = 98 123 * 8 * 1 = 987 1234 * 8 * 1 = 9876 12345 * 8 * 1 = 98765 123456 * 8 * 1 = 987654 1234567 * 8 * 1 = 9876543 12345678 * 8 * 1 = 98765432 123456789 * 8 * 1 = 987654321

Pour tlcharger les corrigs en algorithme et sa traduction en langages C, C++, C#, Java, Vb.Net et Pascal sur les structures rptitives ( les boucles ) et les instructions de branchements inconditionnels - Cliquez sur le lien suivant :