Вывести названия наиболее дорогих игрушек - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Дан файл f, содержащий сведения об игрушках: указывается название игрушки (например, кукла, кубики, мяч, конструктор и т.д.), ее стоимость в копейках и возрастные границы детей, для которых игрушка предназначена (например, для детей от двух до пяти лет). Получить следующие сведения: названия наиболее дорогих игрушек (цена которых отличается от цены самой дорогой игрушки не более чем на 1 руб.); само создание файла сделал. а как дальше не могу догнать .Помогите пожалуйста

Решение задачи: «Вывести названия наиболее дорогих игрушек»

textual
Листинг программы
type igr=record {Запись, описывающая игрушку}
  title:string[20]; {Название}
  cena:word; {Стоимость}
  year:word; {Возраст}
 end;
cat = file of igr; {тип - каталог игрушек}
var f:cat;
 Assortim:Igr;
 fnm,aut:string;
 y:word;
 i,n,mxcena:integer;
begin
 write('Имя файла: '); readln(fnm); {Получаем имя файла для создания }
 assign(f,fnm); {связываем файл с именем на носителе}
 rewrite(f); {открываем файл для записи (создаём новый)}
 write('Кол-во записей: '); readln(n);
 for i:=1 to n do begin
  write('Название: '); readln(Assortim.title);
  write('Цена: '); readln(Assortim.cena);
  write('Возраст: '); readln(Assortim.year);
  if Assortim.cena>mxcena then mxcena:=Assortim.cena;
  write(f,Assortim); {пишем структуру в файл}
 end;
 close(f); {закрываем файл, чтобы сохранить изменения }
 reset(f); {открываем файл для чтения }
 while not eof(f) do begin
  read(f,Assortim); {считываем очередную запись}
  if Assortim.cena>=mxcena-100 then writeln(Assortim.title);
 end;
 close(f);
end.

Объяснение кода листинга программы

В этом коде используется язык программирования Pascal ABC.

  1. Тип данных igr определен как запись, содержащая поля title (название), cena (стоимость), year (возраст).
  2. Переменная cat объявлена как файл, содержащий записи типа igr.
  3. Введенное имя файла сохраняется в переменной fnm.
  4. Создается новый файл с указанным именем и открывается для записи с помощью функции assign и rewrite.
  5. Пользователю предлагается ввести количество записей, которые нужно добавить в файл.
  6. В цикле for считываются данные о каждой игрушке (название, стоимость, возраст) и записываются в файл с помощью функции write и readln.
  7. Если стоимость текущей игрушки больше максимальной стоимости, то обновляется значение переменной mxcena.
  8. Закрывается файл для сохранения изменений с помощью функции close.
  9. Файл открывается снова для чтения с помощью функции reset.
  10. В цикле while считываются все записи из файла, и если стоимость игрушки больше или равна максимальной стоимости минус 100, то выводится название этой игрушки.
  11. Файл закрывается с помощью функции close.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.909 из 5
Похожие ответы