Corrigé C17. Enoncé
Partie A
A.1 Nombre de Mots commençant par 'm' et se terminant par's' :
ALGORITHME Ms
VAR Compt : ENTIER
C, Sauv : CAR
DEBUT
TANTQUE C # '.' :
TANTQUE C = ' ' : LIRE(C) FINTANTQUE
SI C = 'M' :
TANTQUE C # ' ' ET C # '.' :
Sauv := C
LIRE(C)
FINTANTQUE
SI Sauv = 's' : Compt := Compt + 1 FSI
SINON
TANTQUE C # ' ' ET C # '.' :
LIRE(C)
FINTANTQUE
FSI
FINTANTQUE
ECRIRE(compt)
FIN
A.2 : Longueur, nombre de voyelles et dernier caractère de chaque
Mot :
ALGORITHME Divers
VAR Longueur, Nbre : ENTIER
Mot,dernier , C : CAR
DEBUT
TANTQUE C # '.' :
TANTQUE C = ' ' :
LIRE(C) FINTANTQUE
Dernier := ' '
M :='' ; Longueur := 0
; Nbre := 0
TANTQUE C # ' ' ET C #
'.' :
M := M + C
Longueur := Longueur + 1
SI Voyelle (C) : Nbre := Nbre + 1 FSI
Dernier := C
LIRE(C)
FINTANTQUE
SI Dernier # ' ' { le
mot existe}
ECRIRE(Mot, Longueur, Nbre, Dernier)
FSI
FINTANTQUE
ECRIRE(compt)
FIN
Le prédicat Voyelle( C ) est vrai si C est une voyelle, faux sinon.
Partie B
B.1 Recherche du premier nombre dont le carré est égal à la somme des 3 précédents :
ALGORITHME Carré
VAR A, B, C, D, I, N :
ENTIER
Trouv
: BOOLEEN
DEBUT
LIR(N)
LIRE(A, B, C)
Trouv := FAUX ; I := 3
TANTQUE I < N ET NON Trouv :
LIRE(D)
SI D2 = A + B +C:
Trouv := VRAI
SINON
A := B
B :=
C
C :=
D
FSI
FINTANTQUE
SI Trouv : ECRIRE(C) SINON ECRIRE( 'Inexistant'
) FSI
FIN
B.2 Calcul de la somme (-1)i . xi / i
ALGORITHME Suite
VAR I, Signe : ENTIER
X, S : REEL
DEBUT
LIRE(N)
LIRE(X)
Signe := 1
S := 0
I := 0
POUR I = 1, N
S := S + ( X**I / I) *
Signe
Signe := - Signe
FINPOUR
ECRIRE(S)
FIN