Salut,

On Sun, Jul 03, 2011 at 12:57:43PM +0200, Daniel Cartron wrote:
> Bonjour,
> 
> Je ne sais si quelqu'un connaît ce langage utilisé dans KTurtle, que je suis 
> en train de faire découvrir à mon fils et qui s'éclate complètement avec.

Je ne connais pas du tout, sauf de nom (pour le logo).

> Une question que je me pose est l'intérêt de la boucle répète par rapport à 
> la 
> boucle pour : 
> 
> La boucle « répète » 
> répète nombre { bloc de commandes à répéter }
> 
> La boucle « pour »
> pour variable = nombre à nombre { bloc de commandes à répéter  }
> 
> Je n'arrive pas à trouver d'exemple où l'une pourrait faire quelque chose que 
> l'autre ne pourrait pas, du coup je ne sais pas comment expliquer la 
> différence 
> à mon fils.

Après une petite installation de KTurtle (en anglais, mais je suppose
que ce n'est pas la traduction du code qui te posera de soucis),
est-ce que ce petit exemple te semble suffisant pour faire une
distinction entre les deux ?

####    code    ###
reset
# juste un carré
repeat 4 {forward 10 turnleft 90}
# boucle infinie !
for $N=1 to 4 { forward 10 turnleft 90 $N=2}
#### fin de code ###

Dans le cas du "pour" on peut modifier la valeur de la variable de
boucle au sein du bloc d'exécution, ce qui, comme dans mon cas, peut
avoir des effets de bord pas sympas.

A priori, je ne vois pas comment faire une boucle infinie aussi
simplement avec le "répète", mais comme dit au début, je n'ai jamais
joué avec KTurtle ou le logo en général.

> Et les ressources sur le sujet sont sidéralement absentes du web....

Tu n'as plus qu'à écrire, alors ;)

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
}

Bon courage pour l'explication !

-- 
Benoît Vaillant

Attachment: ~/.gnupg/public_key.txt
Description: Digital signature

_________________________________
Linux mailing list
Linux@lists.parinux.org
http://lists.parinux.org/mailman/listinfo/linux

Répondre à