Corrigé C5. Enoncé
1. Aspect algorithmique
a) Recherche du minimum et du maximum
On suppose k>0
ALGORITHME MinMax
VAR Min, Max, K, I : ENTIER
DEBUT
LIRE(K)
LIRE(Nombre)
Min, Max := Nombre
POUR I=2, K :
LIRE(Nombre)
SI Nombre > Max :
Max := Nombre FSI
SI Nombre < Min :
Min := Nombre FSI
FINPOUR
ECRIRE(Min, Max)
FIN
b) Recherche du premier nombre dont le carré est égal à la somme
des 2 précédents
ALGORITHME Carré
VAR A, B, C, I, N : ENTIER
TROUV : BOOLEEN
DEBUT
LIRE(N)
LIRE(A, B)
TROUV := FAUX ; I := 2
TANTQUE I < N ET NON TROUV :
LIRE(C)
SI C2 = A + B :
TROUV := VRAI
SINON
A := B
B := C
FSI
FINTANTQUE
SI Trouv : ECRIRE(C) SINON ECRIRE( ' Inexistant
' ) FSI
FIN
c) Nombre de sous-suites croissantes
ALGORITHME Nombre
VAR N, Prec, Nbre, Nb, I: ENTIER
DEBUT
Nb := 1
LIRE(N) ; LIRE(Prec)
POUR I=2, N
LIRE(Nbre)
SI Prec > Nbre :
Nb := Nb + 1
FSI
Prec := Nbre
FINPOUR
ECRIRE( Nbre )
FIN
2. Aspect programmation
a) Traduction de c)
PROGRAM Nombre;
VAR N, Prec, Nbre, Nb, I : INTEGER ;
BEGIN
NB := 1;
READ(N) ; READ(Prec) ;
FOR I:=2 TO N DO
BEGIN
READ(Nbre) ;
IF Prec > Nbre THEN Nb := Nb + 1 ;
Prec := Nbre
END;
WRITE( Nb )
END.
b) Dessin demandé
Se référer au programme P1.