Vous êtes sur la page 1sur 14

Correction du reste des

exercices

Chapitre 3 Structures de
contrle itratives
Sance 4

Si vous ne dites rien, on ne vous


demandera pas de le rpter.
[Calvin Coolidge]
2

Plan
I.

II.

III.

Structure de contrle itrative


complte
Structures de contrle itratives
condition darrt
Applications

III. Applications
1.
2.
3.

Application 1
Application 2
Application 3

1. Application 1 (Exercice 8 de
la srie 1)

crire lanalyse, lalgorithme et le programme qui


permet de calculer le plus grand commun diviseur
PGCD de deux entiers
La liste des diviseurs de

24 est : 1; 2; 3; 4; 6; 8; 12; 24
36 est: 1; 2; 3; 4; 6; 12; 18; 36
36 et 24 ont pour diviseurs communs: 1; 2; 3; 4; 6 et 12

Le plus grand diviseur commun de 36 et 24 est 12.


On le dsigne

PGCD (36;24) = PGCD (24;36) = 12

Analyse

Mthode de la division, dite de


l'algorithme d'Euclide

58 >29

203 >58

261 >203

Diviser le plus grand entier sur le 2ime


Compare le reste et le diviseur
Diviser le plus grand sur le plus petit
Exemple : PGCD(261;203)

PGCD

261 203

203 58

58

29
29

58

29

On s'arrte quand le reste est nul; le PGCD est


le dernier reste non nul.

PGCD(261;203) = 29

Lanalyse
3 Rsultat =Ecrire(PGCD(,m, , , n, ) =pgcd)
2 pgcd[pgcdm]=
Si (m=0) alors
pgcdn
FIN Si
m,n = [ m=Donne (m=) , n=Donne (n=) ]
1 Tant que (m*n <> 0) faire
Si (m>n) alors
mm MOD n
sinon
nn MOD m
FIN Si
Fin Tant que
4 Fin CalculPGCD
7

Lalgorithme
0) Dbut CalculPGCD
1)
Ecrire (m=)
2)
Lire (m)
3)
Ecrire (n=)
4)
Lire (n)
5)
Tant que (m*n <> 0) faire
Si (m>n) alors
TDO
mm MOD n
sinon
NOM
TYPE
nn MOD m
n
Entier
FIN Si
m
Entier
Fin Tant que
6)
pgcdm]=
pgcd
Entier
7)
Si (m=0) alors
pgcdn
FIN Si
8)
Ecrire(PGCD(,m, , , n, ) =pgcd)
9) Fin CalculPGCD

2. Application 2 (Exercice 2 de
la srie de rvision)

Soit le jeu suivant :

Trouver un nombre cach entre 0 et 100


On cherche dcouvrir un nombre cach,
chaque proposition on indique si le nombre
recherch est plus grand ou plus petit que celui
que lon vient de proposer
On veut savoir en combien de coup le joueur a
trouv le nombre
Le joueur perd sil na pas trouv en au maximum
7 propositions
9

Lanalyse
3

1
4

Rsultat = decision
Decision[]=Si (x=n) alors
Ecrire(Vous avez GAGNE en ,coup, essai(s))
Sinon
Ecrire(Vous avez PERDU. Lentier trouver est = , n)
FIN Si
coup,x=[coup0]
Rpter
Si coup=6 alors
Ecrire(Attention! Il ne vous reste plus qu un essai)
FinSi
Ecrire (Donner lentier trouver)
Lire (x)
Si x>n alors
Ecrire(Lentier saisi est > lentier quon veut trouver)
Sinon
Si x<n alors
Ecrire(Lentier saisi est < lentier quon veut trouver)
FinSi
FinSi
coupcoup+1
Jusqu (x=n) OU (coup>=7)
nalea (101)
Fin jeu

10

10

Lalgorithme
0) Dbut jeu
1)
nalea(101)
TDO
2)
coup0
Nom
Type
3)
Rpter
n
Entier
Si coup=6 alors
Entier
Ecrire(Attention! Il ne vous reste plus qu un essai) x
FinSi
coup
Entier
Ecrire (Donner lentier trouver)
Lire (x)
Si x>n alors
Ecrire(Lentier saisi est > lentier quon veut trouver)
Sinon
Si x<n alors
Ecrire(Lentier saisi est < lentier quon veut trouver)
FinSi
FinSi
coupcoup+1
Jusqu (x=n) OU (coup=7)
4)
Si (x=n) alors
Ecrire(Vous avez GAGNE en ,coup, essai(s))
Sinon
Ecrire(Vous avez PERDU. Lentier trouver est = , n)
FIN Si
11
11
5)Fin jeu

3. Application 3 (Exercice 3 de
la srie de rvision)

Soit 20 nombres entiers entre 100 et


200 crs au hasard par lordinateur.
On vous demande dcrire lanalyse,
lalgorithme et le programme
permettant de :

Afficher ces nombres lcran


Calculer et afficher la somme et la
moyenne arithmtique des nombres pairs.
12

Lanalyse
4
5
3
2

Rsultat = Ecrire (La somme= ,somme)


Ecrire (La moyenne arithmtique= ,moyenne)
moyenne= [] moyennesomme/20
somme=[somme0,k0]
Pour i de 1 20 faire
Ecrire(T[,i,]= ,T[i])
Si T[i] MOD 2 =0 alors
sommesomme+T[i]
kk+1
Fin Si
1 Fin Pour
T=[]
Pour i de 1 20 faire
Rpter
T[i]Alea(201)
jusqu T[i] dans [100,200]
5 Fin Pour
Fin Exercice 2

13

13

TDNT

Lalgorithme

TYPE
Tableau=Tableau de 20 entier

0) Dbut exercice3
TDO
1)
Pour i de 1 20 faire
Rpter
Nom
Type
T[i]Alea(201)
Entier
jusqu T[i] dans [100,200] i
Fin Pour
Somme
Entier
2)
somme0
moyenne
Rel
3)
k0
T
Tableau
4)
Pour i de 1 20 faire
Ecrire(T[,i,]= ,T[i])
k
Entier
Si T[i] MOD 2 =0 alors
sommesomme+T[i]
kk+1
Fin Si
Fin Pour
5)
moyennesomme/k
6)
Ecrire (La somme= ,somme)
7)
Ecrire (La moyenne arithmtique= ,moyenne)
8)Fin exercice3

14

Vous aimerez peut-être aussi