# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-07-02 12:51+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Translate Toolkit 1.11.0\n" #. type: One-char language identifier #: train702.languagecode:1 #, no-wrap msgid "E" msgstr "F" # #. type: Title-text #: train702/scene.txt:1 #, no-wrap msgid "train702:Remote control #4" msgstr "train702:Télécommande #4" # #. type: Resume-text #: train702/scene.txt:2 #, no-wrap msgid "" "train702:Remote control a bot without using an information exchange post by " "defining a class for the orders." msgstr "" "train702:Télécommandez un robot sans borne d'information en utilisant une " "classe définissant un ordre." # #. type: ScriptName-text #: train702/scene.txt:3 #, no-wrap msgid "train702:Remote4" msgstr "train702:Remote4" #. type: \b; header #: train702-help/tremote4.txt:1 #, no-wrap #, fuzzy, no-wrap msgid "Exercise" msgstr "Exercice" #. type: Plain text #: train702-help/tremote4.txt:3 #, no-wrap #, fuzzy, no-wrap msgid "" "Remote control a slave robot without using an information " "exchange post. The robot should pass over the 6 blue crosses. You must " "use a static variable to pass the orders to " "the slave bot." msgstr "" "Télécommandez un robot, sans utiliser une borne " "d'information, pour qu'il passe par les 6 croix bleues. Il faudra " "utiliser une variable static pour " "communiquer directement d'un programme à un autre." #. type: Plain text #: train702-help/tremote4.txt:5 #, no-wrap #, fuzzy, no-wrap msgid "The two main actors of this exercise are:\n" msgstr "Les 2 acteurs principaux de cet exercice sont:\n" #. type: Bullet: '1)' #: train702-help/tremote4.txt:5 #, no-wrap #, fuzzy, no-wrap msgid "" "The wheeled grabber without an energy pack and therefore " "immobile. This is the master you should program so it will transmit orders " "to the slave." msgstr "" "Un robot déménageur sans pile, donc immobile. C'est lui " "l'émetteur que vous devez programmer." #. type: Bullet: '2)' #: train702-help/tremote4.txt:6 #, no-wrap #, fuzzy, no-wrap msgid "" "The slave practice bot which is already programmed and " "just waits for orders from the master." msgstr "" "Un robot d'entraînement qui attend les ordres. Ce robot " "est déjà programmé." #. type: \b; header #: train702-help/tremote4.txt:8 #, no-wrap #, fuzzy, no-wrap msgid "The slave" msgstr "Le robot récepteur" #. type: Plain text #: train702-help/tremote4.txt:10 #, no-wrap #, fuzzy, no-wrap msgid "" "First of all we must understand how the program of the slave works. The class order contains two members: " "m_type is the order to execute (move or turn) and " "m_param is the distance to move or the rotation angle¦:" msgstr "" "Pour commencer, il faut comprendre le programme du robot d'entraînement qui " "attend les ordres.\n" "Une classe order contient deux variables: " "global_type détermine l'ordre à effectuer (avancer ou tourner) " "et global_param détermine la distance à avancer ou l'angle de " "rotation:" #. type: Plain text #: train702-help/tremote4.txt:12 #, no-wrap #, fuzzy, no-wrap msgid "public class order" msgstr "public class order" #. type: \s; block (usually verbatim code) #: train702-help/tremote4.txt:16 #, no-wrap #, fuzzy, no-wrap msgid "" "{\n" "\tint m_type = nan;\n" "\tfloat m_param;\n" "}" msgstr "" "{\n" "\tint global_type = nan;\n" "\tfloat global_param;\n" "}" #. type: Plain text #: train702-help/tremote4.txt:18 #, no-wrap #, fuzzy, no-wrap msgid "" "A second class exchange contains the " "mechanism for exchanging the orders. We declare a static class member m_order which will " "contain the order to be executed. The word static insures that " "the member m_order is shared between all instances of the class exchange." msgstr "" "Une deuxième classe exchange contient le " "mécanisme d'échange et de mémorisation des ordres. Il faut d'abord déclarer " "une variable static appelée ici " "global_order. Cette variable contient l'ordre à effectuer. " "L'instruction static permet à tous les robots d'accéder à la " "même variable unique." #. type: Plain text #: train702-help/tremote4.txt:20 #, no-wrap #, fuzzy, no-wrap msgid "public class exchange" msgstr "public class exchange" #. type: \s; block (usually verbatim code) #: train702-help/tremote4.txt:22 #, no-wrap #, fuzzy, no-wrap msgid "" "{\n" "\tstatic private order m_order = new " "order;" msgstr "" "{\n" "\tstatic private order global_order = " "new order;" #. type: Plain text #: train702-help/tremote4.txt:24 #, no-wrap #, fuzzy, no-wrap msgid "" "The put method will be used by the master robot for " "transmitting an order. As long as m_order is different from " "nan, the slave has not finished the order and " "the put method will return false and will do " "nothing¦:" msgstr "" "Une première méthode put sera utilisée par le robot émetteur " "pour donner un ordre. Si l'ordre est différent de nan, cela signifie qu'il n'a pas encore été effectué par " "le robot récepteur. Dans ce cas, la méthode get ne fait rien et " "retourne false:" #. type: Plain text #: train702-help/tremote4.txt:26 #, no-wrap #, fuzzy, no-wrap msgid "" "\tsynchronized bool put(order " "a)" msgstr "" "\tsynchronized bool put(order a)" #. type: \s; block (usually verbatim code) #: train702-help/tremote4.txt:37 #, no-wrap #, fuzzy, no-wrap msgid "" "\t{\n" "\t\tif ( m_order.m_type == nan )\n" "\t\t{\n" "\t\t\tm_order = a;\n" "\t\t\treturn true;\n" "\t\t}\n" "\t\telse\n" "\t\t{\n" "\t\t\treturn false;\n" "\t\t}\n" "\t}" msgstr "" "\t{\n" "\t\tif ( global_order.global_type == nan )\n" "\t\t{\n" "\t\t\tglobal_order = a;\n" "\t\t\treturn true;\n" "\t\t}\n" "\t\telse\n" "\t\t{\n" "\t\t\treturn false;\n" "\t\t}\n" "\t}" #. type: Plain text #: train702-help/tremote4.txt:39 #, no-wrap #, fuzzy, no-wrap msgid "" "Another method get will be used by the slave to retrieve the " "orders. This method returns the order to be executed:" msgstr "" "Une deuxième méthode get sera utilisée par le robot récepteur " "pour prendre connaissance d'un ordre à effectuer:" #. type: Plain text #: train702-help/tremote4.txt:41 #, no-wrap #, fuzzy, no-wrap msgid "\tsynchronized order get()" msgstr "\tsynchronized order get()" #. type: \s; block (usually verbatim code) #: train702-help/tremote4.txt:44 #, no-wrap #, fuzzy, no-wrap msgid "" "\t{\n" "\t\treturn m_order;\n" "\t}" msgstr "" "\t{\n" "\t\treturn global_order;\n" "\t}" #. type: Plain text #: train702-help/tremote4.txt:46 #, no-wrap #, fuzzy, no-wrap msgid "" "A third method delete will be used by the slave to indicate " "that the order has been executed:" msgstr "" "Une troisième méthode delete sera utilisée par le robot " "récepteur pour indiquer que l'ordre est terminé:" #. type: Plain text #: train702-help/tremote4.txt:48 #, no-wrap #, fuzzy, no-wrap msgid "\tsynchronized void delete()" msgstr "\tsynchronized void delete()" #. type: \s; block (usually verbatim code) #: train702-help/tremote4.txt:52 #, no-wrap #, fuzzy, no-wrap msgid "" "\t{\n" "\t\tm_order.m_type = nan;\n" "\t}\n" "}" msgstr "" "\t{\n" "\t\tglobal_order.global_type = nan;\n" "\t}\n" "}" #. type: Plain text #: train702-help/tremote4.txt:54 #, no-wrap #, fuzzy, no-wrap msgid "" "The main program of the slave contains an instance of the class " "exchange called list. We put () after the word " "list in order to create an instance of the class " "exchange." msgstr "" "Le programme principal peut maintenant exister. La variable list" " est de type exchange, qui est une classe. Il " "faut utiliser l'instruction new pour créer " "immédiatement une instance." #. type: Plain text #: train702-help/tremote4.txt:56 #, no-wrap #, fuzzy, no-wrap msgid "extern void object::Slave3( )" msgstr "extern void object::Slave3( )" #. type: \s; block (usually verbatim code) #: train702-help/tremote4.txt:59 #, no-wrap #, fuzzy, no-wrap msgid "" "{\n" "\texchange list();\n" "\torder todo;" msgstr "" "{\n" "\texchange list = new exchange();\n" "\torder todo;" #. type: Plain text #: train702-help/tremote4.txt:61 #, no-wrap #, fuzzy, no-wrap msgid "" "The outer while loop lasts for ever. The inner " "while loop waits for an order by using the get " "method of the exchange class. As soon as get " "returns a value different from nan, the while loop stops." msgstr "" "La première boucle while exécute les ordres à l'infini. La " "deuxième boucle while attend un ordre en exécutant la méthode " "get de la classe exchange. Dès qu'un ordre " "contenant une valeur différente de nan est reçu, la boucle est " "stoppée." #. type: Plain text #: train702-help/tremote4.txt:63 #, no-wrap #, fuzzy, no-wrap msgid "\twhile ( true )" msgstr "\twhile ( true )" #. type: \s; block (usually verbatim code) #: train702-help/tremote4.txt:70 #, no-wrap #, fuzzy, no-wrap msgid "" "\t{\n" "\t\twhile ( true )\n" "\t\t{\n" "\t\t\ttodo = list.get();\n" "\t\t\tif ( todo.m_type != nan ) break;\n" "\t\t\twait(1);\n" "\t\t}" msgstr "" "\t{\n" "\t\twhile ( true )\n" "\t\t{\n" "\t\t\ttodo = list.get();\n" "\t\t\tif ( todo.global_type != nan ) break;\n" "\t\t\twait(1);\n" "\t\t}" #. type: Plain text #: train702-help/tremote4.txt:72 #, no-wrap #, fuzzy, no-wrap msgid "" "Now we have received the order in the todo variable. All we " "have to do is execute it:" msgstr "Il ne reste plus qu'à exécuter l'ordre reçu:" #. type: Plain text #: train702-help/tremote4.txt:74 #, no-wrap #, fuzzy, no-wrap msgid "\t\tif ( todo.m_type == 1 )" msgstr "\t\tif ( todo.global_type == 1 )" #. type: \s; block (usually verbatim code) #: train702-help/tremote4.txt:85 #, no-wrap #, fuzzy, no-wrap msgid "" "\t\t{\n" "\t\t\tmove(todo.m_param);\n" "\t\t}\n" "\t\telse if ( todo.m_type == 2 )\n" "\t\t{\n" "\t\t\tturn(todo.m_param);\n" "\t\t}\n" "\t\telse\n" "\t\t{\n" "\t\t\tmessage(\"Unknown order\");\n" "\t\t}" msgstr "" "\t\t{\n" "\t\t\tmove(todo.global_param);\n" "\t\t}\n" "\t\telse if ( todo.global_type == 2 )\n" "\t\t{\n" "\t\t\tturn(todo.global_param);\n" "\t\t}\n" "\t\telse\n" "\t\t{\n" "\t\t\tmessage(\"Unknown order\");\n" "\t\t}" #. type: Plain text #: train702-help/tremote4.txt:87 #, no-wrap #, fuzzy, no-wrap msgid "" "As soon as the execution of the order is finished, we must call the " "delete method so the master knows that another order can be " "sent¦:" msgstr "" "Dès que l'exécution de l'ordre est terminée, il faut appeler la méthode " "delete pour indiquer au robot émetteur qu'il peut envoyer " "l'ordre suivant:" #. type: Plain text #: train702-help/tremote4.txt:89 #, no-wrap #, fuzzy, no-wrap msgid "\t\tlist.delete();" msgstr "\t\tlist.delete();" #. type: \s; block (usually verbatim code) #: train702-help/tremote4.txt:91 #, no-wrap #, fuzzy, no-wrap msgid "" "\t}\n" "}" msgstr "" "\t}\n" "}" #. type: \b; header #: train702-help/tremote4.txt:92 #, no-wrap #, fuzzy, no-wrap msgid "The master" msgstr "Le robot émetteur" #. type: Plain text #: train702-help/tremote4.txt:94 #, no-wrap #, fuzzy, no-wrap msgid "" "In the master we write an function called SendOrder which will " "send an order to the slave:" msgstr "" "Dans le robot émetteur, il est plus simple d'écrire une procédure " "SendOrder qui se charge d'envoyer un ordre au robot récepteur:" #. type: Plain text #: train702-help/tremote4.txt:96 #, no-wrap #, fuzzy, no-wrap msgid "void object::SendOrder(float order, float param)" msgstr "void object::SendOrder(float order, float param)" #. type: \s; block (usually verbatim code) #: train702-help/tremote4.txt:108 #, no-wrap #, fuzzy, no-wrap msgid "" "{\n" "\texchange list();\n" "\torder todo();\n" "\t\n" "\ttodo.m_type = order;\n" "\ttodo.m_param = param;\n" "\t\n" "\twhile ( list.put(todo) == false )\n" "\t{\n" "\t\twait(1);\n" "\t}\n" "}" msgstr "" "{\n" "\texchange list = new exchange();\n" "\torder todo();\n" "\t\n" "\ttodo.global_type = order;\n" "\ttodo.global_param = param;\n" "\t\n" "\twhile ( list.put(todo) == false )\n" "\t{\n" "\t\twait(1);\n" "\t}\n" "}" #. type: Plain text #: train702-help/tremote4.txt:111 #, no-wrap #, fuzzy, no-wrap msgid "" "The while loop waits until a pending order has been terminated, " "that is the slaved has exited from the get method and the " "delete method has been called.\n" "Now the main program of the master is very simple:" msgstr "" "La boucle while attend qu'un éventuel ordre précédent soit " "terminé, ce qui arrive lorsque le robot récepteur exécute la méthode " "delete.\n" "Le programme principal est finalement d'une simplicité enfantine:" #. type: Plain text #: train702-help/tremote4.txt:113 #, no-wrap #, fuzzy, no-wrap msgid "extern void object::Remote4( )" msgstr "extern void object::Remote4( )" #. type: \s; block (usually verbatim code) #: train702-help/tremote4.txt:124 #, no-wrap #, fuzzy, no-wrap msgid "" "{\n" "\tSendOrder(1, 20); // move(20);\n" "\tSendOrder(2, 90); // turn(90);\n" "\tSendOrder(1, 20); // move(20);\n" "\tSendOrder(2, 90); // turn(90);\n" "\tSendOrder(1, 10); // move(10);\n" "\tSendOrder(2, 90); // turn(90);\n" "\tSendOrder(1, 10); // move(10);\n" "\tSendOrder(2,-90); // turn(-90);\n" "\tSendOrder(1, 10); // move(10);\n" "}" msgstr "" "{\n" "\tSendOrder(1, 20); // move(20);\n" "\tSendOrder(2, 90); // turn(90);\n" "\tSendOrder(1, 20); // move(20);\n" "\tSendOrder(2, 90); // turn(90);\n" "\tSendOrder(1, 10); // move(10);\n" "\tSendOrder(2, 90); // turn(90);\n" "\tSendOrder(1, 10); // move(10);\n" "\tSendOrder(2,-90); // turn(-90);\n" "\tSendOrder(1, 10); // move(10);\n" "}" #. type: Plain text #: train702-help/tremote4.txt:126 #, no-wrap #, fuzzy, no-wrap msgid " show these instruction at any time." msgstr "" " permet de revoir ces instructions en tout " "temps!" #. type: \t; header #: train702-help/tremote4.txt:128 #, no-wrap #, fuzzy, no-wrap msgid "See also" msgstr "Voir aussi" #. type: Plain text #: train702-help/tremote4.txt:129 #, no-wrap #, fuzzy, no-wrap msgid "Controls and programming." msgstr "Exercice précédent et programmation." # #~ msgid "train700:Classes" #~ msgstr "train700:Classes" # #~ msgid "train700:" #~ msgstr "train700:" # #~ msgid "train701:Remote control #3" #~ msgstr "train701:Télécommande #3" # #~ msgid "train701:" #~ msgstr "train701:" # #~ msgid "" #~ "train701:Remote control a bot without using an information exchange post " #~ "by using a string." #~ msgstr "" #~ "train701:Télécommandez un robot sans borne d'information en utilisant une " #~ "simple chaîne de caractère." # #~ msgid "train701:Remote3" #~ msgstr "train701:Remote3" # #~ msgid "train702:" #~ msgstr "train702:" # #~ msgid "train703:Remote control #5" #~ msgstr "train703:Télécommande #5" # #~ msgid "train703:" #~ msgstr "train703:" # #~ msgid "" #~ "train703:Remote control a bot without using an information exchange post " #~ "by storing the orders." #~ msgstr "train703:Télécommandez un robot en mémorisant tous les ordres." # #~ msgid "train703:Remote5" #~ msgstr "train703:Remote5"