# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\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 <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #. type: One-char language identifier #: train601.languagecode:1 #, no-wrap msgid "E" msgstr "" #. type: Title-text #: train601/scene.txt:1 #, no-wrap msgid "train601:A function" msgstr "" #. type: Resume-text #: train601/scene.txt:2 #, no-wrap msgid "train601:Create a function in order to make your program shorter." msgstr "" #. type: ScriptName-text #: train601/scene.txt:3 #, no-wrap msgid "train601:Move" msgstr "" #. type: \b; header #: train601-help/tproc1.txt:1 #, no-wrap msgid "Exercise" msgstr "" #. type: Plain text #: train601-help/tproc1.txt:3 #, no-wrap 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 "" #. type: Image filename #: train601-help/tproc1.txt:4 #, no-wrap msgid "tproc1a" msgstr "" #. type: \b; header #: train601-help/tproc1.txt:5 #, no-wrap msgid "General principle" msgstr "" #. type: Plain text #: train601-help/tproc1.txt:7 #, no-wrap 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 "" #. type: \s; block (usually verbatim code) #: train601-help/tproc1.txt:12 #, no-wrap msgid "" "extern void object::Function1( )\n" "{\n" "\tSquare(15);\n" "\tSquare(25);\n" "}" msgstr "" #. type: Plain text #: train601-help/tproc1.txt:14 #, no-wrap 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 "" #. type: \s; block (usually verbatim code) #: train601-help/tproc1.txt:24 #, no-wrap msgid "" "extern void object::Function1( )\n" "{\n" "\t<n/>main function ...<code>\n" "}\n" "\n" "void object::Square(float length)\n" "{\n" "\t</code>new function ...<c/>\n" "}" msgstr "" #. type: Plain text #: train601-help/tproc1.txt:26 #, no-wrap msgid "" "Let us look in detail at the different elements of the declaration of the " "function <code>Square</code>:" msgstr "" #. type: Plain text #: train601-help/tproc1.txt:29 #, no-wrap msgid "" "<code><a cbot|void>void</a></code>\n" "This means that this function will return no value." msgstr "" #. type: Plain text #: train601-help/tproc1.txt:32 #, no-wrap msgid "" "<code><a cbot|object>object</a>::</code>\n" "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." msgstr "" #. type: Plain text #: train601-help/tproc1.txt:35 #, no-wrap msgid "" "<code>Square ( )</code>\n" "This is the name of the function. You can call it Square, or any other name." msgstr "" #. type: Plain text #: train601-help/tproc1.txt:38 #, no-wrap msgid "" "<code><a cbot|float>float</a> length</code>\n" "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>." msgstr "" #. type: Plain text #: train601-help/tproc1.txt:40 #, no-wrap msgid "Here is in detail what will happen when the program is executed:\n" msgstr "" #. type: Bullet: '-' #: train601-help/tproc1.txt:40 #, no-wrap msgid "First the main function <code>Function</code> will be executed." msgstr "" #. type: Bullet: '-' #: train601-help/tproc1.txt:41 #, no-wrap 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 "" #. type: Bullet: '-' #: train601-help/tproc1.txt:42 #, no-wrap msgid "" "At the end of the function <code>Square</code>, the program follows the " "orange arrow and comes back to the main function." msgstr "" #. type: Bullet: '-' #: train601-help/tproc1.txt:43 #, no-wrap 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 "" #. type: Bullet: '-' #: train601-help/tproc1.txt:44 #, no-wrap msgid "" "At the end of the function <code>Square</code>, the program follows the " "light blue arrow and comes back to the main function." msgstr "" #. type: Image filename #: train601-help/tproc1.txt:46 #, no-wrap msgid "tproc1b" msgstr "" #. type: Plain text #: train601-help/tproc1.txt:48 #, no-wrap 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 "" #. type: \s; block (usually verbatim code) #: train601-help/tproc1.txt:57 #, no-wrap msgid "" "void object::Square(float length)\n" "{\n" "\tfor ( int i=0 ; i<4 ; i=i+1 )\n" "\t{\n" "\t\tmove(length);\n" "\t\tturn(90);\n" "\t}\n" "}" msgstr "" #. type: \t; header #: train601-help/tproc1.txt:58 #, no-wrap msgid "See also" msgstr "" #. type: Plain text #: train601-help/tproc1.txt:59 #, no-wrap msgid "" "<a cbot>Programming</a>, <a cbot|type>types</a> and <a " "cbot|category>categories</a>." msgstr ""