Кодинг
★ Рубрика: Кодинг
★ Тема: Pascal

Программа продажи билетов

Задача. Составить программу продажи билетов на пароход. Пусть места на пароходе нумеруются (для простоты) от 1 до n (n < 250). Покупатель заказывает номера мест. Если они свободны, то ему выдаются билеты, и номера мест исключаются из числа свободных. В противном случае предлагаются номера свободных мест. Если все билеты проданы, то начинается путешествие.
Решение.
Program Teploxod;
Const
N=250; {На время отладки назначьте небольшое N!}
Type
Mesta = Set Of 1..N;
Var
Sm,Zak : Mesta;{Свободные места и заказ}
I,Nom : Integer;
Begin
Sm := [1..N];{п. 1, свободные места}
Repeat 
WriteLn;
Writeln(’ Cвободные места: ’);
For I:=1 To N Do 
If I In Sm Then
Write (I:4);
WriteLn;
Zak := [];
{Формирование Заказа}
Writeln(’Введите номера мест, которые Вы покупаете. ’,
 ’Конец заказа - ноль’);
ReadLn(Nom); 
While Nom <> 0 Do 
Begin
Zak := Zak + [Nom];
ReadLn(Nom);
End;
If Zak <= Sm Then 
Begin
Writeln(’Заказ принят’);
Sm := Sm - Zak; 
End
Else
WriteLn(’Заказ не принят. ’,
 ’Некоторые из заказываемых мест уже проданы.’);
Until Sm=[];
Writeln (’Все билеты проданы, нажмите Enter’); 
Readln;
End.
 Похожие публикации: Pascal

Войдите, чтобы добавить Ваш ответ. [ Регистрация | Вход ]