Vous êtes sur la page 1sur 11

Les structures itératives

1 Niveau : 3éme et bac scientifiques

Projet :
Le jeu consiste à jeter deux dés non truqués et d’afficher
suivant le résultat obtenu joueur 1 a gagné ou joueur 2 a
gagné ou pas de gagnant. (Suivant la somme)

Exemple : Si le joueur 1 a obtenu 10 et le joueur 2 a obtenu 5 : le programme affiche :

- Joueur 1 a obtenu 10 et joueur 2 a obtenu 5 donc joueur 1 gagne.

Les tâches à faire :

 Saisir un nombre x1 au hasard pour le joueur 1


 De même pour le joueur 2
 Afficher le gagnant en comparant les deux valeurs x1
et x2

Algorithme : jeu
Début
X1 aléa (1,12) TDO
X2aléa (1,12)
Si x1>x2 alors écrire ("Joueur 1 a
Objet Type
obtenu",x1,"et joueur 2 a obtenu",x2
,"donc joueur 1 gagne")
Sinon écrire (" Joueur 2 a X1,x2 Entier
obtenu",x2,"et joueur 1a obtenu",x1
,"donc joueur 2 gagne")
Fin si
Fin
Les structures itératives
2 Niveau : 3éme et bac scientifiques

Projet2 : Maintenant on veut afficher le


gagnant après n coups(jets) (avec n une
donnée)

Les tâches à faire :

 Saisir le nombre de coups à jouer n dans [5..20]


 Initialiser score1 pour joueur 1 et score 2 au joueur 2 à zéro
 Répéter n fois :
o Affecter à x1 et x2 deux valeurs au hasard entre 1 et
12
o Comparer x1 et x2
o Incrémenter soit sore1 ou score2 suivant la
comparaison de x1 et x2

 Afficher le gagnant en comparant score1 avec score2

Remarque :

La tâche : Saisir le nombre de coups à jouer n est-ce qu’il peut être négatif ?
o Bien sûr non donc : il nécessite un traitement répétitif car à chaque fois
que l’utilisateur introduit ou saisie une valeur négative il doit ressaisie
une autre valeur. (Nombre de répétition est inconnu)
Les structures itératives
3 Niveau : 3éme et bac scientifiques

o Le jet de dés doit être effectuer n fois (le nombre de répétition est
connu)

Algorithme : version2(traitement répétitifs)


Début
Répéter lire (n) jusqu’à n>1
Pour i de 1 à N faire TDO
X1 aléa (1,12)
X2aléa (1,12)
Objet Type
Si x1>x2 alors score1score1+1 fin si
Si x1>x2 alors score2score2+1 fin si
Fin pour X1,x2, Entier
Si score1>score2 alors
Ecrire ("joueur 1 a gagné avec un score= ", score1) score1,score2
Sinon si score1<score2 alors
Ecrire ("joueur 2 a gagné avec un score= ", score2)
Sinon écrire ("pas de gagnant") fin si
Fin
Les structures itératives
4 Niveau : 3éme et bac scientifiques

On désire afficher le gagnant qui dépasse le premier un score


Projet 3 donné

Les tâches à faire :

o Saisir le score à atteindre


o Tant que : un de deux joueurs n’a pas atteint le
score le jeu se poursuit le nombre de répétition
n’est pas connu)

Algorithme : version 3
// le score à atteindre ne doit pas être négatif
Répéter Lire (score) jusqu’à score>0
Score10 ; score20
TDO
Tant que (score1<score et score2<score) faire
X1 aléa (1,12)
X2aléa (1,12) Objet Type
Score1score1+1
Score2score2+2
x1,x2, Entier
Fin tant que
Si score1>score2 alors score1,score2,sc
Ecrire ("joueur 1 a gagné avec un score= ", ore
score1)
Sinon
Ecrire ("joueur 2 a gagné avec un score= ",
Fin si
Fin
Les structures itératives
5 Niveau : 3éme et bac scientifiques

Il existe deux formes de structures de contrôle répétitives:


- Structure itérative Complète (pour faire
nombre de répétition est connu))
- Structure itérative à condition d'arrêt.
(Répéter ..jusqu’à et tant que ..faire )
Remarque : On Python répéter jusqu’à n’existe pas

