Boucles while et for

Tout ce qui concerne le langage Asymptote. Ce langage est supporté sur le forum via les balises asy.

Modérateur : gdm_asy

Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
maurice
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 399
Inscription : jeudi 25 mars 2010, 13:49

Boucles while et for

Message par maurice »

Bonsoir, les deux codes suivants sont censés donner le même résultat. Je préfèrerais la version avec while, mais je en sais pas ou est le problème !
Pourrez vous m'éclairer ?

Version avec for :
{}
Version avec while :
{}

C'est sans doute une erreur de débutant programmeur mais bon !
Merci

Maurice
Asymptote :
----> Démarrage rapide : http://cgmaths.fr/Atelier/Asymptote/Asymptote.html
----> Documentation 3D : http://www.mathco.tuxfamily.org et si ça ne marche pas, essayez la version pdf

OG
Modérateur
Modérateur
Messages : 2293
Inscription : lundi 12 mars 2007, 11:20
Localisation : Rouen

Re: Boucles while et for

Message par OG »

{}

O.G.

Tunaki
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 660
Inscription : mardi 12 décembre 2006, 18:03

Re: Boucles while et for

Message par Tunaki »

Bonjour,

Je ne connais pas Asymptote mais je passais par là donc j'en profite pour te répondre. Le problème vient de ta condition pour rester dans le while. Après le premier tour de ta boucle sur $j$, tu as forcément $r\ne -1$ et donc tu ne peux plus entrer dans ta boucle "while" (tout du moins, une seule fois puisque tu utilises do...while, mais tu ne boucleras pas).
Tu devrais plutôt faire

Code : Tout sélectionner

do{k++;}while(!substr(clef, j, 1)==substr(alphabet, k, 1));
ent[j]=k;
Comme ça, en plus, tu n'as plus besoin de variable temporaire $r$.

maurice
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 399
Inscription : jeudi 25 mars 2010, 13:49

Re: Boucles while et for

Message par maurice »

Tunaki a écrit : Le problème vient de ta condition pour rester dans le while. Après le premier tour de ta boucle sur $j$, tu as forcément $r\ne -1$ et donc tu ne peux plus entrer dans ta boucle "while" (tout du moins, une seule fois puisque tu utilises do...while, mais tu ne boucleras pas).
Bon sang !!! Mais c'est bien sur !!!
Tunaki a écrit :Tu devrais plutôt faire

Code : Tout sélectionner

do{k++;}while(!substr(clef, j, 1)==substr(alphabet, k, 1));
ent[j]=k;
Comme ça, en plus, tu n'as plus besoin de variable temporaire $r$.
Merci beaucoup à Tunaki pour son explication et à OG pour avoir exhibé l'erreur de mon code !!!

On ne s'improvise pas programmeur !

maurice
Dernière modification par maurice le mardi 29 mars 2011, 22:25, modifié 1 fois.
Asymptote :
----> Démarrage rapide : http://cgmaths.fr/Atelier/Asymptote/Asymptote.html
----> Documentation 3D : http://www.mathco.tuxfamily.org et si ça ne marche pas, essayez la version pdf

GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2035
Inscription : lundi 01 octobre 2007, 10:20

Re: Boucles while et for

Message par GMaths »

Il me semble que ceci est .... ..... (il suffit de décoder pour le savoir :-))
{}

maurice
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 399
Inscription : jeudi 25 mars 2010, 13:49

Re: Boucles while et for

Message par maurice »

GMaths a écrit :Il me semble que ceci est .... ..... (il suffit de décoder pour le savoir :-))
Oui, mais je veux pouvoir réutiliser cette liste plus tard d'où le int[]. Je n'avais pas pensé à utiliser find, c'est à creuser ....

Merci

Maurice
Asymptote :
----> Démarrage rapide : http://cgmaths.fr/Atelier/Asymptote/Asymptote.html
----> Documentation 3D : http://www.mathco.tuxfamily.org et si ça ne marche pas, essayez la version pdf

GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2035
Inscription : lundi 01 octobre 2007, 10:20

Re: Boucles while et for

Message par GMaths »

maurice a écrit :Oui, mais je veux pouvoir réutiliser cette liste plus tard d'où le int[]. Je n'avais pas pensé à utiliser find, c'est à creuser ....
Il suffit de demander :
{}

maurice
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 399
Inscription : jeudi 25 mars 2010, 13:49

Re: Boucles while et for

Message par maurice »

Bonsoir et merci !

Efficacité, sobriété !!!
Je crois que ca m'être utile !
encore merci

Maurice
Asymptote :
----> Démarrage rapide : http://cgmaths.fr/Atelier/Asymptote/Asymptote.html
----> Documentation 3D : http://www.mathco.tuxfamily.org et si ça ne marche pas, essayez la version pdf