В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
TheyLoveAru
TheyLoveAru
05.05.2023 14:00 •  Информатика

Выполните с решением. Думаю, за 3 задания вам хватит.​


Выполните с решением. Думаю, за 3 задания вам хватит.​

Показать ответ
Ответ:
dirysasha
dirysasha
25.10.2020 10:54
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, а затем распаковать.
0,0(0 оценок)
Ответ:
Znatokkekgg
Znatokkekgg
31.07.2021 12:13
var
  x, y, z: integer;
begin
  writeln('-1 - конец ввода и вывод суммы');
  repeat
    readln(y);
    
    if (y < -1) then 
      writeln('Эм... Не, не съем: отрицательная цЫфра.')
    else
      if (y >= 0) then 
        z := z + y
      else
        if (y = -1) then
          if (z >= 100) then
            break
          else
            writeln('Не, не годится, прибавь ещё чуток, до сотни не дотягивает');
 
    if (z > 1000) then
    begin
      writeln('Всё, перевес. Сумма чисел больше 1000.');
      exit;
    end;
    
    until (false);
  writeln('Сумма примерно равна (если округлить) ', round(z / 10) * 10);
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота