Une variable locale ne devrait-elle pas couvrir la variable globale (d'un même nom) ?
Si oui, j'aurais l'exemple suivant où cela ne marcherait pas:
Code : Tout sélectionner
pgcd_nbr(a,b):= {
r:= b;
cpt:=0;
tantque not(r = 0) faire
r := irem(a,b)
cpt := cpt+1;
a := b;
b := r;
ftantque;
return cpt;
}:;
pgcd_nbr(12303433,34);
a_max(b):= {
local r;
r:=0;
pour k de b jusque 1000 faire
p:=pgcd_nbr(k,b);
si p>r alors
r := p;
k0 := k;
fsi;
fpour;
return k0,r
}:;
a_max(30)
Je trouve que la procédure pgcd_nbr, appelée depuis a_max, modifie la variable r locale pour a_max (ça remet toujours r=0).
Est-ce normal ?
ps. version 1.1.0-36