Problème avec subsr

Bugs

Modérateur : xcasadmin

yvand
Messages : 35
Inscription : jeu. févr. 07, 2013 7:14 pm

Problème avec subsr

Message par yvand » mar. nov. 12, 2013 10:16 pm

Bonsoir,

Je viens de découvrir un bug (ou ce qui ressemble à un bug selon moi) gênant dans xcas avec substr.
Exemple minimal :
n:= 1;
subst(n,n=10)
Si on n'affecte pas n avant de faire subst aucun problème...

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

Re: Problème avec subsr

Message par parisse » mer. nov. 13, 2013 6:07 am

C'est plutot une demande d'amélioration qu'un bug. Actuellement subst n'auto-quote pas ses arguments, on pourrait en effet faire en sorte que la ou les variables de remplacement soient auto-quotées lors de l'évaluation du 1er argument ... mais c'est assez pénible à réaliser. On verra quand j'aurai un peu de temps!

yvand
Messages : 35
Inscription : jeu. févr. 07, 2013 7:14 pm

Re: Problème avec subsr

Message par yvand » mer. nov. 13, 2013 2:22 pm

Personnellement, je trouve ce comportement particulièrement troublant :!:
Pour la petite histoire, en fait je tentais de résoudre un exercice pour TS, où il faut dire si n^2+n+41 est un nombre premier (pour n entier naturel).
J'ai fait un :
pour n de 0 jusque 50 faire
m := n^2+n+41;
afficher("n="+n+", "+isprime(m));
fpour;
Le premier entier n pour lequel n^2+n+41 n'est pas premier est n=40.
Naturellement je voulais calculer la valeur n^2+n+41 pour n=40, puis déterminer sa factorisation (via ifactor), et là le nombre obtenu (avec subst(n^2+n+41,n=40)) était premier... En fait n=50 pour subst...
J'ai mis du temps avant de comprendre que le problème venait du fait que subst ne faisant ce que je voulais qu'il fasse...

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

Re: Problème avec subsr

Message par parisse » mer. nov. 13, 2013 2:57 pm

Je vais deja generer un warning, ca devrait au moins eviter de perdre trop de temps a chercher d'ou vient le probleme.

Répondre