[PDF] TD 8 : Les boucles en langage C.





Previous PDF Next PDF



TD 8 : Les boucles en langage C.

Exercice 1. a) Écrire un programme en C qui fait la somme des 10 premiers nombres entiers ... c) Rapeller brivement les diffrents types de boucle ...



Chapitre 5 - Structure de boucle : while / dowhile

Dans cette seconde partie consacrée aux structures itératives nous aborderons les deux autres formes qu'offre le langage. C : les boucles pour lesquelles 



Langage C : énoncé et corrigé des exercices IUP GéniE

Langage C : énoncé et corrigé des exercices. Exercice 10 Ecrire un progra mm e se co m portant co mm e une ca l cu l atrice c 'est- à -dire exécutant.



Corrigé des exercices simples sur les boucles

Corrigé des exercices simples sur les boucles. Exercice 3.1.1 déroulement d'une est bien un chiffre (c'est à dire un nombre compris entre 1 et 9).



COURS et TP DE LANGAGE C++

Générer la temporisation à l'aide d'une boucle for et d'un décompteur. CORRIGE DES EXERCICES. Exercice III-1: #include <iostream.h>. # 



ALGORITHME SECONDE Exercice 5.1 Ecrire un algorithme qui

C'était le nombre numéro 2 corrigé - retour au cours. Exercice 5.9. Réécrire l'algorithme précédent mais cette fois-ci on ne connaît pas d'avance combien.



Exercices corrigés

9. Utilisez l'instruction continue pour modifier une boucle for d'affichage de tous en- tiers de 1 à 10 compris sauf lorsque la variable 



Exercices avec Solutions

On peut optimiser la solution en choisissant la boucle ayant le moins d'itérations : Exercices Corrigés d'Algorithmique – 1ére Année MI 9. Ecrire(X) ;.



Structure de boucle : for

