en to ru translation catalogue (33 entries)

note: type: Title-text, ScriptName-text
en: Dragster
ru: Миноискатель

note: type: Resume-text
en: Program a progressive deceleration in order to avoid the mines right behind the goal.
ru: Запрограммируйте постепенное снижение скорости, чтобы избежать мины прямо перед целью.

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

note: type: Plain text
en: Reach the finishing pad (25m in front of you) as fast as possible, using the instruction <code>motor( , )</code>. You will have to slow down progressively at the end of the move, otherwise the bot will get blown up on the <a object|mine>mines</a>.
ru: Достигните финишной площадки (25 м перед вами) как можно быстрее, используя инструкцию <code>motor( , )</code>. В конце движения вы должны будете постепенно снизить свою скорость, или бот подорвется на <a object|mine>минах</a>.

note: type: Plain text
en: You could very well write no more than <c/><a cbot|move>move</a>(25);<n/>, this would work perfectly well. However, the aim of this exercise is to learn how to use the instruction <code><a cbot|motor>motor</a></code>.
ru: Вы можете ничего больше не писать кроме <c/><a cbot|move>move</a>(25);<n/>, это должно сработать просто идеально. Тем не менее, это упражнение преследует цель изучить использование инструкции <code><a cbot|motor>motor</a></code>.

note: type: Plain text
en: This instruction asks for two values:
ru: Эта инструкция запрашивает два значения:

note: type: Bullet: '1)'
en: The speed of the left-hand motor.
ru: Скорость левостороннего мотора.

note: type: Bullet: '2)'
en: The speed of the right-hand motor.
ru: Скорость правостороннего мотора.

note: type: Plain text
en: The values must range between -1 and 1:
ru: Значения должны быть между -1 и 1:

note: type: Bullet: '-'
en: 1 = full throttle backward
ru: 1 = полная тяга назад

note: type: Plain text
en:  0 = stop
     1 = full throttle forward
ru:  0 = стоп
     1 = полная тяга вперед

note: type: Plain text
en: For example, <c/>motor(0.5, 0.5);<n/> will move the motor forward with half-speed, until new instructions are given to the motors.
ru: Например, <c/>motor(0.5, 0.5);<n/> будет двигать машину вперед на среднем ходу, пока она не получит дальнейших инструкций.

note: type: Plain text
en: With the instruction <c/>motor(0.5, 0.6);<n/>, the bot will move forward with half-speed, turning at the same time slightly to the left: the right-hand motor moves a little faster (<code>0.6</code>) than the left-hand motor (<code>0.5</code>).
ru: С помощью инструкции <c/>motor(0.5, 0.6);<n/>, можно заставить бота двигаться вперед на среднем ходу, одновременно медленно поворачиваясь влево: правосторонний мотор движется немного быстрее (<code>0.6</code>), чем левосторонний мотор (<code>0.5</code>).

note: type: \b; header
en: General principle
ru: Обший принцип

note: type: Plain text
en: In order to move forward for exactly 25 meters and not more, you must move full speed during the first 23 meters, then reduce the speed of the motors progressively during the last two meters.
    The <a cbot|var>variable</a> <a cbot|object>position</a> gives you at any moment the current position of the bot, and the instruction <c/><a cbot|dist>distance</a>( , );<n/> returns the distance between two points. The best way to know where you are consists in saving the current position before the start into a <a cbot|var>variable</a>, for example a variable called <code>start</code>. Then you can calculate the distance between the starting position and your current position with <code>distance(position, start)</code>.
ru: Чтобы переместиться вперед точно на 25 метров и остановиться, вы должны двигаться первые 23 метра на полной скорости, а после этого снизить скорость на последнем отрезке длиной два метра.
    <a cbot|var>Переменная</a> <a cbot|object>position</a> в любой момент сообщает вам о текущей позиции бота, а инструкция <c/><a cbot|dist>distance</a>( , );<n/> выдает расстояние между двумя точками. Лучший способ узнать ваше текущее положение заключается в сохранении текущей позиции перед тем, как задать <a cbot|var>переменную</a>. Например, переменную, которая называется <code>start</code>. После этого вы сможете высчитать расстояние между начальной позицией и вашей текущей позицией: <code>distance(позиция, старт)</code>.

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

note: type: Bullet: '1)'
en: declare the variables
ru: задание переменных

note: type: Bullet: '2)'
en: save the starting position
ru: сохранение стартовой позиции

note: type: Bullet: '4)'
en: Perform an infinite <code><a cbot|while>while</a></code> loop:
ru: Бесконечный цикл <code><a cbot|while>while</a></code>:

note: type: Source code
en: <c/>	while ( true )
    	{
    		len = distance(position, start);
    		if ( len > 25-2 )
    		{
    			motor( less than before ! );
    		}
    	}
ru: <c/>	while ( true )
    	{
    		len = distance(позиция, старт);
    		if ( len > 25-2 )
    		{
    			motor( меньше, чем раньше ! );
    		}
    	}

note: type: Plain text
en: As long as the distance between the start and the current position is smaller than 23m, the instruction in braces after the <code><a cbot|if>if</a></code> instruction will not be executed, so the motors keep their maximum speed as they were told by the <c/><a cbot|motor>motor</a>(1,1);<n/> instruction.
ru: Пока расстояние между стартовой и текущей позициями меньше 23 метров, инструкция в скобках после <code><a cbot|if>if</a></code> выполняться не будет, поэтом моторы будут продолжать на максимальной мощности, как им и было приказано инструкцией <c/><a cbot|motor>motor</a>(1,1);<n/>.

note: type: Plain text
en: In order to slow down progressively, the speed of the motors must be proportional to the remaining distance:
ru: Чтобы постепенно снизить скорость, скорость моторов должна быть пропорциональной оставшемуся расстоянию:

note: type: Bullet: 'o'
en: <code>2.0</code> meters left -> speed = <code>1.00</code> (maximum)
ru: <code>2.0</code> метра осталось -> скорость = <code>1.00</code> (максимум)

note: type: Bullet: 'o'
en: <code>1.5</code> meters left -> speed = <code>0.75</code>
ru: <code>1.5</code> метра осталось -> скорость = <code>0.75</code>

note: type: Bullet: 'o'
en: <code>1.0</code> meter left  -> speed = <code>0.50</code>
ru: <code>1.0</code> метр остался  -> скорость = <code>0.50</code>

note: type: Bullet: 'o'
en: <code>0.5</code> meter left  -> speed = <code>0.25</code>
ru: <code>0.5</code> метра осталось  -> скорость = <code>0.25</code>

note: type: Bullet: 'o'
en: <code>0.0</code> meter left  -> speed = <code>0.00</code> (stop)
ru: <code>0.0</code> метров осталось  -> скорость = <code>0.00</code> (стоп)

note: type: Plain text
en: You can use the following <a cbot|expr>expression</a> <code>(25-len)/2</code> in order to calculate the value for the speed instruction that must be given to the motors.
ru: Вы можете использовать следующее <a cbot|expr>выражение</a> <code>(25-len)/2</code> чтобы высчитать значение для инструкции скорости, которая должна быть дана моторам.

note: type: Plain text
en: It is now up to you to put everything together and to test the program.
ru: Теперь вы должны сложить все это вместе и проверить программу.

note: type: \b; header
en: Remark
ru: Комментарий

note: type: Plain text
en: You can use values greater than 1 for the instruction <c/><a cbot|motor>motor</a>();<n/>, but the bot will not move any faster.
ru: Вы можете использовать значения больше 1 для инструкции <c/><a cbot|motor>motor</a>();<n/>, но от этого бот быстрее двигаться не будет.

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>.
