Program Case11;
Const
ds = ['С', 'В', 'Ю', 'З'];
Var
N1, N2: Byte;
w, s: Char; { w - выбранное действие, s - исходная ориентация }
Begin
Repeat
WriteLn('Выберете действие 0 - начать, продолжить, другое-выход');
ReadLn(w);
Repeat
Write('Введите исходную ориентацию (С,В,Ю,З):');
ReadLn(s);
Until s In ds;
Repeat
Write('Введите 2 команды (1-налево,2-на 180 гр.,-1-направо)');
ReadLn(N1, N2);
Until ((N1 in [1, 2]) Or (N1 = -1)) And ((N2 in [1, 2]) Or (N1 = -1));
Write('Новое направление ');
Case s Of
'С':
Case Abs(N1 + N2) Of
0, 4:
Write('С');
1:
Write('З');
2:
Write('Ю');
3:
Write('В');
End;
'В':
Case Abs(N1 + N2) Of
0, 4:
Write('В');
1:
Write('С');
2:
Write('З');
3:
Write('Ю');
End;
'Ю':
Case Abs(N1 + N2) Of
0, 4:
Write('Ю');
1:
Write('В');
2:
Write('С');
3:
Write('З');
End;
'З':
Case Abs(N1 + N2) Of
0, 4:
Write('З');
1:
Write('Ю');
2:
Write('В');
3:
Write('С');
End;
End;
Until w <> '1';
End.