Introduction `a l'informatique et au langage C. – du fait de sa construction une boucle for peut éventuellement n'être jamais 1 exécutée (si la condition 





TD 8 : Les boucles en langage C - Université Sorbonne Paris

Exercice 1 (Un peu d’chau ement) a) Ecrire un programme en C qui fait la somme des 10 premiers nombres entiers positifs b)M^eme questionpourcalculerlamoyennedeN nombresrelsentr es parl’utilisateur N tant lui aussi fournit par l’utilisateur c) Rapeller brivement les di rents types de boucle leur mode d’utilisation et leur di rence



Structure de boucle : while / do

Chapitre 5 Structure de boucle : while / do while Dans cette seconde partie consacree aux structures iterativ es nous aborderons les deux autres formes qu'o re le langage C : les boucles pour lesquelles le nombre d'iterations est inconnua l'avance ( a l'entree dans la boucle)



Programmation en C – Exercices - univ-perpfr

Programmation en C – Exercices 1 1 2 Méthode 1 : génération directe de l’exécutable Le cas simple du code contenu dans un ?chier unique permet d’utiliser une seule commande à cet effet La version la plus courte est $ gcc bonjourlemonde c A partir du ?chier source bonjourlemonde c le compilateur gccgénère un exécutable

Comment utiliser le langage C dans une boucle ?

Le langage C autorise également l’emploi de cette instruction dans une boucle. Dans ce cas, elle sert à interrompre le déroulement de la boucle, en passant à l’instruction qui suit cette boucle.

Quelle est la condition d’arrêt de la boucle ?

Mais, cette fois, la condition d’arrêt de la boucle est : feof (entree) Celle-ci prend la valeur vrai (c’est-à-dire 1) lorsque la fin du fichier a été rencontrée. Notez bien qu’il n’est pas suffisant d’avoir lu le dernier octet du fichier pour que cette condition prenne la valeur vrai.

Comment savoir si une boucle est fausse ?

En effet, la condition qui régit cette boucle n’est examinée qu’à la fin de chaque répétition (comme le suggère d’ailleurs le fait que la « partie while » figure en fin). Notez bien que la sortie de boucle ne se fait qu’après un parcours complet de ses instructions et non dès que la condition mentionnée devient fausse.

Comment se déroule une boucle ?

La première est évaluée (une seule fois) avant d’entrer dans la boucle. La deuxième conditionne la poursuite de la boucle. Elle est évaluée avant chaque parcours. La troisième, enfin, est évaluée à la fin de chaque parcours.

UniversiteParis-NordD.E.U.G.MIAS1

InstitutGalileeAnnee2002-2003

TD8:LesbouclesenlangageC.

Quelquesbonneshabitudesaprendre(djuneboucle!).

Avantchaqueecrituredeprogrammeilfautsuccessivement: (a)Speciferleproblemearesoudre. (b)Ecrireunalgorithme. (c)Ecrireleprogrammeassocie. (d)Simulerl'executionduprogrammeavecdesvaleursassezvariees. (e)S'ilyadeserreursrevenira(a).

Exercice1.(Unpeud'chauement)

a) EcrireunprogrammeenCquifaitlasommedes10premiersnombresentiers positifs. b)M^emequestionpourcalculerlamoyennedeNnombresrelsentresparl'utilisateur,

Ntantluiaussifournitparl'utilisateur.

c)Rapellerbrivementlesdirentstypesdeboucle,leurmoded'utilisationetleur dirence.Donnezdesrponsesdirentesauxquestionsa),b)etc)aveclesautres typesdeboucles. #include main(){ inti,nombre; floatsomme,tas,moyenne; /*tas:nombrerelcourant*/ /*Nombrederelsajouter:nombre*/ printf("Combienyat-ildenombresrelsconsidrer?\n"); scanf("%d",&nombre); printf("Vousavezdonn%dnombres\n",nombre); /*Calculdeleursomme*/ somme=0; for(i=1;i<=nombre;i=i+1) printf("Donnezlenombre%d:\n",i); scanf("%f",&tas); somme=somme+tas; /*Calculdeleurmoyenne*/ moyenne=somme/nombre; printf("Lamoyennedeces%dnombresest:%f\n",nombre,moyenne); 1

Exercice2.(Tablesdemultiplication)

1)EcrireunprogrammeCquiacheles9tablesdemultiplicationpourlesentiers

de19.Chaquetablecomporte9lments,souslaformesuivante:

123456789

2468....

9182736...

2)EcrireunprogrammeCquiachemtablesdemultiplicationpourlesentiers

de1mavecnlmentsdanschaquetable.Ondemanderam20(Utilisezundo while). #include intmain(){ inti,j,n,m; printf("Lenombredestables:\n"); scanf("%d",&n); /*Donnerlabonnevaleurdem.*/ do{ printf("Lenombredevaleursinferieurouegala20:\n"); scanf("%d",&m); while(m>20); /*Impressionsdestables*/ printf("-------------------\n"); for(i=1;i<=n;i++){ for(j=1;j<=m;j++){ printf("%d\t",i*j); /*Lesymbol\tsertafairedesespacesblancs*/ printf("\n"); printf("-------------------\n"); return(1);

Exercice3.(Labanque)

LabanqueXnousaccordeunpr^etsilasommedevosintr^etsdpasse1000euros.

L'intr^etestde3:5%paran.

Voiciunexemplepourvousguiderdansvosaairesnancires:

Sommeinitialeplace:2000euros

1-ireanne:intret=(2000x3.5)/100=70

2-imeanne:intret=(2070x3.5)/100=72.45

Onarretequand:intret>1000euros.

Ensuivantl'exempleprcdentcrireunalgorithmepuisunprogrammeCquilitla sommed'argentplaceinitialement,puisdterminerlenombred'annesncessaires pourbncierd'unpr^et. 2

Solution

#include intmain(){ intannee; floatsomme,interet; interet=0.;annee=0; printf("Sommeinitiale:\n"); scanf("%f",&somme); printf("-----------------------------\n"); printf("Sommeinitiale=%f\n",somme); //printf("Annee\tInteret\tSomme\n"); printf("-----------------------------\n"); while(interet<1000){ annee=annee+1; interet=somme*(.035); somme=somme+interet; printf("Annee=%d\tinteret=%f\tsomme=%f\n",annee,interet,somme); printf("-----------------------------\n"); return(1);

Exercice4.(Undr^oledefermier)

Unfermierfaitl'levagedemontonsetdedindonset,aumomentdepayersesimp^ots, ildclarecurieusement:j'aidansmonlevage36t^eteset100pattes! Trouvezunalgorithmepourdterminerlenombredemoutonsetdedindons,puis letraduireenCselonleschmasuivant(M:moutons,D:dindons,p:pattes)

SiM=36alorsD=0doncp=36x4=144impossible

SiM=35alorsD=1doncp=35x4+1x2=142impossible

SiM=34alorsD=2doncp=34x4+2x2=140impossible

jusqu'ceque...........p=100.

Solution

#include intmain(){ intM,p,solution; M=36; p=2*M+72; solution=1; /*Solution=1sicePb.aunesolutionet0sinon*/ /*M=nbdeMontons;p=Nbdepattes. /*DeplusNbdedindonsDverifie:D=36-M*/ /*Doncp=4*M+2*D=4*M+2*(36-M)=2*M+72*/ while(p!=100&&M>1){

M=M-1;p=2*M+72;

3 if(M==1&&p!=100)solution=0; if(solution==1){ printf("---------Solution:--------\n"); printf("Nb.deMoutons:%d\tNb.deDindons:%d\n",M,36-M); printf("-------------------\n"); elseprintf("-----CePb.n'apasdesolution!-----\n"); return(1);

Exercice5.(Puissancesde2)

Enutilisantlespuissancesde2successives,crireunprogrammeCquicalculele plusgrandnombrepositifpossible,gnrparletypeint. #include main() intj,z,i,k; i=2;/*irepresentelapuissancede2*/ k=0; z=0; while(i>0){ j=i; i=2*i; k=k+1; /*Lavaleurdeidevientngative(dpassementdecapacit).*/ /*jsauvegardelavaleurprecedentedei*/ /*kestuncompteurquisertmmoriserlapuissancede2.*/ z=j-1; z=z+j; /*t=z+1;*/ /*Remarquezqu'onnepeutpasfairedirectementz=2*j-1*/ /*acausedudepassementdecapacite.*/ printf("\n\nNotonsPOWER,la+grandepuissancede2enint\n"); printf("BIG,le+grandnombrepositifpossible,onobtient:\n\n"); printf("Power2=%d=2puissance%d\n",j,k); printf("2foisPower2=%d.\n\n",i); printf("BIG=%d\n",z); printf("MaisBIG+1=%d\n",z+1); printf("BIG=(2puissance%d)-1.\n\n",k+1);

Exercice6.(Nombrespremiers)

EcrireunprogrammeCquitestesiunnombreestpremieroupas,puisunpro- grammeCquitestetouslesnombresentre1etN,Ntantxparl'utilisateur.On simuleral'algorithmepourN=10. N.B:Unnombrepremierestunnombrequin'estdivisibleuniquementpar1et parluim^eme(1estconsidrcommepremier). 4 /*Question1:*/ /*ProgrammeCquitestesiNestpremier,*/ /*sinon,ildonnetoussesdiviseurs*/ #include intmain(){ inti,N,premier; premier=1; do{ printf("Donnezunnombreentierpositif:\n"); scanf("%d",&N); while(N<=0); if(N==2)premier=1; if(N%2==0&&N>2){ premier=0; printf("%destpair\n",N); /*Recherchedediviseursimpairs>=3*/ if(N>2){ for(i=3;iVoiciunexemplerealiseavecceprogramme:

Donnezunnombreentierpositif:

54879111

3divise54879111

7divise54879111

9divise54879111

17divise54879111

21divise54879111

51divise54879111

63divise54879111

119divise54879111

153divise54879111

357divise54879111

1071divise54879111

51241divise54879111

153723divise54879111

358687divise54879111

461169divise54879111

5

871097divise54879111

1076061divise54879111

2613291divise54879111

3228183divise54879111

6097679divise54879111

7839873divise54879111

18293037divise54879111

Donc54879111n'estpaspremier

/*Question2:*/ /*ProgrammeCquilitN>=4,etdonne*/ /*lalistedetouslespremiers intmain(){ inti,N,nb,premier; /*nb:nombrecourant*/ /*premier=1sinbestpremieretOsinon*/ do{ printf("Donnezunnombreentierpositif:\n"); scanf("%d",&N); while(N<=0); printf("\nListedesnombrespremiersimpairs<%d:\n",N); /*OnsupposeN>=4*/ for(nb=3;nbExercice7.(Anepasfaire,saufsionveutre echirunpeu) Onsupposequ'onutiliselaboucleforquelorsquel'onconnaitlesbornes.Pensez- vousquel'onpeuttoujourschangerunebouclewhileparunebouclefor Indication:essayeravecl'algorithmesuivant(etleprogrammeCassoci):(x entier1)

Six=1alorsstop

Sinon

Tantque(x>1)Faire

sixpairalorsx<---x/2 siximpairalorsx<---3x+1 6

FinTantque

FinSinon

SolutionEnessayantquelquesexemples,2x16,ons'aperoitrapidement quelenombred'itrationsesttrsalatoire.Ilfautsemerdesapparences,malgr l'tonnantesimplicitdecetalgorithme...onnesaitpas,maconnaissance(non actualiseilestvrai)sicetalgorithmesetermine!UnequipeStanfordamontrque cetalgorithmeseterminepourx10200maispourlesautres?Onneconnaitdonc paslenombred'iterationsdelaboucleenfonctiondex,doncpaslacomplexit.A fortiori,onnepeutpasutiliseruneboucleforclassiqueavecdesbornesconnues l'avance. 7quotesdbs_dbs9.pdfusesText_15
[PDF] espace géographique

[PDF] comprendre les femmes et leur psychologie profonde pdf gratuit

[PDF] comprendre les femmes et leur psychologie profonde pdf

[PDF] la psychologie de lhomme pdf

[PDF] psychologie féminine en amour pdf

[PDF] mémoire égalité professionnelle homme femme

[PDF] égalité professionnelle hommes femmes

[PDF] les femmes dans les postes ? responsabilités

[PDF] statistique canada salaire homme femme 2016

[PDF] jeu des différences maternelle ? imprimer

[PDF] trouver les différences ? imprimer

[PDF] jeu des différences cp

[PDF] jeux patro 9-12 ans

[PDF] jeu des 7 erreurs ? imprimer noir et blanc

[PDF] jeux des 12 erreurs gratuit imprimer