Показать сообщение отдельно
Старый 15.10.2009, 11:35   #36 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от citrus Посмотреть сообщение
помогие плиз с задачкой про курс корабля)

С клав. вводится текущий курс корабля (север, юг, запад, восток), Затем поступает команда (направо, налево, прямо, назад) Надо чтобы в итоге он выавал курс корабля после команды..я так понимаю тут будет много Case и перечисляемяе типы..но. что-то я не знаю что в кейсе писать(
С перечисляемыми типами не получилось - значения переменных таких типов нельзя вводить с консоли, кроме того, они не могут быть индексами оператора CASE. Так что пришлось попроще (программа прерывается вводом команды 5 (Stop)):
Код:
CONST
Course:ARRAY[1..4] of STRING=('Nord', 'Zued', 'West', 'Ost');
VAR
Course_bef,Course_aft,Command:BYTE;
BEGIN
WriteLn('Enter the initial course number:');
WriteLn('                                 1 - Nord');
WriteLn('                                 2 - Zued');
WriteLn('                                 3 - West');
WriteLn('                                 4 - Ost');
ReadLn(Course_bef);
REPEAT
WriteLn('Enter the command number:');
WriteLn('                         1 - Right');
WriteLn('                         2 - Left');
WriteLn('                         3 - Forward');
WriteLn('                         4 - Back');
WriteLn('                         5 - Stop');
ReadLn(Command);
IF Command<>5 THEN
BEGIN
Case Course_bef of
1 {Nord}:
Case Command of
1: Course_aft:=4 {Ost};
2: Course_aft:=3 {West};
3: Course_aft:=1 {Nord};
4: Course_aft:=2 {Zued};
END;
2 {Zued}:
Case Command of
1: Course_aft:=3 {West};
2: Course_aft:=4 {Ost};
3: Course_aft:=2 {Zued};
4: Course_aft:=1 {Nord};
END;
3 {West}:
Case Command of
1: Course_aft:=1 {Nord};
2: Course_aft:=2 {Zued};
3: Course_aft:=3 {West};
4: Course_aft:=4 {Ost};
END;
4 {Ost}:
Case Command of
1: Course_aft:=2 {Zued};
2: Course_aft:=1 {Nord};
3: Course_aft:=4 {Ost};
4: Course_aft:=3 {West};
END;
END;
Writeln('Course: ',Course[Course_aft]);
Writeln;
Course_bef:=Course_aft;
END;
UNTIL Command=5 {Stop};
END.

Последний раз редактировалось Vladimir_S; 15.10.2009 в 11:41 Причина: Одна косметическая поправка
Vladimir_S вне форума  
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070