syntaxe while

Bugs

Modérateur : xcasadmin

Alek
Messages : 111
Inscription : jeu. oct. 28, 2010 1:20 pm

syntaxe while

Message par Alek » sam. déc. 15, 2012 10:10 am

Pas vraiment un bug, mais un comportement quelque peu piegeux de while : le programme suivant

Code : Tout sélectionner

y := 1;
while (y<10) do
  y := y+1;
  print y;
end do:;
ne s'arrête pas. Je pense que c'est à cause de mélange de deux syntaxes (C et maple). Plus concrètement,
while y<10 do ... end_do
(sans parenthèses) marche bien et
while (y<10) { ... }
marche bien aussi.

Cela étant, le mélange de deux syntaxes, je le vois assez souvent (d'autant plus que le bouton "boucle" d'assistant de programme propose "tantque.. ftanque" et rajouter alors des parenthèses me paraît pas scandaleux de la part d'utilisateur).

Serait -il possible de signaler une erreur comme pour
while y<10 {...}
ou bien accepter
while ( condition entre parenthèses ) do ... end_do ?

A.

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

Re: syntaxe while

Message par frederic han » sam. déc. 15, 2012 1:35 pm

oui j'ai remarque ca aussi, c'est d'autant plus traitre que les autres syntaxes maple fonctionnent aussi en mode xcas

if 1>0 then 1 else 0 fi

for j from 1 to 5 do print(j) od

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

Re: syntaxe while

Message par parisse » sam. déc. 15, 2012 3:58 pm

Je l'ai aussi observé avec des étudiants, mais je ne vois pas comment faire pour lever l'ambiguité en mode xcas. Le seul conseil que je peux vous donner c'est de faire utiliser les mots-clefs en français (ou les assistants), il n'y a alors pas d'ambiguité. Ca fait bizarre au début, mais finalement si on écrit en syntaxe "littéraire" et pas en syntaxe C écrire des programmes xcas avec les mots-clef en français c'est aussi bien qu'en anglais, c'est juste une question d'habitude.

Répondre