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 |
алг Case10(арг цел N,арг рез лит C) нач выбор при N=1: выбор при C="С": C:="З" при C="З":C:="Ю" при C="Ю":C:="В" при C="В":C:="С" все при N=-1: выбор при C="С":C:="В" при C="В":C:="Ю" при C="Ю":C:="З" при C="З":C:="С" все все кон |
Решение 2 от Дмитрия:
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 |
алг case10 (арг лит C,цел N, рез лит направление) дано -1<=N<=1 нач если C="С" то направление:="север" выбор при N=0: направление:="продолжать движение"+ направление при N=1: направление:="поворот налево"+ направление при N=-1: направление:="поворот направо"+ направление все все если C="З" то направление:="запад" выбор при N=0: направление:="продолжать движение"+ направление при N=1: направление:="поворот налево"+ направление при N=-1: направление:="поворот направо"+ направление все все если C="Ю" то направление:="юг" выбор при N=0: направление:="продолжать движение"+ направление при N=1: направление:="поворот налево"+ направление при N=-1: направление:="поворот направо" + направление все все если C="В" то направление:="восток" выбор при N=0: направление:="продолжать движение"+ направление при N=1: направление:="поворот налево"+ направление при N=-1: направление:="поворот направо"+ направление все все кон |
Другие задачи из раздела Case можно посмотреть здесь.
Комментарии: