Вывести названия наиболее дорогих игрушек - 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.
- Тип данных
igr
определен как запись, содержащая поляtitle
(название),cena
(стоимость),year
(возраст). - Переменная
cat
объявлена как файл, содержащий записи типаigr
. - Введенное имя файла сохраняется в переменной
fnm
. - Создается новый файл с указанным именем и открывается для записи с помощью функции
assign
иrewrite
. - Пользователю предлагается ввести количество записей, которые нужно добавить в файл.
- В цикле for считываются данные о каждой игрушке (название, стоимость, возраст) и записываются в файл с помощью функции
write
иreadln
. - Если стоимость текущей игрушки больше максимальной стоимости, то обновляется значение переменной
mxcena
. - Закрывается файл для сохранения изменений с помощью функции
close
. - Файл открывается снова для чтения с помощью функции
reset
. - В цикле while считываются все записи из файла, и если стоимость игрушки больше или равна максимальной стоимости минус 100, то выводится название этой игрушки.
- Файл закрывается с помощью функции
close
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д