Решенные задачи на языке Паскаль
Условие задачи - из списка задач к Госэкзаменам по предмету "Технология разработки программных продуктов".
Задача №19. Создать файл, содержащий сведения о наличии билетов и рейсах Аэрофлота. Структура записи: номер рейса, пункт назначения, время вылета, время прибытия, количество свободных мест в салоне. Количество записей (2-3). Вывести время отправления самолетов в город X.
type tip1=record n:byte; {номер рейса } town,time0,time1:string; {город, время отправления и прибытия} freeplace:integer; {количество свободных мест } end; var d:tip1; i,max_d:integer; f:file of tip1; {ввод данных и сохранение в файл} PROCEDURE input_d; BEGIN write('Введите количество рейсов: '); readln(max_d); writeln; writeln('* * * Заполнение данных о рейсах * * *'); writeln; {открыть или создать файл} {$I-} assign(f,'data.dat'); reset(f); seek(f,filesize(f)); {$I+} if ioresult<>0 then rewrite(f); for i:=1 to max_d do begin writeln('----- ',i,' -----'); write('Введите номер рейса: '); readln(d.n); write('Введите город прибытия: '); readln(d.town); write('Введите время отправления: '); readln(d.time0); write('Введите время прибытия: '); readln(d.time1); write('Введите количество свободных мест: '); readln(d.freeplace); write(f,d); end; close(f); writeln; writeln('Данные были сохранены в файл!'); readln; END; {вывод данных из файла по введенному названию города} PROCEDURE view_d; var x:string; tmp_d:tip1; BEGIN {открыть файл для чтения информации} {$I-} assign(f,'data.dat'); reset(f); {$I+} if ioresult<>0 then begin writeln('Файл не найден!'); readln; exit; end; write('Введите название города: '); readln(x); writeln; while not eof(f) do begin read(f,tmp_d); if tmp_d.town=x then {сравнить названия городов} begin writeln('Номер рейса: ',tmp_d.n); writeln('Город: ',tmp_d.town); writeln('Время отправления: ',tmp_d.time0); writeln('Время прибытия: ',tmp_d.time1); writeln('Количество свободных мест: ',tmp_d.freeplace); writeln('--------------------------------'); end; end; close(f); writeln('Поиск завершен!'); readln; END; {***** основная программа *****} BEGIN input_d; view_d; END.* переменная d - для хранения данных;
* переменная max_d - количество записей;
* переменная i - для цикла.
Скачать исходник