Académique Documents
Professionnel Documents
Culture Documents
(1)
Ecrire une fonction rcursive qui calcule la factorielle d'un entier naturel n. On
rappelle que n ! = 1 2 3 ... n , si n 1 et 0! = 1 .
(2)
a) Ecrire une fonction rcursive qui calcule la somme des n premiers termes
d'une suite arithmtique de premier terme a et de raison r donnes.
b) Mme exercice en prenant une suite gomtrique.
(3)
Ecrire une fonction rcursive qui calcule le pgcd de deux entiers naturels a et b
par la mthode d'Euclide.
(4)
(5)
(6)
(7)
Ecrire une fonction boolenne et rcursive qui teste si une chane de caractres
donne est un anagramme d'une autre chane de caractres donne. Par
exemple: 'algorithme' est un anagramme de 'logarithme'.
(8)
Ecrire une fonction rcursive qui prend en entre une chane de caractres sous
la forme d'une somme algbrique de rels, par ex. ' 1, 37 + 40 10, 08 + 7 244 '
et qui value cette somme algbrique.
(9)
a) Ecrire une fonction rcursive qui retourne la notation binaire d'un entier
naturel. Par exemple : 25 (= 1 24 + 1 23 + 0 22 + 0 21 + 1 20 ) 11001.
b) Ecrire une fonction rcursive qui retourne la notation dcimale d'un nombre
binaire. Par exemple : 11001 25.
(10) Ecrire une procdure rcursive qui permet de transfrer les lettres d'une chane
de caractres dans une liste de type TListbox.
(11) Voici la fonction de Morris :
function morris (m, n: integer): integer;
begin
if m = 0 then result := 1
else result:= morris(m - 1, morris(m, n));
end;
Expliquer pourquoi l'appel de morris(1,0) ne se termine pas !
Le but du jeu consiste dplacer l'ensemble des disques pour que ceux-ci se
retrouvent enfils autour du piquet 3 en respectant les rgles suivantes :
un disque ne doit pas se retrouver au-dessus d'un disque plus petit. (On
suppose videmment que cette dernire rgle est galement respecte
dans la configuration de dpart).
on amne les n 1
On demande d'crire une procdure rcursive Hanoi qui permet d'afficher dans
une liste (de type TListox) les mouvements lmentaires accomplir pour
dplacer n disques du piquet i au piquet j.