en to fr translation catalogue (14 entries)

note: type: Title-text
en: Spiral
fr: La spirale

note: type: Resume-text
en: Create a procedure in order to teach your bot to perform a spiral.
fr: Créer une fonction pour déplacer un robot dans une spirale.

note: type: ScriptName-text
en: Move
fr: Déplace

note: type: \b; header
en: Exercise
fr: Exercice

note: type: Plain text
en: Follow the way in form of a spiral. The bot must move 2 times 25m forward and turn, then move 2 times 20m forward and turn, and so on.
fr: Programmez le <a object|bottr>robot</a> pour qu'il suive le chemin en forme de spirale. Il faut avancer deux fois de 25 mètres, puis deux fois de 20 mètres. etc., jusqu'à l'arrêt.

note: type: \b; header
en: Function
fr: Fonction

note: type: Plain text
en: You will have noticed that the way is made of "L"-shaped parts that are fit one into another. The first one (dark blue) measures two times 25 meters. The second one (light blue) measures 5 meters less. Let us start with writing the <a cbot|function>function</a> that will move the bot on a "L"-shaped part whose length will be given as a parameter:
fr: On constate que le mouvement est composé de "L" imbriqués. Le premier, en bleu foncé, avance deux fois de 25 mètres. Le deuxième, en bleu clair, avance de 5 mètres de moins, etc. On peut donc commencer par réaliser la <a cbot|function>fonction</a> qui déplace le robot le long d'un "L" dont on donne la longueur:

note: type: Plain text
en: Now you just need to write the main function, that will call the function <code>Part</code>. At the beginning the variable <code>rest</code> will be set to 25m. The <code>while</code> loop will then repeat the instructions inside the block as long as <code>rest</code> is greater than zero. Inside the loop, first call the function <code>Part</code> (see above), then subtract 5m to the length of the L.
fr: Il ne reste plus qu'à écrire la fonction principale, qui fera appel à <code>Part</code>. La variable <code>rest</code> est initialisée au départ à 25 mètres. La boucle <code>while</code> est ensuite répétée tant que <code>rest</code> est plus grand que zéro. A l'intérieur de la boucle, on appelle la fonction <code>Part</code> définie plus haut, puis on enlève 5 mètres à la longueur à parcourir.

note: type: Source code
en: extern void object::Function2( )
    {
    	float	rest = 25;
    	while ( rest > 0 )
    	{
    		Part(rest);
    		rest = rest-5;
    	}
    }
fr: extern void object::Déplacer( )
    {
    	float	rest = 25;
    	while ( rest > 0 )
    	{
    		Part(rest);
    		rest = rest-5;
    	}
    }

note: type: Plain text
en: The function <code>Part</code> will be called a last time with the value <code>5</code>. Then the expression <code>rest-5</code> will set the value of the variable <code>rest</code> to zero, and the <code>while</code> loop will stop.
fr: Le dernier appel de <code>Part</code> a lieu avec la valeur <code>5</code>. Ensuite, l'expression <code>rest-5</code> met la valeur zéro dans la variable <code>rest</code>. La boucle <code>while</code> est donc stoppée.

note: type: \b; header
en: Remark
fr: Remarque

note: type: Plain text
en: You will have noticed that in the previous exercise, the main function was at the beginning of the program, whereas in this exercise, it is at the end of the program, after the function <code>Part</code>. The rank order of the functions in the program does not matter, you can write a program either way.
fr: Vous aurez peut-être remarqué que dans l'exercice précédent, la fonction principale était au début, alors qu'ici elle vient après la fonction secondaire <code>Part</code>. En fait, les deux façons de faire sont possibles et rigoureusement identiques.

note: type: \t; header
en: See also
fr: Voir aussi

note: type: Plain text
en: <a cbot>Programming</a>, <a cbot|type>types</a> and <a cbot|category>categories</a>.
fr: <a tproc1>Exercice précédent</a>, <a cbot>programmation</a>, <a cbot|type>types</a> et <a cbot|category>catégories</a>.
