Correction des exercices
ANNEXE
318
Chapitre 6
Exercice 6.1
Il suffit d’utiliser une répétition avec compteur pour répéter 20 fois les instructions de lecture
d’une note. Dans cette boucle, une instruction de choix permet d’augmenter de un la variable
nMoy servant à comptabiliser le nombre de notes supérieures à 10.
entier i
// compteur de boucle sur les 20 notes
entier nMoy
// compteur du nombre de notes supérieures à 10
entier note
// pour lire une note
réel pourcent // pourcentage de notes supérieures à 10
nMoy := 0
écrire «donnez 20 notes entières»
répéter pour i := 1 à 20
{ lire note
// lecture d’une note
si note > 10 alors nMoy := nMoy + 1
// +1 sur compteur si > 10
}
si nMoy = 0 alors écrire «aucune note supérieure à 10»
sinon { pourcent := (100.0 * nMoy) / 20.
écrire «il y a », pourcent, «% de notes > à 10»
}
On notera que notre programme n’est pas protégé contre des notes incorrectes (négatives ou
supérieures à 20 par exemple). Pour y parvenir, on pourrait remplacer l’instruction de lecture
par une répétition conditionnelle ; la répétition pour précédente deviendrait :
répéter pour i := 1 à 20
{ répéter
{ lire note
// lecture d’une note
si note < 0 ou note > 20 alors écrire «note incorrecte - redonnez la»
}
jusqu’à note >= 0 et note <= 20
si note > 10 alors nMoy := nMoy + 1
// +1 sur compteur si > 10
}
Exercice 6.2
Il nous faut comptabiliser le nombre de valeurs positives et le nombre de valeurs négatives,
en évitant de comptabiliser cette fois le 0 de fin.
entier val
entier sommePos
// pour accumuler la somme des valeurs positives
entier sommeNeg
// pour accumuler la somme des valeurs négatives
réel moyPos
// pour la moyenne des valeurs positives
réel moyNeg
// pour la moyenne des valeurs négatives
entier nPos
// pour compter le nombre de valeurs positives
entier nNeg
// pour compter le nombre de valeurs négatives
sommePos := 0
// initialisation somme des valeurs positives
sommeNeg := 0
// initialisation somme des valeurs négatives
ANNEXE
318
Chapitre 6
Exercice 6.1
Il suffit d’utiliser une répétition avec compteur pour répéter 20 fois les instructions de lecture
d’une note. Dans cette boucle, une instruction de choix permet d’augmenter de un la variable
nMoy servant à comptabiliser le nombre de notes supérieures à 10.
entier i
// compteur de boucle sur les 20 notes
entier nMoy
// compteur du nombre de notes supérieures à 10
entier note
// pour lire une note
réel pourcent // pourcentage de notes supérieures à 10
nMoy := 0
écrire «donnez 20 notes entières»
répéter pour i := 1 à 20
{ lire note
// lecture d’une note
si note > 10 alors nMoy := nMoy + 1
// +1 sur compteur si > 10
}
si nMoy = 0 alors écrire «aucune note supérieure à 10»
sinon { pourcent := (100.0 * nMoy) / 20.
écrire «il y a », pourcent, «% de notes > à 10»
}
On notera que notre programme n’est pas protégé contre des notes incorrectes (négatives ou
supérieures à 20 par exemple). Pour y parvenir, on pourrait remplacer l’instruction de lecture
par une répétition conditionnelle ; la répétition pour précédente deviendrait :
répéter pour i := 1 à 20
{ répéter
{ lire note
// lecture d’une note
si note < 0 ou note > 20 alors écrire «note incorrecte - redonnez la»
}
jusqu’à note >= 0 et note <= 20
si note > 10 alors nMoy := nMoy + 1
// +1 sur compteur si > 10
}
Exercice 6.2
Il nous faut comptabiliser le nombre de valeurs positives et le nombre de valeurs négatives,
en évitant de comptabiliser cette fois le 0 de fin.
entier val
entier sommePos
// pour accumuler la somme des valeurs positives
entier sommeNeg
// pour accumuler la somme des valeurs négatives
réel moyPos
// pour la moyenne des valeurs positives
réel moyNeg
// pour la moyenne des valeurs négatives
entier nPos
// pour compter le nombre de valeurs positives
entier nNeg
// pour compter le nombre de valeurs négatives
sommePos := 0
// initialisation somme des valeurs positives
sommeNeg := 0
// initialisation somme des valeurs négatives
