type курс=(С,В,Ю,3); {Север,Восток,Юг,Запад}
приказ=(вперед .вправо, назад,влево);
vaf К1,К2:курс; ПР:приказ;
program MyCase;
uses
Crt;
type
TCourse = (N, E, S, W); //North, East, South, West
TOrder = (F, R, B, L); //Forward, Right, Back, Left
var
Course1, Course2: TCourse; //старый курс, новый курс
Order: TOrder; // приказ
P: Integer;
//отобразить курс
procedure ShowCourse(Course: TCourse);
begin
case Course of
N: WriteLn('Sever');
E: WriteLn('Vostok');
S: WriteLn('Yug');
W: WriteLn('Zapad');
end;
end;
//отобразить приказ
procedure ShowOrder(Order: TOrder);
begin
case Order of
F: WriteLn('Vpered');
R: WriteLn('Napravo');
B: WriteLn('Nazad');
L: WriteLn('Nalevo');
end;
end;
//задать новый курс
function NewCourse(Course: TCourse; Order: Torder): TCourse;
var
ResCourse: TCourse;
begin
case Order of
F: ResCourse := Course; // вперед, так вперед
R:
if Ord(Course) < 3 then // если номер курса не 3 [0..3]
ResCourse := Succ(Course) // значит значение курса = значению под следующеим номером
else //иначе
ResCourse := TCourse(Ord(0)); //значение курса = значению курса под номером 0
B:
if Ord(Course) < 2 then
ResCourse := Succ(Succ(Course))
else
ResCourse := Pred(Pred(Course));
L:
if Ord(Course) > 0 then
ResCourse := Pred(Course)
else
ResCourse := TCourse(Ord(3));
end;
Result := ResCourse;
end;
//основная программа
begin
ClrScr; //очищаем экран
WriteLn('Vvedite Kurs1 (1 Sever, 2 Vostok, 3 Yug, 4 Zapad)');
Readln(P);
Course1 := TCourse(P - 1); // преобразование в перечисляемый тип
Write('Kurs na ');
ShowCourse(Course1); //показываем курс
WriteLn('Vvedite Prikaz (1 Vpered, 2 Napravo, 3 Nazad, 4 Nalevo)');
Readln(P);
Order := TOrder(P - 1); // преобразование в перечисляемый тип
Write('Prikaz ');
ShowOrder(Order); //показываем приказ
Course2 := NewCourse(Course1, Order); //определяем новый курс
Write('Noviy Kurs na ');
ShowCourse(Course2); //показываем новый курс
ReadLn;
end.
Похожие записи/страницы:
- В фамилии, имени, отчестве – не более 12 букв, пол указанная прописью М и Ж, возраст от 16 до 35 лет, курс -…
- Создайте файл, содержащий записи о каждом из 20 студентов вуза следующей структуры: фамилия, имя, отчество, пол,…
- Составить список учебной группы, включающей 5 человек. Для каждого учащегося указать фамилию, дату рождения, год…
- Составить список студентов, включающий ФИО, факультет, курс, группу, результат забега. Определить трех лучших в…
- Составить список студентов, включающий ФИО, факультет, курс, группу, результат забега. Определить трех лучших в…
- Локатор ориентован на одну из сторон света ("С"-север, "З"-Запад, "В"-восток, "ю"-Юг) и может принимать три…
- Дан символ C — исходное направление робота и целое число N — посланная ему команда. Вывести направление робота…
- Дано натуральное число n. Необходимо расположить числа от 1 до n 2 в квадратном массиве по спирали. Отсчет…