
Вопрос задан 14.02.2025 в 16:26.
Предмет Информатика.
Спрашивает Миклис Яна.
Локатор ориентирован на одну из сторон света ("С" — север, "З" — запад, "Ю" — юг, "В" — восток) и может принимать три цифровые команды: 1 — поворот налево, –1 — поворот направо, 2 — поворот на 180 градусов. Дан символ C — исходная ориентация локатора и числа N1 и N2 — две посланные ему команды. Вывести ориентацию локатора после выполнения данных команд. Написать программу на языке Паскаль
Ответы на вопрос

Отвечает Кружкова Мария.
Давайте подробно разберем задачу и напишем программу на языке Паскаль, которая решает её.
Задача
Имеется локатор, который изначально ориентирован в одну из сторон света: Север (С
), Запад (З
), Юг (Ю
), Восток (В
). Локатор может выполнять три типа команд:
1
— повернуть налево (на 90 градусов против часовой стрелки);-1
— повернуть направо (на 90 градусов по часовой стрелке);2
— развернуться на 180 градусов.
Исходя из начальной ориентации и двух команд, нужно определить итоговое направление локатора.
Алгоритм решения
- Зададим порядок сторон света как список:
[С, В, Ю, З]
. Это удобно, так как при поворотах налево и направо порядок вращения можно реализовать через индекс. - При повороте налево (1) мы перемещаемся на один шаг влево по списку. При повороте направо (-1) — на один шаг вправо.
- Для поворота на 180 градусов (2) просто переходим к противоположной стороне света.
- Преобразуем команды и текущую ориентацию в индексы, чтобы удобно обрабатывать их.
Программа на языке Паскаль
Объяснение программы
- Инициализация массива
directions
: Стороны света упорядочены по кругу: Север — Восток — Юг — Запад. Это важно для расчётов поворотов. - Начальная ориентация: Находим, какая сторона соответствует символу
initial
. Это делается перебором массиваdirections
. - Обработка команд: Каждая команда изменяет текущий индекс в массиве
directions
:- Поворот налево (
1
) сдвигает индекс на -1 с учётом цикличности. - Поворот направо (
-1
) сдвигает индекс на +1 с учётом цикличности. - Поворот на 180 градусов (
2
) сдвигает индекс на +2 или -2 в зависимости от положения.
- Поворот налево (
- Вывод результата: По окончании всех команд выводится сторона света, соответствующая текущему индексу.
Пример выполнения
Ввод:
Вывод:
Ввод:
Вывод:
Похожие вопросы









Топ вопросов за вчера в категории Информатика









Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili