Re-salut, On Sun, Jul 03, 2011 at 02:59:48PM +0200, Benoît Vaillant wrote: > Sinon, juste concernant mon code, c'est peut-être un peu "chaud" à > expliquer. Il doit exister des exemples plus simples et plus concrêts, > du genre (pseudo-code) : > pour $N=1 à 10 { > si $N=3 { # on saute cette étape > $N=$N+1 > } > # faire des trucs > }
Cet exemple est mauvais car le "répète" marche is on fait un "si $N différent de 3". A mon avis, pour expliquer la différence, tu peux peut-être tenter de résoudre le problème suivant. Avec un repeat, ça devrait être plus dur ou du moins devoir être enrobé dans une fonction : Déplacer aléatoirement la tortue de 30° à droite ou gauche en la faisant avancer de 10 pour qu'elle revienne à son point de départ en 100 étapes au plus. Idée avec un "pour" qui montre (j'espère) la différence qu'il y a d'avec un "répète" (pseudo-code, encore) : reset pour $N=1 à 100 { si $N>1 { # on a bougé # vérifier la position de la tortue, si on est au point de départ, # on a trouvé un chemin aléatoire. Quitter le programme } # bouger la tortue aléatoirement, par exemple de 30° à droite ou gauche si $N=100 { # c'est le max si "position<>0,0" { # il faut recommencer, on n'a pas trouvé "goto 0,0" # on remet la tortue en place reset # on nettoie l'écran $N=1 # on recommence à compter # ce retour au début n'est pas possible à l'intérieur d'un répète } } } Bon, évidemment, ça mène du coup à la question : « mais alors, c'est comme un while ? ». La réponse là étant bah oui, mais c'est pas écrit pareil :) Ah, sacré farceur de Turing... ;) -- Benoît Vaillant
~/.gnupg/public_key.txt
Description: Digital signature
_________________________________ Linux mailing list Linux@lists.parinux.org http://lists.parinux.org/mailman/listinfo/linux