Какой будет ориентация локатора после выполнения данных команд? Локатор ориентирован на одну из сторон света («с»

Какой будет ориентация локатора после выполнения данных команд? Локатор ориентирован на одну из сторон света («с» — север, «з» — запад, «ю» — юг, «в» — восток), и он может принимать три цифровые команды: 1 — поворот налево, –1 — поворот направо, 2 — поворот на 180 градусов. У нас есть символ «с» — исходная ориентация локатора, а также числа n1 и n2, которые представляют две посланные локатору команды. Выведите ориентацию локатора после выполнения этих команд. Напишите программу на языке Паскаль.
Цыпленок

Цыпленок

Хорошо, чтобы решить данную задачу, напишем программу на языке Паскаль, которая вычислит ориентацию локатора после выполнения команд.

pascal
program LocatorOrientation;
var
orientation: char; // переменная для хранения ориентации локатора
n1, n2: integer; // переменные для хранения команд

begin
// Ввод данных
writeln("Введите исходную ориентацию локатора (с, з, ю, в): ");
readln(orientation);
writeln("Введите первую команду (1 - налево, -1 - направо, 2 - поворот на 180 градусов): ");
readln(n1);
writeln("Введите вторую команду (1 - налево, -1 - направо, 2 - поворот на 180 градусов): ");
readln(n2);

// Вычисление новой ориентации локатора
case orientation of
"с": begin
if n1 = 1 then
begin
if n2 = 1 then
orientation := "з"
else if n2 = -1 then
orientation := "в"
else if n2 = 2 then
orientation := "ю";
end
else if n1 = -1 then
begin
if n2 = 1 then
orientation := "в"
else if n2 = -1 then
orientation := "з"
else if n2 = 2 then
orientation := "ю";
end
else if n1 = 2 then
begin
if n2 = 1 then
orientation := "ю"
else if n2 = -1 then
orientation := "ю"
else if n2 = 2 then
orientation := "с";
end;
end;

"з": begin
if n1 = 1 then
begin
if n2 = 1 then
orientation := "ю"
else if n2 = -1 then
orientation := "с"
else if n2 = 2 then
orientation := "в";
end
else if n1 = -1 then
begin
if n2 = 1 then
orientation := "с"
else if n2 = -1 then
orientation := "ю"
else if n2 = 2 then
orientation := "в";
end
else if n1 = 2 then
begin
if n2 = 1 then
orientation := "в"
else if n2 = -1 then
orientation := "в"
else if n2 = 2 then
orientation := "з";
end;
end;

"ю": begin
if n1 = 1 then
begin
if n2 = 1 then
orientation := "в"
else if n2 = -1 then
orientation := "з"
else if n2 = 2 then
orientation := "с";
end
else if n1 = -1 then
begin
if n2 = 1 then
orientation := "з"
else if n2 = -1 then
orientation := "в"
else if n2 = 2 then
orientation := "с";
end
else if n1 = 2 then
begin
if n2 = 1 then
orientation := "с"
else if n2 = -1 then
orientation := "с"
else if n2 = 2 then
orientation := "ю";
end;
end;

"в": begin
if n1 = 1 then
begin
if n2 = 1 then
orientation := "ю"
else if n2 = -1 then
orientation := "с"
else if n2 = 2 then
orientation := "з";
end
else if n1 = -1 then
begin
if n2 = 1 then
orientation := "с"
else if n2 = -1 then
orientation := "ю"
else if n2 = 2 then
orientation := "з";
end
else if n1 = 2 then
begin
if n2 = 1 then
orientation := "з"
else if n2 = -1 then
orientation := "з"
else if n2 = 2 then
orientation := "в";
end;
end;
end;

// Вывод новой ориентации локатора
writeln("Ориентация локатора после выполнения команд: ", orientation);
end.


В этой программе мы используем переменную "orientation" для хранения исходной ориентации локатора и переменные "n1" и "n2" для хранения двух команд. Мы вводим значения для этих переменных с помощью команды "readln". Затем, используя оператор "case", мы рассматриваем все возможные комбинации значений исходной ориентации и команд, чтобы определить новую ориентацию локатора. Наконец, мы выводим новую ориентацию локатора с помощью команды "writeln".

Таким образом, вы можете использовать эту программу на языке Паскаль для решения задачи с ориентацией локатора. Не забудьте сначала установить среду разработки Паскаль на свой компьютер, чтобы запустить программу.
Знаешь ответ?
Задать вопрос
Привет!
hello