Corrigé C7. Enoncé
Exercice 1 : Carré parfait
Un nombre A et dit carré parfait s'il existe un entier B tel que B2 = A. Nous devons donc
donner à une variable i successivement les valeurs 0, 1, . A/2 et s'arrêter jusqu'à
l'obtention de i2 = A auquel cas A est carré parfait ou i2 > A auquel cas A ne l'est
pas.
ALGORITHME Carré_parfait
VAR A, I : ENTIER
Carré : BOOLEEN
DEBUT
I := - 1
LIRE(A)
Carré := Faux
TANTQUE I < (A Div 2) ET NON Carré :
I := I + 1
SI I2 = A : Carré :=
VRAI FSI
FINTANTQUE
ECRIRE ( Carré )
FIN
Exercice 2 : Couples( a, b) tels que A = 3B
Une façon d'obtenir tous les couples est d'utiliser deux boucles imbriqués.
ALGORITHME Couples
VAR I, J : ENTIER
DEBUT
POUR I=1, 100 :
POUR J=1, 100
SI I= 3*J :
ECRIRE(I, J)
FSI
FINPOUR
FINPOUR
FIN
Cette solution est loin d'être efficace. SI l'on veut avoir un algorithme meilleur, il
suffit de remarquer que 1 <= i <= 99 , 1 <= j <= 33 et i = 3*j. Et de ce fait,
on utilisera une seule boucle o� le critère d'arrêt est soit i<99 ou j<99.
ALGORITHME Couples
VAR I, J : ENTIER
DEBUT
POUR J=1, 33 : ECRIRE(3*J, J) FINPOUR
FIN
Exercice 3 : Calcul de la somme
Il suffit de remarquer que :
Si = Si-1 + (4*i + 1)
ALGORITHME Somme
VAR I, Som, N : ENTIER
DEBUT
LIRE(N)
Som := 0
POUR I=0, N :
Som :=Som + 4*I + 1
FINPOUR
ECRIRE(Som)
FIN
Exercice 4 : Fibo ?
a) Trace
Fib0
0
Fib1
1
Trouv
FAUX, VRAI
I 2,
3
N 10
NON Trouv VRAI, FAUX
Fib 1
Ecriture du couple (3, 1)
b) Quelque soit n, n > 1 F(n) = 3 ou F(n) = 1.
SI n <= 1 il y a une boucle infinie
c) ALGORITHME F31
VAR N : ENTIER
LIRE(N) { N > 1 }
DEBUT
SI N > 1 : ECRIRE( 3, 1)
SINON ECRIRE( 'Pas de solution') FSI
FIN