Type Route = record station: string[30]; arrival: string[5]; stop: string[5]; cost: real end;
{ Программа для заполнения данными файла } { var F: file of Route; r: Route;
begin writeln('Вводите данные'); writeln(''); Assign(F, 'Route.dat'); Rewrite(F); with r do repeat write('Населенный пункт (*-завершить): '); readln(station); if (station <> '*') then begin write('Время прибытия чч:мм '); readln(arrival); write('Стоянка чч:мм: '); readln(stop); write('Стоимость проезда, руб.коп: '); readln(cost); write(F, r); end until station = '*'; Close(F) end. }
{ Программа для работы с заполненным файлом }
function hhmm2Int(s: string): integer; {переводит время чч:мм в челое число минут} var i, j, ierr: integer;
begin Val(Copy(s, 1, 2), j, ierr); if ierr = 0 then i := 60 * j else i := 0; Val(Copy(s, 4, 2), j, ierr); if ierr = 0 then i := i + j; Result := i end;
var F: file of Route; F2:Text; r: Route; i, ierr, istop, n: integer; s: string; cstop: real;
begin Assign(F, 'Route.dat'); Reset(F); n := 0; cstop:=0; while not Eof(F) do begin read(F, r); istop := hhmm2Int(r.stop); if istop > 0 then begin cstop:=cstop+istop; n := n + 1 end end; cstop := cstop / n; Reset(F); Assign(F2,'screen.dat'); Rewrite(F2); writeln('Населенные пункты, в которых стоянка дольше средней'); writeln(F2,'Населенные пункты, в которых стоянка дольше средней'); writeln('Населенный пункт Прибытие Стоянка,мин Стоимость'); writeln(F2,'Населенный пункт Прибытие Стоянка,мин Стоимость'); with r do while not Eof(F) do begin read(F, r); istop := hhmm2Int(stop); if istop > cstop then begin writeln(station:18, ' ', arrival, ' ', stop, ' ', cost:7:2); writeln(F2,station:18, ' ', arrival, ' ', stop, ' ', cost:7:2); end; end; Close(F); Close(F2) end.
ВНИМАНИЕ: Прикрепленный файл на самом деле RAR-архив с двумя, используемыми в программе файлами. Нужно его скачать к себе и поменять расширение TXT на RAR, а затем распаковать.
A)
Объяснение:
Блок-схема представляет собой графический документ,дающий представление о порядке работы алгоритма.