Новая Школа - онлайн-школа подготовки к ЕГЭ
При поддержке
Посмотреть все тесты нейросети

Тест на тему Составление программы для простых роботов

18 марта 2026 14:36

{Другой предмет}
9 Класс

Этот тест сгенерирован искусственным интеллектом. Возможны ошибки.

Сгенерировать свой тест

Ниже представлен тест по предмету Программирование на тему «Составление программы для простых роботов» для 9 класса. Вопросы открытые. В конце каждого вопроса приведён пример ответа (пример возможного решения).

  1. Вопрос 1 Опишите алгоритм движения робота, который повторяет цикл: ехать вперед на заданное расстояние D, затем поворачивать на 90 градусов вправо. Запишите алгоритм в виде псевдокода.

Ответ (пример решения):

  • Ввод: D — расстояние движения вперед (см).
  • Повторить 4 раза:
    • moveForward(D)
    • turnRight(90)

Дополнительное пояснение: можно выразить через цикл while:

  • i = 0
  • while i < 4:
    • moveForward(D)
    • turnRight(90)
    • i = i + 1
  1. Вопрос 2 Напишите псевдокод для робота, который следует вдоль стены, поддерживая расстояние D от стены. Робот читает датчик расстояния dist. Если dist > D + ε — поворачиваем чуть левее, если dist < D - ε — поворачиваем чуть правее, иначе продолжаем идти вперед небольшим шагом.

Ответ (пример решения):

  • ε — допустимая погрешность (например, 1–2 см)
  • loop forever:
    • dist = readDistanceSensor()
    • if dist > D + ε:
      • adjustCourse(leftBySmallAngle)
    • else if dist < D - ε:
      • adjustCourse(rightBySmallAngle)
    • moveForward(shortStep)
  1. Вопрос 3 Опишите в псевдокоде, как робот может выбирать дорогу на перекрёстке между двумя путями: если левая дорожка свободна — повернуть налево, иначе если правая свободна — повернуть направо, иначе остановиться.

Ответ (пример решения):

  • if isPathFree(left):
    • turnLeft(90)
  • else if isPathFree(right):
    • turnRight(90)
  • else:
    • stopAndWait()
  1. Вопрос 4 Напишите псевдокод для робота, который подбирает предмет: подойти к предмету на расстоянии менее чем 5 см и затем активировать манипулятор (захват), чтобы взять предмет.

Ответ (пример решения):

  • while true:
    • dist = readDistanceSensor()
    • if dist <= 5:
      • activateGripper(grasp)
      • break
    • moveForward(smallStep)
  1. Вопрос 5 Объясните, чем отличается условный оператор (if) от цикла. Как они используются вместе в программах для роботов?

Ответ (пример решения):

  • Условный оператор if: выбирает одну из ветвей выполнения в зависимости от истинности условия (один раз за проход программы).
  • Цикл (for, while): повторяет набор инструкций столько раз (или до выполнения условия).
  • В программах для роботов часто используют сочетание: цикл управляет повторением действий, внутри цикла применяют if для принятия решений по текущим условиям (например, что делать при столкновении или обнаружении препятствия).
  1. Вопрос 6 Приведите пример использования переменных скорости и угла поворота в программе робота. Что означают названия speed и turnAngle, и как они могут изменяться во времени?

Ответ (пример решения):

  • speed — текущая скорость движения робота (единицы: см/с или градусы/с для поворотов). Пример: speed = 20 (см/с).
  • turnAngle — угол поворота за одну операцию или за единицу времени (пример: turnAngle = 90).
  • Во время выполнения скорость может меняться в зависимости от условий: приближаясь к препятствию, скорость уменьшается; углы поворота могут меняться для корректировки курса (turnAngle = 15, 45 и т.д., в зависимости от ситуации).
  1. Вопрос 7 Опишите, как منطожно разделить программу на модули: «движение», «сенсоры», «логика действий». Назовите основные функции каждого модуля и как они взаимодействуют.

Ответ (пример решения):

  • Модуль движения (movement):
    • функции: moveForward(dist), turnLeft(angle), turnRight(angle), stop()
    • взаимодействие: вызывается модулями логики действий для физического перемещения робота.
  • Модуль сенсоров (sensors):
    • функции: readDistance(), readColor(), readTouch()
    • взаимодействие: поставляет данные в модуль логики действий; может публиковать события.
  • Модуль логики действий (behavior/logic):
    • функции: decideNextAction(), followWall(), avoidCollision(), pickObject()
    • взаимодействие: вызывает функции модуля движения и читает данные модулей сенсоров для принятия решений.
  • Взаимодействие через ясные интерфейсы: например, существование функций-сеттеров и геттеров или событий.
  1. Вопрос 8 Практическое задание: напишите псевдокод для робота, который делает следующее: двигается вперед 0.5 м, затем поворачивает на 90° вправо, повторяет цикл 3 раза, затем останавливается. Включите обработку сенсора так, чтобы прерывать цикл, если обнаружено препятствие (сенсор расстояния < 15 см).

Ответ (пример решения):

  • циклCount = 0
  • while циклCount < 3:
    • dist = readDistanceSensor()
    • if dist < 15:
      • stop()
      • exit
    • moveForward(0.5)
    • turnRight(90)
    • циклCount = циклCount + 1
  • stop()

Ключ к тесту (ответы к каждому вопросу можно использовать как ориентир, реальные решения могут различаться по стилю псевдокода, но должны передавать смысл задач):

  1. Простейшее повторение движения по квадрату: D, поворот 90°, повторить 4 раза.
  2. Страничное ориентирование вдоль стены: держать заданную дистанцию, корректировать курс по отклонениям от D.
  3. Разветвления на перекрёстке: выбор направления через тесты доступности дорожек с приоритетом лево, затем право.
  4. Подбор предмета: приблизиться к предмету на расстояние ≤ 5 см и активировать захват.
  5. Отличие if и цикла; совместное использование в робототехнике.
  6. Примеры переменных speed и turnAngle; как и зачем они меняются.
  7. Модули: движении, сенсоры, логика действий; взаимодействие через интерфейсы функций и данных.
  8. Практическое задание с повторением трех раз и прерыванием при препятствии.

Если нужно, могу адаптировать стиль вопросов под конкретную учебную программу, язык псевдокода (например, Pseudocode, Scratch-подобный синтаксис, или структура похожа на Python-псевдо), или увеличить/сузить уровень сложности.


Сгенерировать свой тест

Популярные тесты

{Другой предмет}
10 Класс
{Другой предмет}
7 Класс
Литература
5 Класс
{Другой предмет}
10 Класс

Саша — ассистент в телеграмме