booléen

Bugs

Modérateur : xcasadmin

jmmeny
Messages : 36
Inscription : dim. févr. 03, 2008 8:41 pm

booléen

Message par jmmeny » mer. juin 24, 2009 9:24 am

J'écris la fonction suivante :

testzero(n):={
local u;
tantque n!=0 faire
u:=irem(n,10);
si u==0
alors return false;
fsi;
n:=(n-u)/10;
ftantque;
return true;
}:;

je veux utiliser cela dans une autre fonction. Pour simplifier, prenons celle ci :

test(n):={
si testzero(n) alors return 1; sinon return 0;fsi;
}:;


je teste, tout va bien. Mais si je ferme et réouvre mon fichier xcas, le true et le false de mon premier programme sont alors automatiquement traduits en français et lorsque je lance test(56) par exemple, j'obtiens :

"Ifte: Unable to check test Error: Bad Argument Value"

par contre, un test direct testzero(56) tourne. Il semble donc que les "vrai", "faux" ne soient pas tout à fait équivalents aux "true", "false" .

parisse
Messages : 5114
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: booléen

Message par parisse » mer. juin 24, 2009 4:24 pm

En effet, la traduction ne semble fonctionner que dans le sens anglais->français, et ca vient du fait que c'est une constante et non un nom de fonction. En fait faux+1 devrait renvoyer 1 comme false+1 mais ce n'est pas le cas. Je peux rajouter faux et vrai comme mot cle reconnus, mais je ne pourrai le faire que pour le francais. Je peux aussi supprimer la traduction de false/true (vous pouvez d'ailleurs le faire en supprimant les lignes contenant ces termes dans le fichier xcas\doc\fr\keywords).

Répondre