en to ru translation catalogue (26 entries)

note: type: Title-text
en: Radar
ru: Радар

note: type: Resume-text
en: Use the radar to find lots of stupid blue crosses.
ru: С помощью радара найдите множество синих крестов.

note: type: \b; header
en: Exercise
ru: Упражнение

note: type: Plain text
en: Let the bot find all the <a object|waypoint>blue crosses</a> on the ground. As soon as the bot passed over one of the crosses, it will disappear. Here is the general principle that you will apply:
ru: Пусть бот отыщет на земле все <a object|waypoint>синие кресты</a>. Как только бот пройдет над одним из крестов, он исчезнет. Вот общий принцип, который вы должны применить:

note: type: Plain text
en: Repeat forever:
ru: Повторять всегда:

note: type: Bullet: 'o'
en: Look for a cross
ru: Искать крест

note: type: Bullet: 'o'
en: If there is none, stop the program.
ru: Если креста нет, остановить программу.

note: type: Bullet: 'o'
en: Calculate the direction of the cross.
ru: Рассчитать направление к кресту.

note: type: Bullet: 'o'
en: Set the speed of the motors in such a way that they will find their way to the cross.
ru: Установить скорость моторов таким способом, чтобы они могли найти путь к кресту.

note: type: \b; header
en: The program
ru: Программа

note: type: Plain text
en: Use a <code><a cbot|while>while</a></code> loop in order to repeat several instructions over and over:
ru: Используйте цикл <code><a cbot|while>while</a></code>, чтобы повторять несколько инструкций снова и снова:

note: type: Source code
en: <code>while ( true )
    {
    	</code>instructions...<c/>
    }
ru: <code>while ( true )
    {
    	</code>инструкции...<c/>
    }

note: type: Plain text
en: The instruction <code><a cbot|radar>radar</a></code> will detect the blue crosses and put their description into a variable, for example <code>spot</code>. In this case, <code><a cbot|radar>radar</a>()</code> needs only one parameter, i.e. the category of the object that it must look for:
ru: Инструкция <code><a cbot|radar>radar</a></code> будет искать синие кресты и переводить направление к ним в переменную, например <code>spot</code>. В этом случае инструкции <code><a cbot|radar>radar</a>()</code> необходим всего один параметр, т.е. категория объекта, который он должен искать:

note: type: Plain text
en: Once all the crosses have been found, <code>radar</code> will return the value <code><a cbot|null>null</a></code>. You will have to test this case and react accordingly with the instruction <code><a cbot|if>if</a></code>:
ru: Когда будут найдены все кресты, <code>radar</code> возвратит значение <code><a cbot|null>null</a></code>. Вы должны будете все это проверить и действовать согласно инструкции <code><a cbot|if>if</a></code>:

note: type: Plain text
en: <n/>The instruction <code><a cbot|break>break</a></code> will stop the infinite loop <code>while (true)</code>.
ru: <n/>Инструкция <code><a cbot|break>break</a></code> остановит бесконечный цикл <code>while (true)</code>.

note: type: Plain text
en: Use the instruction <code><a cbot|direct>direction</a>()</code> to calculate the angle of the rotation that the bot must perform in order to turn towards the blue cross. The coordinates of the object are given by <code>spot.position</code>. The following line will put the angle of the necessary rotation into the <a cbot|var>variable</a> <code>dir</code>:
ru: Используйте инструкцию <code><a cbot|direct>direction</a>()</code> чтобы рассчитать угол, на который должен развернуться бот, чтобы повернуться в направлении синего креста. Координаты объекта задаются <code>spot.position</code>. Следующие строки устанавливают угол необходимого поворота в <a cbot|var>переменную</a> <code>dir</code>:

note: type: Plain text
en: The value of the angle is positive if the blue cross is on your left hand, and negative if it is on your right hand. If the cross to be reached is on your left hand, you must set the right-hand motor to full speed, and set the left-hand motor to a lower speed, according to the angle:
ru: Значение угла положительное, если синий крест расположен слева от вас, и отрицательное, если он справа. Если крест расположен слева, вы должны установить максимальную скорость правостороннего мотора и установить левосторонний мотор на более низкие обороты, в соответствии с углом:

note: type: Plain text
en:     direction = <code>  0</code> -> speed = <code> 1.0</code>
        direction = <code> 45</code> -> speed = <code> 0.5</code>
        direction = <code> 90</code> -> speed = <code> 0.0</code>
        direction = <code>135</code> -> speed = <code>-0.5</code>
        direction = <code>180</code> -> speed = <code>-1.0</code>
ru:     направлние = <code>  0</code> -> скорость = <code> 1.0</code>
        направлние = <code> 45</code> -> скорость = <code> 0.5</code>
        направлние = <code> 90</code> -> скорость = <code> 0.0</code>
        направлние = <code>135</code> -> скорость = <code>-0.5</code>
        направлние = <code>180</code> -> скорость = <code>-1.0</code>

note: type: Plain text
en: The graphic below shows the speed of the left-hand and right-hand motor as set by the instruction <code><a cbot|motor>motor</a></code>, according to the angle:
ru: График внизу отображает скорость левостороннего и правостороннего мотора, как было задано инструкцией <code><a cbot|motor>motor</a></code>, в соответствии с углом:

note: type: Plain text
en: If the cross is straight ahead, the angle is 0 degrees. The motors will get the speeds 1 and 1, which means full speed ahead. If the cross is behind, the right motor will be set to speed -1: it will turn around. You can use the <a cbot|expr>expression</a> <code>1+dir/90</code> in order to calculate the necessary speed of the motors:
ru: Если крест расположен прямо впереди, угол равен 0 градусов. Моторы будут работать на скорости 1 и 1, что означает полный вперед. Если крест сзади, правый мотор будет работать на скорости -1: бот развернется. Вы можете использовать <a cbot|expr>выражение</a> <code>1+dir/90</code> чтобы рассчитать необходимую скорость моторов:

note: type: Source code
en: <c/>if ( dir < 0 )  // on the right side?
    {
    	motor(1, 1+dir/90);  // turns more or less
    }
ru: <c/>if ( dir < 0 )  // справа?
    {
    	motor(1, 1+dir/90);  // поворачивает
    }

note: type: Plain text
en: Use the same principle if the angle has got a positive value, ranging between 0 and 180 degrees. It is up to you to work out the exact instructions to be performed:
ru: Используйте тот же принцип, если угол принимает положительное значение между 0 и 180 градусами. Вы можете использовать или не использовать в точности эти инструкции:

note: type: Source code
en: <code>else  // on the left side?
    {
    	</code>up to you to fill in here...<c/>
    }
ru: <code>else  // слева?
    {
    	</code>здесь идет код, написанный вами...<c/>
    }

note: type: Plain text
en: At the beginning of the program, you must still declare all the variables. <code>spot</code> is of type <code><a cbot|object>object</a></code>, whereas <code>dir</code> is of type <code><a cbot|float>float</a></code>.
ru: В самом начале программы вы должны задать переменные. <code>spot</code> относится к типу <code><a cbot|object>object</a></code>, а <code>dir</code> к типу <code><a cbot|float>float</a></code>.

note: type: \t; header
en: See also
ru: См. также

note: type: Plain text
en: <a cbot>Programming</a>, <a cbot|type>types</a> and <a cbot|category>categories</a>.
ru: <a cbot>Программирование</a>, <a cbot|type>типы</a> и <a cbot|category>категории</a>.
