INITIATION ALGORITHMIQUE

AUTRE TD

ExempleÉNONCE 1 :

Écrire une FONCTION qui permet de calculer la somme des n premiers nombres

  • en utilisant une boucle FOR ;

  • en utilisant la récursivité ;

  • en utilisant une formule: 1+2+......+n=n (n+1)/2.

ExempleSOLUTION avec la boucle FOR

FONCTION SOMME_PREMIER_NB( n :ENTIER) : ENTIER

VAR i, S : ENTIER

DEBUT

S 0

FOR i DE 1 A n

FAIRE

S S + i

FINPOUR

RETOURNER (S)

FIN

ExempleSOLUTION en utilisant la récursivité

PRINCIPE : si n =0 alors S(n)=0 sinon S(n)=n+S(n-1)

On suppose que n est un entier positif !

FONCTION « somme_recursif »(n : ENTIER) : ENTIER

DEBUT

SI (n=0)

ALORS RETOURNER (0)

SINON RETOURNER( n + somme_recursif(n-1))

FINSI

FIN

ExempleSOLUTION en Utilisant une formule

PRINCIPE : S(n)=(n*(n+1))/2

On suppose que n est un entier positif

FONCTION SOMME_Formule(n : ENTIER) : ENTIER

DEBUT

RETOURNER(n*(n+1)/2)

FIN

PrécédentPrécédentSuivantSuivant
AccueilAccueilImprimerImprimerRéalisé avec Scenari (nouvelle fenêtre)