TD 8 : Les boucles en langage C.
TD 8 : Les boucles en langage C. Quelques bonnes habitudes `a prendre (dj une boucle !). Avant chaque écriture de programme il faut successivement:.
Langage C : énoncé et corrigé des exercices IUP GéniE
grand q ue 1. Exercice 8 Ecrire un progra mm e q ui sim u l e l'opération de division entiè re entre deux entiers.
Programmation récursive 1. Quest-ce que la programmation récursive
boucle() ;. } C'est ce qu'on appelle une récursivité simple. Calculer la somme des n premiers nombres avec une boucle while : int somme(int n) {.
Les boucles 1 Exercice 1
Correction du T.D. 1. Les boucles. 1 Exercice 1. Ecrire les algorithmes permettant de calculer : 1. une multiplication par additions successives.
Exercices corrigés
17 fév. 2009 contenant 7 4 7 8 4 6 3 9 6 ses valeurs de la mani`ere suivante : 4 8 4 ... En langage C les types prédéfinis float et double permettent de ...
Correction du TD 2 - Les tableaux 1 Exercice 1
Correction du T.D. 2. Les tableaux. 1 Exercice 1. Ecrire les algorithmes permettant : VAR c: Matrice carrée n*n i: entier. Debut. Pour i <- 1 a n Faire.
cours-python.pdf
22 mar. 2018 Il existe de nombreux autres langages interprétés comme Perl 8 ou R 9. Le gros avantage de ce type de langage est qu'on.
Contrôle des Systèmes Linéaires
5.2.2 Effet de la boucle fermée sur un système du second ordre . différentielle (1.8) est (stricement) causal si m est (strictement) inférieur à n.
Notes du cours de “Calcul Formel” et “Lart du Calcul” (M12 - LIPN
22 sept. 2012 6 TD et TP (A. Tanasa) ... a) (0615)8 b) (12
Bases de la programmation : Cours IUT de Villetaneuse.
28 fév. 2012 à la plupart des langages de programmation. ... 8 print(str2). 9 print(str1 + ' ' + str2) ... Sur ce thème : Exercices 8 à 10 TD 5.
![Exercices corrigés Exercices corrigés](https://pdfprof.com/Listes/16/36829-16exercicesCorriges.pdf.pdf.jpg)
Universite Paris 13
Institut Galilee
Annee universitaire 2008{2009L1
Informatique
Exercices corrigesExercices corriges
17 fevrier 2009
Dans chaque exercice nous proposons un programme toujours structure de la m^eme maniere (cependant certains elements ne sont pas toujours presents) : #include, #dene, denitions de types, prototypes de fonctions ,variables glo- bales, fonction principale, et enn denitions de fonctions. Cet ordre doit ^etre considere comme obligatoire. De plus le programme contient des commentaires (/* ... */) et a la n un exemple d'execution sous la forme egalement d'un commentaire (ici chaque ligne commence par //).Exercice 1 (Simple et double boucle.)
1. Ecrire un programme qui ache la sortie suivante :
ache 10 fois 1 ache 10 fois 2 ache 10 fois 3 ache 10 fois 4 ache 10 fois 5 ache 10 fois 6 ache 10 fois 7 ache 10 fois 8 ache 10 fois 9 ache 10 fois 10 ache 10 fois 112. Ajouter a ce programme les instructions necessaires pour que celui-ci af-
che les lignes supplementaires suivantes :1 1 1 1 1 1 1 1 1 1
2 2 2 2 2 2 2 2 2 2
3 3 3 3 3 3 3 3 3 3
4 4 4 4 4 4 4 4 4 4
5 5 5 5 5 5 5 5 5 5
6 6 6 6 6 6 6 6 6 6
7 7 7 7 7 7 7 7 7 7
8 8 8 8 8 8 8 8 8 8
9 9 9 9 9 9 9 9 9 9
10 10 10 10 10 10 10 10 10 10
11 11 11 11 11 11 11 11 11 11
1Exercice 2 (Sommes.)
1. Ecrire une programme qui ache la somme desnpremiers entiers natu-
rels. La valeur denest saisie au clavier lors de l'execution.2. Ecrire un programme qui ache la somme des entiers compris entre les en-
tiersdetf. Les valeurs dedetfsont saisies au clavier lors de l'execution.3. Ecrire une programme qui ache la somme des valeurs absolues des en-
tiers compris entre les entiers relatifsdetf. Les valeurs dedetfsont saisies au clavier lors de l'execution.4. Ecrire une programme qui ache la somme des valeurs absolues des en-
tiers pairs compris entre les entiers relatifsdetf. Les valeurs dedetf sont saisies au clavier lors de l'execution. Note:n%2est l'expression C dont le resultat est le reste de la division par 2 den. Exercice 3 (Achage d'un triangle isocele d'etoiles.) Ecrire un programme qui, etant donne un entier naturel impairbase, ache un triangle isocele d'etoiles, ayant pour base,baseetoiles. La valeur de labase sera saisie par l'utilisateur et on considerera qu'il saisit bien un nombre impair.Trois exemples d'execution sont les suivants :
Nombre d'etoiles a la base du triangle (impair) ?
5Nombre d'etoiles a la base du triangle (impair) ?
3Nombre d'etoiles a la base du triangle (impair) ?
1Exercice 4 (Equation du second degre.)
Ecrire un programme qui prend en entree les coecients d'une equation du second degre et ache les racines reelles s'il y en a.Exercice 5 (Saisie et achage d'un tableau.)
Ecrire un programme qui saisit un tableau d'entiers de taille N (constante symbolique) et qui l'ache de telle sorte que tous les entiers pairs se retrouvent 2 avant les entiers impairs. Par exemple, le programme achera pour un tableau contenant 7 4 7 8 4 6 3 9 6 ses valeurs de la maniere suivante : 4 8 4 6 6 7 7 3 9. Exercice 6 (Fonctions qui renvoient ou achent un resultat.)Ecrire un programme qui denit et utilise :
{ une fonctionfact(n)quirenvoiela factorielle du nombren. { une fonctionachefact(n)qui nerenvoierien etachela factorielle du nombren. { une fonctioncomb (int n , int p)qui renvoie le nombre de combinaisons de p elements parmi n { une fonctionestDivisible( a, b)qui renvoie 1 si a est divisible par b { une fonction estPremier(n) qui renvoie 1 si a est premier Rappels :{ factorielle(n) = n! = n (n-1) (n-2) ...1. { un nombre entier n est dit "premier" s'il n'existe aucun entier d dans l'intervalle [2,n?1] tel que n soit divisible par d. Exercice 7 (Calcul d'une integrale par la methode des trapezes) 1. Ecrire une fonctionfqui calcule l'inverse1=xde son argument. 2. Ecrire une fonctionIde trois parametresa,betnqui calcule une valeur approchee de l'integrale de la fonctionfentreaetben utilisant la methode des trapezes : I=ban f(x0)2 +f(x1)++f(xn1)+f(xn)2 avecxi=a+(ba)in 3. Ecrire un programme qui calcule les valeurs approchees deIpoura= 1 etb= 2etn= 5;10;20;50;100et compare ces valeurs avec la valeur theorique (ln2). Note : Pour obtenirlnxil faut appelerlog(x)dont le prototype se trouve dans math.h. Exercice 8 (Premier nombre premier plus grand que n). 1. Ecrire une fonctionpremierd'un parametre entier m et retournant TRUE si le nombre est premier et FALSE dans le cas contraire. 2. Ecrire une fonctionprochainpremierprenant un parametre entiernet retournant le plus petit nombre premier plus grand ou egal an. 3. Ecrire un programme qui demande un entierna l'utilisateur et ache le premier nombre premier plus grand ou egal an.Exercice 9 (Ecriture d'un entier dans une base.)
31. Soit la fonction C suivante :
intdecimale(chart[10],intn) f intexposant=0; intpuissance=1; intj; intq = n; if( n == 0 ) f t[0]='0'; return1; g else f while( puissance<= n ) f puissance = puissance10; exposant = exposant + 1; g for(j=0; jExemple d'execution :
4Entrez un entier positif : 12345
54321(c) Modiez la fonctiondecimale(t,n)pour ecrire une fonction hexadecimale(t,n). Son prototype est : int hexadecimale ( char t[], int i); Ses arguments sontt, un tableau de char de taille 10, et un entier positifn. Elle place danstles caracteres chires de son ecriture en base 16 et retourne le nombre de chires dans son ecriture en base 16.
Rappel : Les caracteres chires en base 16 sont :
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A' (10), 'B' (11), 'C' (12), 'D' (13), 'E' (14), 'F' (15).Exemple d'execution :
Entrez un entier positif : 3081
90CExercice 10 (Pi )
1. Ecrire une fonctioncons_rat(n,d)qui renvoie le rationneln=d(sous
forme d'unstruct rat).2. Ecrire une fonctionpi_rat(n)qui utilise la formule d'Euler= 4 +P1
i=18116i2)et renvoie l'approximation rationnelle depour une valeur donnee den.Exercice 11 (Mini calculette et complexes)
En langage C, les types predenis
oatetdoublepermettent de manipuler des nombres a virgule ottante en simple et double precision mais il n'y a pas de type predeni permettant de manipuler des nombres complexes. On denira un typecmplx1en utilisant une structure et deux champs de type double qui representent la partie reelle et la partie imaginaire. On ecrira des fonctionslitc(),achec(c),sommec(c1,c2) etproduitc(c1,c2) que l'on utilisera dans un programme permettant de calculer des expressions de la forme((c1op1c2)op2c3)op3c4):::opn1cn)ou les complexes sont rentres dans l'ordrec1;c2;:::et l'expression calculee dans l'ordrec1op1c2d'abord puis son resultat utilise comme argument gauche deop2et ainsi de suite. L'achage a l'execution sera par exemple : //((a op b) op c)op d ) etc ... //[Session started at 20061114 15:45:21 +0100.] //gauche ? (deux reels a et b pour le complexe a+ ib) //1 11 Il serait plus judicieux de nommer ce type cmplxt. 5 //(1.000000,1.000000) //op? (+ ouou r ( esultat ) ) //droit ? (deux reels a et b pour le complexe a+ ib) //3 3 //(intermediaire) ==>(4.000000,4.000000) //op? (+ ouou r ( esultat ) ) //droit ? (deux reels a et b pour le complexe a+ ib) //2 1 //(intermediaire) ==>(4.000000,12.000000) //op? (+ ouou r ( esultat ) ) //r //==>(4.000000,12.000000)Exercice 12 (Tri par selection)
Tous les types simples comme les entiers ou les caracteres sont munis d'un ordre total permettant de comparer deux elements. Trier un tableau d'elements d'un ensemble totalement ordonne consiste a ranger les elements du tableau de maniere croissante par rapport a cet ordre. Il y a plusieurs methodes de tri, parmi lesquels les tris par selection et les tris par insertion. Dans ces algorithmes de tri, il est exige de ne pas utiliser de tableau auxiliaire. Le tableau comportera des entiers positifs avec une valeur negative marquant la n du tableau. La methode de tri par selection \ordinaire" consiste a selectionner la position du plus petit element du tableau, a placer cet element a la premiere place par echange puis a recommencer sur le reste du tableau. Exemple : tableau :| 12 60 10 25 5 selection :| 12 60 10 25 <5> placement :5| 60 10 25 12 selection :5| 60 <10> 25 12 placement :5 10| 60 25 12 selection :5 10| 60 25 <12> placement :5 10 12| 25 60 selection :5 10 12|<25> 60 placement :5 10 12 25| 60 selection :5 10 12 25|<60> placement :5 10 12 25 60| 1. Ecrire d'abord une fonction qui recherche la position du minimum d'une portion d'un tableau (a partir d'une certain indicecourantjusqu'a un indicedernier). 2. Ecrire ensuite une fonction de tri par selection qui trie le tableau donne en parametre jusqu'a l'indicetaille-1. 3. Ecrire un programme qui lit une tailletaille, puis lestailleelements d'un tableau d'entier a trier, et enn ache le tableau trie. La taille maxi- male du tableau est xee par une constanteNMAXdans le programme. 61 Correction
Exercice 1
#includeDans un premier temps on se contente d'acher
"ache 10 fois i " en passant a la ligne a chaque fois. Dans un second temps on remplace cet achage par une boucle intmain () f inti; intcompteur; /version 1 (simple)/ for(i = 1;i<= 11;i = i + 1) f printf("ache 10 fois %dnn",i); g /version 2 (avec une double boucle)/ for(i = 1;i<= 11;i = i + 1) f for(compteur = 1;compteur<= 10;compteur = compteur + 1) f printf("%d ",i); g printf("nn"); g returnEXITSUCCESS; gExercice 2
/declaration de fonctionalites supplementaires/ #include[PDF] Tableaux et pointeurs (corrigé) 1 Tableaux
[PDF] fiche exo chap1 corrige
[PDF] Exercices d 'électromagnétisme
[PDF] limites et continuité - Philippe DEPRESLE
[PDF] trigonometrie - exercices corriges - Free
[PDF] Polycopié de cours et d exercices dirigés 1ère partie
[PDF] 1 Logique des propositions - Ensiie
[PDF] Corrigés - La Chaire EPPP
[PDF] MANAGEMENT De la QUALITE TOTAL - Jamiati
[PDF] MANAGEMENT De la QUALITE TOTAL - Jamiati
[PDF] Martingales et calcul stochastique - Cel - Hal
[PDF] fiche d 'exercices n°2 : correction - Math93
[PDF] Corrigés des exercices - Académie en ligne
[PDF] MECANIQUE DES FLUIDES Cours et exercices corrigés - UVT e-doc