Corrigé C10. Enoncé
Exercice 1 : Variétés
a) Action Prem
ACTION Prem(Nbr, Bool)
VAR Nbr, J, N, Q :
ENTIER
Bool : BOOLEEN
DEBUT
N := Nbr Div 2
J := 2
Bool := VRAI
TANTQUE J < N ET Bool :
Q := Nbr div 2
SI J*Q = Nbr : Bool :=
FAUX SINON J := J + 1 FSI
FINTANTQUE
FIN
b) Action Carré
ACTION Carre(Nbr, Bool)
VAR Nbr, J, N : ENTIER
Bool : BOOLEEN
DEBUT
SI Nbr = 1 : Bool := VRAI
SINON
N := Nbr Div 2
J := 2
Bool := VRAI
TANTQUE J <= N ET
NON Bool :
SI J*J = Nbr :
Bool := FAUX
SINON J := J + 1 FSI
FINTANTQUE
FSI
FIN
c) Action Pair
ACTION Pair(Nbr, Estpair)
VAR Nbr, Q : ENTIER
Estpair : BOOLEEN
DEBUT
Estpair := FAUX
Q := Nbr div 2
SI Q*2 = Nbr :
Estpair := VRAI
FSI
FIN
d) Action Nbdiv
ACTION Nbdiv(Nbr, Nbdiv)
VAR N, Nbr, J, Nbdiv, Q : ENTIER
DEBUT
SI Nbr = 1 : Nbdiv := 1
SINON
N := Nbr Div 2
Nbdiv := 2
J := 2
TANTQUE J < N :
Q := Nbr DIV J
SI Q*J = Nbr :
Nbdiv := Nbdiv + 1
FSI
J := J + 1
FINTANTQUE
FSI
FIN
Algorithme répondant aux questions posées
ALGORITHME Unseul
VAR N, Nbre, I, I1, I2, Dernierimpair, Nb : ENTIER
Estpair, Exist, Oui1, Oui2, Oui3
: BOOLEEN
DEBUT
I1, I2 := 0
Oui1, Oui2, Oui3 := VRAI
LIRE(N)
POUR I=1, N :
LIRE(Nbre)
SI Oui1 :
Prem(Nbre, Bool)
SI Bool :
I1 := I1 + 1
SI I1 = 3 :
ECRIRE('3-ième nombre premier :', Nbre)
Oui1 := FAUX
FSI
FSI
FSI
SI Oui2 :
Carré(Nbre, Bool)
SI Bool :
I2 := I2 + 1
SI I2 = 2 :
ECRIRE('2-ième carré parfait', Nbre)
Oui2 := FAUX
FSI
FSI
FSI
SI Oui3 :
Pair(Nbre, Estpair)
SI Estpair :
Nbdiv(Nbre, Nb)
ECRIRE('Le premier nombre pair a : ', Nb,
'diviseurs')
Oui3 := FAUX
FSI
FSI
Pair(Nbre, Estpair)
SI NON Estpair :
Dernierimpair := Nombre
Exist := VRAI
FSI
FINPOUR
SI Exist :
Nbdiv(Dernierimpair,
Nb)
ECRIRE('Le dernier
nombre impair a ', Nb, 'diviseurs')
SINON ECRIRE (' Pas de nombre impair)
FSI
FIN
Exercice 2 : Norme euclidienne
ALGORITHME Euclide
VAR X, S, Normax : REEL
N, I, J, P : ENTIER
DEBUT
LIRE(P) ; LIRE(N)
Normax := 0
POUR I=1, P :
{ Calcul de la norme
euclidienne }
S := 0
POUR J=1, N
LIRE(X)
S := S + X*X
FINPOUR
SI S > Normax :
Rang := P
Normax := S
FSI
FINPOUR
ECRIRE(Rang, Normax)
FIN
Exercice 3 : Id ?
Trace pour X=3 ; N=4
Y(1, P) donne P := 1
W :=3
S := 1 + 3/1
Y(2, P) donne P := 2
W :=32= 9
S := 1 + 3/1 + 9/2
Y(3, P) donne P := 6
W :=33=27
S := 1 + 3/1+ 9/2 + 27/6
Y(4, P) donne P := 24
W :=34 = 81
S := 1 + 3/1+ 9/2 + 27/6+81/24
Le programme calcule la somme ( xi / i ! )