for

Bugs

Modérateur : xcasadmin

frederic han
Messages : 1113
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

for

Message par frederic han » mer. févr. 26, 2014 10:49 am

Si l'on n'est etourdi et que l'on n'initialise pas x:
la boucle suivante ne s'arrete pas toute seule et ca devient dangereux.

Code : Tout sélectionner

for(j:=0;j<5;j++){x:=x*2}
Fred

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

Re: for

Message par parisse » mer. févr. 26, 2014 11:37 am

Je n'ai malheureusement pas d'idee pour empecher ca, meme en changeant le niveau d'evaluation en interactif a chaque evaluation ca va remplacer x autant de fois par sa valeur precedente, il n'y a qu'en niveau 1 que ca ne posera pas probleme (c'est le niveau dans les programmes), mais en general les gens ont envie d'avoir plusieurs remplacements de variables par leur valeur en mode interactif.

frederic han
Messages : 1113
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

Re: for

Message par frederic han » jeu. févr. 27, 2014 9:35 am

Oui en mode interactif les gens aiment bien:

Code : Tout sélectionner

u:=a+b;
a:=c;
c:=1
u;
mais par contre xcas detecte les definitions recursives,
dans quel genre d'exemple est ce utile d'autoriser une definition recursive qui ne soit pas une fonction?

Fred

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

Re: for

Message par parisse » jeu. févr. 27, 2014 10:03 am

excellente question, je pense que ca n'est utile nulle part, du coup je pourrais transformer le warning en erreur dans ce cas.

Répondre