Вывести ориентацию локатора после выполнения команд
Категория: Delphi/Pascal
2011-12-21 19:36:03
Локатор ориентирован на одну из сторон света («С» — север, «З» — запад, «Ю» — юг, «В» — восток) и может принимать три цифровые команды поворота: 1 — поворот налево, -1 — поворот направо, 2 — поворот на 180°. Дан символ C — исходная ориентация локатора и целые числа N1 и N2 — две посланные команды. Вывести ориентацию локатора после выполнения этих команд
code: #pascal
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.
автор: Puporev
Поделиться: