Задание

Выберите правильные варианты написания функции, с помощью которой робот сможет проехать на заданное расстояние величиной distance. Это расстояние не превышает длину окружности колеса робота радиусом R. В данном случае будет использован встроенный энкодер, подключенный вместе с левым мотором в первый порт. Причем, энкодер, как вы помните, измеряет угол поворота оси колеса величиной angle, размерностью которого в данном случае являются градусы. Левый мотор подключен в первый порт, правый мотор подключен в десятый порт.

int angle = 0;

void forward(int LeftMotor, int RightMotor, int angle)

{

nMotorEncoder[port1] = 0;

while(nMotorEncoder[port1] < angle)

{

motor[port1] = LeftMotor;

motor[port10] = RightMotor;

wait1Msec(30);

}

motor[port1] = 0;

motor[port10] = 0;

wait1Msec(30);

}

int angle = 0;

void moving(int LeftMotor, int RightMotor, int distance, int R)

{

nMotorEncoder[port1] = 0;

angle = (180*distance)/(3.14*R);

while(nMotorEncoder[port1] < angle)

{

motor[port1] = LeftMotor;

motor[port10] = RightMotor;

wait1Msec(30);

}

motor[port1] = 0;

motor[port10] = 0;

wait1Msec(30);

}

int angle = 0;

void moving(int LeftMotor, int RightMotor, int distance)

{

nMotorEncoder[port1] = 0;

while(nMotorEncoder[port1] < distance)

{

motor[port1] = LeftMotor;

motor[port10] = RightMotor;

wait1Msec(30);

}

motor[port1] = 0;

motor[port10] = 0;

wait1Msec(30);

}

int angle = 0

void moving(int LeftMotor, int RightMotor, int angle)

{

nMotorEncoder[port1] = 0

while(nMotorEncoder[port1] < angle)

{

motor[port1] = LeftMotor

motor[port10] = RightMotor

wait1Msec(30)

}

motor[port1] = 0

motor[port10] = 0

wait1Msec(30)

}

int angle = 0;

void moving(int LeftMotor, int RightMotor, int angle)

{

nMotorEncoder[port1] = 0;

while(nMotorEncoder[port1] > angle)

{

motor[port1] = LeftMotor;

motor[port10] = RightMotor;

wait1Msec(30);

}

motor[port1] = 0;

motor[port10] = 0;

wait1Msec(30);

}