Choix des boucles


Nombre de répétition
est connu

Au moins répéter une


fois
Les structures itératives
6 Niveau : 3éme et bac scientifiques

La structure de Pour c de Vi à Vf [Pas = valeur_pas] Faire


contrôle Traitement
for c in range (Vi, Vf+1 [, pas]) :
itérative Traitement
Fin Pour i de type toujours entier
complète I de type scalaire entier et caractère

Tant que condition Faire


La structure de while condition :
Traitement
contrôle Traitement
Fin Tant que
itérative à
condition Elle n’existe pas
Répéter
d’arrêt X=False
Traitement While X==False
Jusqu’à condition Traitement
X=(condition )
Les fonctionnements : pour ..faire

Parcours croissant IVI

I<VF

Répéter le ou
les traitements

Fin des
répétitions I i+ pas

Exemple
Avec : S0 i 1 2 3 4
 I : nom du Pour de 1 à 5 faire
compteur S S+i
 Vi :sa valeur Fin Pour s 0 1 3 6 10
Initiale
 VF : Valeur Finale
La valeur finale de S est 10
Les structures itératives
7 Niveau : 3éme et bac scientifiques

Tant que (condition) faire

Faux Vrai

Condition de répétition ?

Traitement à répéter

Fin de répétition et
passer à fin tant que

Exemple :

S 0
1- Quand la répétition s’arrête
J1478 La répétition s’arrête quand J=0
2- Donner la valeur finale de S
Tant que ( J != 0) faire
J 1478 147 14 1 0
SS+ j mod 10
0 8 15 19 20
S
JJ div 10
La valeur finale de S est 20
Fin tant que
Les structures itératives
8 Niveau : 3éme et bac scientifiques

Exercices :

Soit l’algorithme suivant :


1- Implémenter l’algorithme en
0) Début inc Python
2- Soit a3 et b 5 donner le
1) Lire(a,b)
résultat affiché par inc
2) P1
3- Soit a2 et b 6 donner le
3) Pour i de 1 à b+1 faire résultat affiché par inc
4- Quel est le rôle de inc
P P*a
5- Modifier inc pour un b<0
6- Modifier l’algorithme quel que
Fin pour
soit le signe de b
4) Ecrire(P)
5) Fin inc

1- Implémentation en Python
Les structures itératives
9 Niveau : 3éme et bac scientifiques

i 0 1 2 3 4

p 1 3 9 27 81 243

i 0 1 2 3 4 5
p 1 2 4 8 16 32 64

4- Le rôle de l’algorithme est de calculer a à la puissance b (ab )


5-

Ab avec b<0 = 1/ab


Les structures itératives
10 Niveau : 3éme et bac scientifiques

Algorithme act2 1- Implémenter l’algorithme en python


Début 2- Soit a 15 et b 4
Répéter lire (a,b) jusqu’’à a>0 et
b>0 Donner le résultat affiché
répéter
r  a mod b 2- Soit a 15 et b  50
a b
b r Donner le résultat affiché
jusqu’à b =0
3- Remplacer la boucle répéter par la boule tant
écrire (a )
que faire
fin
4- Quel est le rôle de l’algorithme

Solution avec : répéter ..jusqu’à( sans utiliser Break qui est conseillé essayer de n’est
pas utilisé break)
Les structures itératives
11 Niveau : 3éme et bac scientifiques

a 15 4 3 1

b 4 3 1 0

r 3 1 0

Le programme affiche 1

a 15 50 15 5

b 50 15 5 0

r 15 5 0

Le programme affiche 5

Le rôle de l’algorithme : calculer le PGCD de a et b

Solution avec : tant que faire

Les exercices du projet j’ai utilisé le break dans la correction

Vous aimerez peut-être aussi