Задание 5. Алгоритмы обработки сложных структур

линейный алгоритм дисплей одномерный

Задание

Информация о движении междугороднего автобуса содержит следующие данные: название остановки, время прибытия (часы, минуты), время стоянки (минуты), стоимость проезда из начального пункта.

Написать программу, в которой:

· обеспечить ввод данных с клавиатуры и сохранение их в типизированном файле;

· организовать выборку из типизированного файла информации об остановках, стоянка на которых выше средней по маршруту, вывод данных о них на экран и сохранение в текстовом файле.

Выполнение

Алгоритм решения задачи должен содержать следующие шаги:

1) организация структуры данных для одного компьютера;

2) циклический ввод данных и сохранение их в типизированном файле;

3) завершение ввода при соответствующем подтверждении путем нажатия клавиш «Y» или «y»;

4) ввод значения средней стоянки по маршруту;

5) выборка и вывод на экран данных по остановкам, стоянка на которых выше средней по маршруту.

Структура данных о компьютере должна содержать следующие поля:

- текстовое поле – название остановки;

- поле целого числа – время прибытия (часы, минуты);

- поле целого числа – время стоянки;

- поле вещественного числа – стоимость проезда из начального пункта.

В результате работы программы в текущем каталоге будут образованы два файла: MGTS.DAT с введенными исходными данными и MGTS.TXT с результатами выборки данных, информация второго файла будет продублирована на дисплее

Программа для указанного варианта имеет следующий вид:

 

Program Task5;

Uses

Crt;{Подключаем модуль графики}

type

{структура данных}

t_mgts=record

ost:string; {название остановки}

timeh,timem, min:integer; {время прибытия (часы, минуты), время стоянки}

price:real;{стоимость проезда}

end;

var

m:t_mgts;{переменная для хранения данных}

f:file of t_mgts;{файл для хранения данных}

ft:text;{файл для хранения результатов обработки}

ans:char;{переменная для подтверждения конца ввода}

zmin:real;{заданная средняя продолжительность стоянки }

begin

{создать MGTS.DAT для хранения данных}

ClrScr; {очистка экрана}

assign(f,'mgts.dat');

rewrite(f);

{начать цикл ввода данных и сохранение их в файле}

repeat

{объявить работу с записью t}

with t do

begin

{заполнение полей переменной t данными с клавиатуры}

write('Остановка?');readln(tip);

write('Время прибытия?');read(timeh); readln(timem);

write('Время стоянки?');readln(min);

write('Стоимость проезда?');readln(price);

end;

{запись значений переменной t в файл MGTS.DAT}

write(f,t);

{ввести ответ на запрос об окончании набора данных}

write('Ввод закончен?');

readln(ans);

{закончить цикл ввода при положительном ответе}

until(ans='Y') or (ans='y');

{закрыть файл MGTS.DAT}

close(f);

{ввести заданную название остановки}

write('Остановка?');readln(zmhz);

{установить файл MGTS.DAT на начало чтения}

ClrScr; {очистка экрана}

reset(f);

{создать файл MGTS.TXT для хранения результатов обработки}

assign(ft,'mgts.txt');

rewrite(ft);

{проверить достижение конца файла MGTS.DAT}

while not eof(f) do

begin

{считать очередную запись файла MGTS.DAT}

read(f,t);

{если номер остановки больше, то сохраняем запись}

if (t.zmin>m.zmin) then

m:=t;

s:=s+m.min;

{вычислить среднее время стоянки}

s:= s/n;

{создать файл mgts.txt для хранения результатов выборки}

assign(ft, 'mgts.txt');

rewrite(ft);

{установить файл mgts.dat на начало для чтения}

reset(f);

{проверить достижения конца файла mgts.dat }

while not eof(f) do

{пока не достигнут конец файла выполнять}

begin

{счтитать очередную запись файла mgts.dat }

read(f, m);

{объявить работу с переменной m}

with m do

if (m=mz) and (min*price>s) then

{если время стоянки выше средней}

begin

{вывести информацию о найденном разговоре на экран}

writeln(ost, timeh, timem, min, price);

{сохранить информацию о найденной остановке в файле mgts.txt }

writeln(ft, ost, timeh, timem, min, price);

end;

end;

{закрыть файл mgts.txt }

close(ft);

end.

Заключение

 

Курсовая работа, состоящая из пяти заданий, которые представляют собой комплекс, включающий теоретический вопрос и четыре задания на составление алгоритмов, реализованных в алгоритмическом языке Паскаль, была выполнена в соответствии с предъявленными требованиями по оформлению работы.

Таким образом, главная цель работы по изучению требований к уровню знаний и приобретение практических и теоретических навыков в рамках дисциплины «Информатика» достигнута.

 



Список литературы

 

1. Алексеев Е.Р., Чеснокова О.В. Турбо Паскаль 7.0. / Е.Р. Алексеев, О.В. Чеснокова. - М.: НТ Пресс, 2007. - 270 с.

2. Безручко В.Т. Компьютерный практикум по курсу «Информатика»: учебное пособие. 3-е изд., перераб. и доп. / В.Т. Безручко. - М.: Форум, 2006. - 368 с.

3. Информатика: учебник/под ред. Н.В. Макаровой. - М.: Финансы и статистика, 2005. - 768 с.

4. Фаронов В.В. Иллюстрированный самоучитель по Турбо Паскалю // http://borlpasc.narod.ru/docym/Faronov/.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: