Vous êtes sur la page 1sur 4

L2 mention Sciences du Vivant Universit e Louis Pasteur

Programmation 3 2007/08

TP 3 : It erativit e
Exercice 2 Ecrire un programme qui dessine une ` eche pleine de hauteur h de la forme suivante. * ** *** **** ***** Corrig e
#include <stdio.h> int main() { int h=10; int c,l; for(l=1;l<=h;l++) { for(c=1;c<=l;c++) printf("*"); printf("\n"); } return 0; }

Exercice 3 Ecrire un programme qui dessine une ` eche vide de hauteur h de la forme suivante. * ** * * * * ***** Corrig e
#include <stdio.h> int main() { int h=10;

int c,l; for(l=1;l<=h;l++) { for(c=1; c<=l; c++) if ((c==1)||(c==l)||(l==h)) printf("*"); else printf(" "); printf("\n"); } return 0; }

Exercice 4 Ecrire un programme qui dessine une ` eche pleine de hauteur h de la forme suivante. * *** ***** ******* ********* Corrig e
#include <stdio.h> int main() { int h=5; int c,l; for(l=1;l<=h;l++) { for(c=1;c<=h-l;c++) printf(" "); for(c=h-l+1;c<=h+l-1;c++) printf("*"); printf("\n"); } return 0; }

Exercice 5 Ecrire un programme qui dessine une ` eche vide de hauteur h de la forme suivante. * * * * * * * ********* Corrig e

#include <stdio.h> int main() { int h=5; int c,l; for(c=1;c<=h-1;c++) printf(" "); printf("*\n"); for(l=2;l<=h-1;l++) { for(c=1; c<=h-l; c++) printf(" "); printf("*"); for(c=h-l+2;c<=h+l-2;c++) printf(" "); printf("*\n"); } for(c=1;c<=2*l-1;c++) printf("*"); printf("\n"); return 0; }

Exercice 6 Ecrire le programme du jeu suivant. Lordinateur choisit un nombre (utiliser la fonction rand() de stdlib.h entre 0 et 100 quil garde secret. Lutilisateur entre alors des nombres jusqu` a ce quil devine celui choisi par lordinateur. Lordinateur guide lutilisateur en achant trop petit ou trop grand . Question subsidiaire : Comment lutilisateur peut-il trouver un nombre le plus rapidement possible ? Corrig e
#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int n; int e; srand(time(NULL)); n=(rand()%101); e=n-1; while(n!=e) { printf("essai : "); scanf("%d",&e); if (e<n) printf("trop petit\n"); else if (e>n) printf("trop grand\n"); else

printf("trouve\n"); } printf("resultat = %d\n",n); return 0; }

Exercice 7

Soit la suite convergente suivante(Rn )n0 : R0 = N R+ , n) Rn+1 = Rn +(N/R . 2

Programmer cette suite et v erier exp erimentalement quelle converge vers la limite conjectur ee. Corrig e
#include <stdio.h> int main() { float n; int i; float r; for(n=1.0;n<=20.0;n++) { r=n; for(i=0;i<=100; i++) { r=(r+(n/r))/2.0; } printf("%f\t%f\n",n,r); } return 0; }