Case10. Робот может перемещаться в четырех направлениях («С» — север, «З» — запад, «Ю» — юг, «В» — восток) и принимать три цифровые команды: 0 — продолжать движение, 1 — поворот налево, –1 — поворот направо. Дан символ $$C$$ — исходное направление робота и целое число $$N$$ — посланная ему команда. Вывести направление робота после выполнения полученной команды.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
program Case10; var C:Char; //* N:Integer; begin Write('Введите текущее напрление перемещения робота: '); Readln(C); Write('Введите команду: '); Readln(N); Case C of 'N':Case N of 1:C:='W'; 0:C:='N'; -1:C:='E'; end; 'E':Case N of 1:C:='N'; 0:C:='E'; -1:C:='S'; end; 'S':Case N of 1:C:='E'; 0:C:='S'; -1:C:='W'; end; 'W':Case N of 1:C:='S'; 0:C:='W'; -1:C:='N'; end; end; Writeln(C); end. |
* Обозначение были взяты английские обозначения сторон света, т.к. при вводе с консоли всё плохо с кирилицей. Север — N Запад-W Юг-S Восток-E
буквами.
Другие задачи из раздела Case можно посмотреть здесь.
Комментарии: