5
Enseignement spécifique ● Pratiquer l'algorithmique
© Nathan 2012 – Transmath Term. S
19 1. Avec AlgoBox :
1 VARIABLES
2 u EST_DU_TYPE NOMBRE
3 v EST_DU_TYPE NOMBRE
4 a EST_DU_TYPE NOMBRE
5 b EST_DU_TYPE NOMBRE
6 p EST_DU_TYPE NOMBRE
7 DEBUT_ALGORITHME
8 u PREND_LA_VALEUR 2
9 v PREND_LA_VALEUR 1
10 LIRE p
11 TANT_QUE (u-v>p) FAIRE
12 DEBUT_TANT_QUE
13 a PREND_LA_VALEUR (u+v)/2
14 b PREND_LA_VALEUR 4/(u+v)
15 u PREND_LA_VALEUR a
16 v PREND_LA_VALEUR b
17 FIN_TANT_QUE
18 AFFICHER v
19 AFFICHER u
20 FIN_ALGORITHME
2. On modifie les lignes suivantes :
8 u PREND_LA_VALEUR 5
14 b PREND_LA_VALEUR 10/(u+v)
20 1. Selon les habitudes de programmation, les répon ses
peuvent être variées.
Voici un algorithme utilisant les opérateurs de base :
Variables
a, b et c sont de type numérique
Entrée
Lire a et b
Tant que a>0
R prend la valeur a
a prend la valeur a-b
Fin de boucle
Sortie
Afficher R
2. La structure « jusqu’à » n’existe pas pour tous les langages
de programmation. On utilise alors une structure « tant que »
en s’assurant que les instructions de la boucle seront exécu-
tées au moins une fois. Exemple avec AlgoBox :
3. PGCD(660 ; 1 050) = 30 et PGCD(4 410 ; 2 100) = 210.
31 GT PREND_LA_VALEUR GT+1
32 FIN_SI
33 D PREND_LA_VALEUR ALGOBOX_ALEA_
ENT(1,6)
34 FIN_TANT_QUE
35 FIN_TANT_QUE
36 AFFICHER « Nombre de parties gagnées
par le lièvre : »
37 AFFICHER GL
38 AFFICHER « Nombre de parties gagnées
par la tortue : »
39 AFFICHER GT
40 FIN_ALGORITHME
3.
1 VARIABLES
2 T EST_DU_TYPE NOMBRE
3 L EST_DU_TYPE NOMBRE
4 D EST_DU_TYPE NOMBRE
5 GL EST_DU_TYPE NOMBRE
6 GT EST_DU_TYPE NOMBRE
7 gagnant EST_DU_TYPE CHAINE
8 DEBUT_ALGORITHME
9 //
La tortue et le lièvre sont derrière
la ligne de départ.
10 T PREND_LA_VALEUR 0
11 D PREND_LA_VALEUR 0
12 TANT_QUE (T<7 ET L!=7) FAIRE
13 DEBUT_TANT_QUE
14 //
On lance un dé tant qu’il n’y a
pas de vainqueur.
15 D PREND_LA_VALEUR ALGOBOX_ALEA ENT(1,6)
16 AFFICHER D
17 //
Si le dé indique 6 alors le
lièvre arrive directement sur la
case arrivée et gagne la partie.
18 SI (D==6) ALORS
19 DEBUT_SI
20 L PREND_LA_VALEUR 7
21 gagnant PREND_LA_VALEUR «le lièvre.»
22 FIN_SI
23 SINON
24 DEBUT_SINON
25
//Sinon la tortue avance du
nombre de cases indiquées par le
dé.
26 T PREND_LA_VALEUR T+D
27 FIN_SINON
28 SI (T>=7) ALORS
29 DEBUT_SI
30
//Si la tortue franchit la ligne
d’arrivée alors elle gagne la
partie.
31 gagnant PREND_LA_VALEUR «la tortue.»
32 FIN_SI
33 FIN_TANT_QUE
34 AFFICHER «Le gagnant est : »
35 AFFICHER gagnant
36 FIN_ALGORITHME
4. La tortue semble avantagée. En modifiant le programme,
on peut conjecturer que pour 10 ou 11 cases, le jeu est plus
équitable.