Exercices (Slide 57):
Correction:
L'objectif de ces deux exercices est de maîtriser l'utilisation des instructions
itératives (les boucles) en algorithmique pour résoudre des problèmes.
Exercice 1:
L'idée est de modifier l'algorithme du Slide 47 en ajoutant des boucles afin de
pouvoir saisir les informations de plusieurs étudiants.
Donc, en principe, nous aurons besoin de deux boucles : une pour répéter
toutes les instructions de l'algorithme, et une autre pour répéter les
instructions de saisie des notes des modules. Cette dernière sera imbriquée à
l'intérieur de la première boucle.
Vous pouvez utiliser n'importe quel type de boucle, cependant, en principe, la
boucle Pour est souvent utilisée lorsque l'on connaît à l'avance le nombre
d'itérations à faire, tandis que les boucles Tant que et Répéter sont utilisées
lorsque l'on ne connaît pas le nombre d'itérations à faire.
Dans la correction fournie, seule la boucle Pour a été utilisée dans les deux
cas. Pour le nombre d'étudiants, il suffit de demander à l'utilisateur de saisir le
nombre d'étudiants auquel il souhaite saisir les informations. Pour le deuxième
cas, le nombre de modules est déjà connu (quatre modules), donc le nombre
d'itérations à faire est 4.
ALGORITHME gestion_des_notes
CONST NB_MODULE=4:ENTIER
VAR nom,prenom : CHAINE
note, moyenne,somme: REEL
nombre_etudiants:ENTIER
DEBUT
ecrire("Donner le nombre des étudiants")
lire(nombre_etudiants)
Pour i de 0 à nombre_etudiants Faire
ecrire("Informations de l'étudiant numéro : ", i+1)
ecrire("Donner le nom: ")
lire(nom)
ecrire("Donner le prenom:")
lire(prenom)
somme <-- 0
Pour j de 0 à NB_MODULE Faire
ecrire("Donner le note du module ",j+1)
lire(note)
somme <-- somme + note
Fin Pour
moyenne <-- somme / NB_MODULE
ecrire("Moyenne de l'étudiant ",nom," ",prenom," est: ",moyenne)
Si(moyenne>=10) Alors
Si (moyenne <12) Alors
ecrire("Validé avec mention Passable")
Sinon
Si (moyenne <14) Alors
ecrire("Validé avec mention Assez Bien")
Sinon
Si (moyenne <16) Alors
ecrire("Validé avec mention Bien")
Sinon
ecrire("Validé avec mention Très Bien")
Fin Si
Fin Si
Fin Si
Sinon
ecrire("Non Validé")
Fin Si
Fin Pour
FIN
Exercice 2:
L'idée de cet exercice est d'utiliser l'addition afin de calculer la multiplication
de deux nombres.
Donc, si l'on suppose que l'on veut effectuer la multiplication de deux nombres
m et n, alors, on doit effectuer l'addition de m, n fois, ou l'addition de n, m fois
(voir la figure ci-dessus).
ALGORITHME multiplication_par_addition
VAR m, n, somme:ENTIER
DEBUT
ecrire("Donner le nombre 1 ")
lire(m)
ecrire("Donner le nombre 2 ")
lire(n)
somme <-- 0
Pour i de 0 à n Faire
somme <-- somme + m
Fin Pour
ecrire(m, " * ", n, " = ", somme)
FIN
De même, dans la deuxième partie, on veut effectuer la division de deux
nombres en utilisant uniquement la soustraction.
Si l'on veut effectuer la division du nombre m par le nombre n, alors, l'idée est
de soustraire le nombre n de m plusieurs fois jusqu'à ce que le résultat de la
soustraction soit inférieur à n. Donc, le résultat de la division est le
nombre de fois que l'on a effectué la soustraction.(Pour simplifier, on va
considérer le cas de la division entière.)
ALGORITHME division_par_soustraction
VAR m, n, resultat, difference:ENTIER
DEBUT
ecrire("Donner le nombre 1 ")
lire(m)
ecrire("Donner le nombre 2 ")
lire(n)
resultat <-- 0
difference <-- m
Repeter
difference = difference - n
resultat <-- resultat +1
Jusqua(difference < n)
ecrire(m, " / ", n, " = ", resultat)
FIN