Corrigé C18. Enoncé
Exercice 1 : virgule flottante.
Dans l'algorithme qui suit, Mot désigne une variable chaîne de caractères, W et D des
variables entières. W désigne le nombre total de caractères de la constante et D le
nombre de chiffres après le point décimal.
On utilise aussi les modules Erreur et Chiffre défini comme suit :
Chiffre (C) = vrai si C est un chiffre faux sinon.
Erreur
TANTQUE C <>' '
ET C <>'$' :
Mot := Mot + C ; LIRE(C)
FINTANTQUE
C et Mot sont des variables globales pour ce module.
LIRE(C)
TANTQUE C <>' $' :
Mot := '' ; W := 0; D
:= 0
TANTQUE C= ' ' :
LIRE(C) FINTANQUE
SI C= '+' ou C= '-' :
W := 1 ; Mot := Mot + C; LIRE(C)
FSI
TANTQUE Chiffre(C) :
W := W + 1; Mot := Mot + C ; LIRE(C)
FINTANTQUE
SI C = '.' :
W := W + 1 ; Mot := Mot + C ; LIRE(C)
TANTQUE Chiffre(C) :
W := W + 1 ; D := D + 1; Mot := Mot + C; LIRE(C)
FINTANTQUE
FSI
SI C = 'E' :
W := W + 1 ; Mot := Mot + C ; LIRE(C)
SI C= '+' ou C= '-' :
W := W + 1 ; Mot := Mot + C; LIRE(C)
FSI
SI Chiffre(C) :
W := W + 1 ; Mot := Mot + C; LIRE(C)
SI Chiffre(C) :
W := W + 1 ; Mot := Mot + C; LIRE(C)
SI C = ' ' ou C = '$' :
ECRIRE ( Mot , W, D)
SINON Erreur FSI
SINON Erreur FSI
SINON Erreur FSI
SINON
SI C <> '$' : Erreur FSI
FIN
Exercice 2 : Classement
ALGORITHME Moyenne
VAR Note : TABLEAU (1..30, 1..9) DE REEL
Coef : TABLEAU(1 ..9) DE ENTIER
T, M : TABLEAU(1 ..30) DE ENTIER
Somcoef, I, J : ENTIER
S : REEL
DEBUT
LIRE(Coef)
LIRE(Note)
Somcef := 0
POUR I=1, 9
Somcoef := Somcef +
Coef(I)
FINPOUR
POUR I=1, 30
S := 0
POUR J=1, 9 :
S := S + Note(I, J) * Coef(J)
FINPOUR
T(I) := S
M(I) := S / Somcef
FINPOUR
Trier(M)
ECRIRE(M)
FIN