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