Bonjour,
Je dois indiquer, lors d'un exercice, si je peux "délocaliser" une variable "k" sans modifier l'effet de la procédure.
En réécrivant le code, j'ai trouvé si je peux ou pas. Dans mon cas, je NE PEUX PAS. Lors de la délocalisation de celle-ci, le résultat obtenu change.
MAIS, je ne sais pas expliquer pourquoi ... Comment peut-on expliquer ceci ?
voici mon bout de code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 PROCEDURE CadreF1 (n: INTEGER): INTEGER; PROCEDURE F1 (n: INTEGER): INTEGER; VAR k: INTEGER ; BEGIN (*F1*) IF n <= 1 THEN RETURN n END; k := n - 2; RETURN F1(n-1) + F1(k) END F1; BEGIN (*CadreF1*) RETURN F1(n) END CadreF1;
Partager