Vous êtes sur la page 1sur 3

Université de Blida 1

ALGORITHMIQUES ET STRUCTURES DE
Deuxième année Licence
Département d’Informatique
DONNEES
Année universitaire 2021/2022

TRAVAIL PRATIQUE N°3 : DEBOGAGE ET RECURSIVITE

PARTIE I : DEBOGAGE SOUS CODE::BLOCKS

1. Assurer que la version MinGw du CodeBlocks est installée


sur votre machine.
2. Accéder à Settings > Debugger.
3. Cliquer sur Default puis, dans la zone Executable path,
cliquer sur ….

4. Sélectionner le chemin d’installation du code blocks, puis


dans le dossier ‘…\MinGW\gdb32\bin\’ choisissez
gdb32.exe, puis cliquez sur Ouvrir.
5. Dans la zone Debugger type, choisissez l’option GDB, puis
cliquer sur OK.
6. Accéder à Debug>Debugging windows, puis sélectionner Breakpoints, Call stack, Memory, et
Watches.
7. Créer un nouveau projet (Console Application),
puis taper ce code.
8. Faites un clic droit sur la première ligne du code,
puis dans le menu contextuel, choisissez Add
beakpoint (point rouge).

9. Lancer le débogage en cliquant sur F8, ou sur .


10. Le debugger s’arrête sur la première ligne du programme. Avancer en mode pas à pas (F7 ou

cliquer sur Next line ).


11. Examiner les valeurs des variables affichées dans la fenêtre Watches.
12. Continuer le débogage du programme en cliquant sur F7 ou le bouton Next line.
1/2
PARTIE II : RECURSIVITE
EXERCICE 1
1. Ecrire les programmes récursifs qui calculent :
a. La factorielle,
b. La séquence de Fibonnacci,
c. Le produit �� × ��.
2. Evaluer ces programmes, en utilisant le debugger, pour les cas suivant : 5!, 1!, fib(6), fib(1), 5 × 4, 5
× −4.
Remarque: La suite de Fibonacci est définie par récurrence par :
��0 = 0 ; ��1 = 1; ���� = ����−1 + ����−2 pour n ≥ 2
EXERCICE 2 : TABLEAUX
1. Soit T un tableau d’entiers, donner les programmes récursifs pour :
a. Le maximum de T,
b. La somme des éléments de T,
c. La recherche dichotomique d’une valeur v dans T.
2. Evaluer ces programmes, en utilisant le debugger, pour les cas suivants :
• T = [1, 8, 10, 91, 150, 400], v = 8, v= 88.

EXERCICE 3
De nombreux problèmes de mathématiques ou de physique se concluent par la résolution d'une
équation ��(��) = 0. Bien souvent, il n'est pas possible de résoudre exactement cette équation, et on
cherche une valeur approchée de la solution (ou des solutions). Pour obtenir une telle approximation,
Newton a proposé une méthode générale définie par la récurrence suivante :

���� = ����−1 −��(����−1)


��′(����−1), �������� ��0 ��������é.
Soit ��(��) = ��2 − ��, avec �� ∈ ℤ une constante définie par l’utilisateur.
1. Ecrire une fonction f(float x, int alpha) qui prend en paramètre �� et une constante
alpha et calcule ��(��).
2. Ecrire une fonction fprime(float x) qui prend en paramètre �� et calcule ��′(��). 3.
Ecrire une fonction récursive newton(int alpha, int n, int x0) qui calcule ����. 4.
Dérouler la fonction newton pour alpha = 9, n = 5, x0 = 2. Que calcule
newton(9,5,2) ?

2/2

Vous aimerez peut-être aussi