По разделам



Задача Case 10


Робот может перемещаться в четырех направлениях («С» — север,
«З» — запад, «Ю» — юг, «В» — восток) и принимать три цифровые команды: 0 — продолжать движение, 1 — поворот налево, −1 — поворот
направо. Дан символ C — исходное направление робота и целое число N
— посланная ему команда. Вывести направление робота после выполнения полученной команды.

Код (C/C++)

#include <iostream>

using namespace std;

int main (){
    int n;
    char c;

    cout << "Direction:";
    cin >> c;
    cout << "Operation:";
    cin >> n;

    switch (c) {
        case 'С':
            switch (n) {
                case 1:
                    c='З';
                    break;
                case 0:
                    c='С';
                    break;
                case -1:
                    c='В';
                    break;
                }
            break;
        case 'В':
            switch (n) {
                case 1:
                    c='С';
                    break;
                case 0:
                    c='В';
                    break;
                case -1:
                    c='Ю';
                    break;
                }
        case 'Ю':
            switch (n) {
                case 1:
                    c='В';
                    break;
                case 0:
                    c='Ю';
                    break;
                case -1:
                    c='З';
                    break;
            }
            break;
        case 'З':
            switch (n) {
                case 1:
                    c='Ю';
                    break;
                case 0:
                    c='З';
                    break;
                case -1:
                    c='С';
                    break;
            }
    }
    cout << c;
    return 0;
}

Код (Python)

import random

M = random.randrange(1,13)
#M=12
d = {'С' : 'Север', 'З' : 'Запад', 'Ю' : 'Юг', 'B' : 'Восток'}
r = {-1 : "поворот направо", 0 : "продолжать движение", 1 : "поворот налево"}
d1 = {0 : 'С', 1: 'З',  2 : 'Ю', 3 : 'B'}
try:
    i = random.randrange(0,4)
    #print("i : ", i)
    #print("d1 : ", d1[i])
    #print("d : ", d[d1[i]])
    C = d[d1[i]]
    print("Исходное направление (C) : ", C)
    N = random.randrange(-1,2)
    print("Команда (N) : ", N)
    print("Поворот: ", r[N])
    if N == -1:
        print("Part -1")
        if i == 0:
            i = 3
            #print("Part ", d[d1[i]])
        elif i == 3:
            i = 2
            #print("Part ", d[d1[i]])
        elif i == 2:
            i = 1
            #print("Part ", d[d1[i]])
        elif i == 1:
            i == 0
            #print("Part ", d[d1[i]])
    elif N == 1:
        #print("Part -1")
        if i == 0:
            i = 1
        elif i == 1:
            i = 2
        elif i == 2:
            i = 3
        elif i == 3:
            d1 = 0
    C = d[d1[i]]
    print("Новое направление (C) : ", C)
except KeyError as e:
    print('Ошибка')
									

Код (Pascal)

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.
									




Case. Абрамян
Case 1 Просмотров: 11
Case 2 Просмотров: 13
Case 3 Просмотров: 14
Case 4 Просмотров: 15
Case 5 Просмотров: 6
Case 6 Просмотров: 10
Case 7 Просмотров: 8
Case 8 Просмотров: 13
Case 9 Просмотров: 7
Case 10 Просмотров: 10
Case 11 Просмотров: 12
Case 12 Просмотров: 12
Case 13 Просмотров: 7
Case 14 Просмотров: 8
Case 15 Просмотров: 11
Case 16 Просмотров: 14
Case 17 Просмотров: 9
Case 18 Просмотров: 11
Case 19 Просмотров: 11
Case 20 Просмотров: 4

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться