Выберите правильные варианты написания функции, с помощью которой робот сможет развернуться на месте налево на длину дуги, равной distance. Радиус колеса равен R. Левый мотор подключен в первый порт, правый мотор подключен в десятый порт. В данном случае будет использован оптический энкодер, подключенный в первый цифровой порт. Энкодер, как вы помните, измеряет угол поворота оси колеса величиной angle, размерностью которого в данном случае являются градусы. int angle = 0; void rotate(int LeftMotor, int RightMotor, int distance, int R) { angle = (180*distance)/(3.14*R); while(SensorValue[dgtl1] < angle) { motor[port1] = -LeftMotor; motor[port10] = RightMotor; wait1Msec(30); } motor[port1] = 0; motor[port10] = 0; wait1Msec(30); } int angle = 0; int encoder = 0; void rotate(int LeftMotor, int RightMotor, int distance, int R) { angle = (180*distance)/(3.14*R); while(encoder < angle) { motor[port1] = -LeftMotor; motor[port10] = RightMotor; wait1Msec(30); encoder = SensorValue[dgtl1] ; } motor[port1] = 0; motor[port10] = 0; wait1Msec(30); } void rotate(int LeftMotor, int RightMotor, int distance, int R) { angle = (180*distance)/(3.14*R); while(encoder < angle) { motor[port1] = -LeftMotor; motor[port10] = RightMotor; wait1Msec(30); encoder = SensorValue[dgtl1] ; } motor[port1] = 0; motor[port10] = 0; wait1Msec(30); } int angle = 0; void rotate(int LeftMotor, int RightMotor, int distance, int R) { angle = (180*distance)/(3.14*R); while(SensorValue[dgtl1] < angle) { motor[port1] = LeftMotor; motor[port10] = -RightMotor; wait1Msec(30); } motor[port1] = 0; motor[port10] = 0; wait1Msec(30); } int angle = 0; void rotate(int LeftMotor, int RightMotor, int distance, int R) { while(SensorValue[dgtl1] < distance) { motor[port1] = -LeftMotor; motor[port10] = RightMotor; wait1Msec(30); } motor[port1] = 0; motor[port10] = 0; wait1Msec(30); }
Задание

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

\[не удалось загрузить изображение\]

  • int angle = 0;
    void rotate\(int LeftMotor, int RightMotor, int distance, int R\)
    {
    angle = \(180\*distance\)/\(3\.14\*R\);
    while\(SensorValue⟨1⟩ \\lt angle\)
    {
    motor
    \[port1\]
    = -LeftMotor;
    motor
    \[port10\]
    = RightMotor;
    wait1Msec\(30\);
    }
    motor
    \[port1\]
    = 0;
    motor
    \[port10\]
    = 0;
    wait1Msec\(30\);
    }
  • int angle = 0;
    int encoder = 0;
    void rotate\(int LeftMotor, int RightMotor, int distance, int R\)
    {
    angle = \(180\*distance\)/\(3\.14\*R\);
    while\(encoder \\lt angle\)
    {
    motor
    \[port1\]
    = -LeftMotor;
    motor
    \[port10\]
    = RightMotor;
    wait1Msec\(30\);
    encoder = SensorValue
    \[dgtl1\]
    ;
    }
    motor
    \[port1\]
    = 0;
    motor
    \[port10\]
    = 0;
    wait1Msec\(30\);
    }
  • void rotate\(int LeftMotor, int RightMotor, int distance, int R\)
    {
    angle = \(180\*distance\)/\(3\.14\*R\);
    while\(encoder \\lt angle\)
    {
    motor
    \[port1\]
    = -LeftMotor;
    motor
    \[port10\]
    = RightMotor;
    wait1Msec\(30\);
    encoder = SensorValue
    \[dgtl1\]
    ;
    }
    motor
    \[port1\]
    = 0;
    motor
    \[port10\]
    = 0;
    wait1Msec\(30\);
    }
  • int angle = 0;
    void rotate\(int LeftMotor, int RightMotor, int distance, int R\)
    {
    angle = \(180\*distance\)/\(3\.14\*R\);
    while\(SensorValue⟨1⟩ \\lt angle\)
    {
    motor
    \[port1\]
    = LeftMotor;
    motor
    \[port10\]
    = -RightMotor;
    wait1Msec\(30\);
    }
    motor
    \[port1\]
    = 0;
    motor
    \[port10\]
    = 0;
    wait1Msec\(30\);
    }
  • int angle = 0;
    void rotate\(int LeftMotor, int RightMotor, int distance, int R\)
    {
    while\(SensorValue⟨1⟩ \\lt distance\)
    {
    motor
    \[port1\]
    = -LeftMotor;
    motor
    \[port10\]
    = RightMotor;
    wait1Msec\(30\);
    }
    motor
    \[port1\]
    = 0;
    motor
    \[port10\]
    = 0;
    wait1Msec\(30\);
    }