msgid "The <a object|bottr>bot</a> must pass over all the <a object|waypoint>blue crosses</a> on the ground. The way that must be covered is made of two squares. The first one measures 15 meters, the second 25 meters."
msgstr "Programmez le <a object|bottr>robot</a> pour qu'il trouve toutes les <a object|waypoint>croix bleues</a> posées au sol. Le trajet à effectuer est composé de deux carrés. Le premier mesure 15 mètres de côté, et le deuxième 25 mètres."
msgid "In order to solve this problem, the most efficient solution consists in creating a <a cbot|function>function</a> that instructs the bot to move on a square shape of a certain size. The main program becomes then very simple:<c/>"
msgstr "Pour résoudre ce problème, il est intéressant de créer une <a cbot|function>fonction</a> qui déplace le robot le long d'un carré. La fonction principale devient alors très simple:"
msgid "You still have to define the function called <code>Square</code>. In order to do this, you will have to write some instructions outside the <a cbot|bloc>block</a> that until now was the frame of each one of your programs. At the very end of the program, after the last closing brace, we will define the function <code>Square</code>. The program will take the following shape:"
msgstr "Évidemment, à ce stade, la fonction <code>Carré</code> n'existe pas encore. Pour la créer, vous devrez écrire des instructions hors du <a cbot|bloc>bloc</a>, tout à la fin du programme. La structure du programme devient:"
"When you write this in front of the function name, you can have access in the function to all the characteristics of the bot, such as <code>position</code>, <code>orientation</code>, etc. In this exercise, this element is not compulsory, as we will not need the characteristics of the bot in the function."
"Permet d'accéder aux caractéristiques du robot, telles que <code>pos</code>, <code>angle</code>, etc. Dans cet exercice, cette déclaration est facultative, car on n'accède pas à ces variables."
"Here you define the parameters that the function will get when it is called. The first time the function is actually called with <code>Square(15)</code>, the variable <code>length</code> will contain the value <code>15</code>. The second time, <code>length</code> will contain <code>25</code>."
"Paramètre que reçoit la fonction. A l'intérieur de la fonction, <code>length</code> prendra une première fois la valeur 15 et une deuxième fois la valeur 25."
msgid "At the line <code>Square(15)</code>, the program will follow the red arrow and enter the function <code>Square</code> a first time, <code>length</code> containing <code>15</code>."
msgstr "Lorsqu'on rencontre <code>Carré(15)</code>, on suit la flèche rouge pour entrer une première fois dans la fonction <code>Carré</code>."
msgid "At the line <code>Square(25)</code>, the program will follow the blue arrow and enter the function <code>Square</code> a second time."
msgstr "On continue <code>Déplace</code>, qui contient alors <code>Carré(25)</code>. On suit donc la flèche bleue pour entrer une deuxième fois dans <code>Carré</code>."
msgid "In the function <code>Square</code>, use the instructions <code><a cbot|move>move</a></code> and <code><a cbot|turn>turn</a></code>. In order to make it shorter, you can use a <code><a cbot|for>for</a></code> loop, that will repeat the instructions <code><a cbot|move>move</a></code> and <code><a cbot|turn>turn</a></code> 4 times; however, this is not compulsory."
msgstr "L'intérieur de la fonction <code>Carré</code> utilise les instructions <code><a cbot|move>move</a></code> et <code><a cbot|turn>turn</a></code>. L'utilisation d'une boucle <code><a cbot|for>for</a></code> répétée 4 fois allège l'écriture, mais n'est pas indispensable."