Как присвоить к ответу название детали? - Pascal ABC
Формулировка задачи:
Нужно чтобы выводило min и max с названием детали.
Листинг программы
- program y;
- Type Detal=Record
- Nazvanie: string[15];
- Kolvo: real;
- Stoimost: real;
- end;
- var Fdetal: file of Detal;
- S: Detal;
- N,i: byte;
- Sum: real;
- min,max: real;
- begin
- assign(FDetal,'E:\FM.DAT.txt');
- rewrite(FDetal);
- write('Количество деталей на складе? ');
- readln(N);
- for i:=1 to N do
- begin
- write('Название: ');readln(S.Nazvanie);
- write('Количество: ');readln(S.Kolvo);
- write('Стоимость: ');readln(S.Stoimost);
- write(FDetal,S);
- Sum:=Sum+(S.Kolvo*S.Stoimost);
- writeln('Общая стоимость деталей: ', Sum);
- end;
- begin
- reset(FDetal);
- read(FDetal,S);
- min:=S.Kolvo;
- max:=S.Kolvo;
- while not EOF(FDetal) do
- begin
- read(FDetal,S);
- if max<S.Kolvo then max:=S.Kolvo;
- if min>S.Kolvo then min:=S.Kolvo;
- end;
- end;
- writeln(max);
- writeln(min);
- writeln('Формирование файла закончено!');
- close(FDetal);
- end.
Решение задачи: «Как присвоить к ответу название детали?»
textual
Листинг программы
- var min,max: real;
- nmn,nmx:string;
- .................................
- min:=S.Kolvo;
- max:=S.Kolvo;
- nmn:=S.Nazvanie;
- nmx:=S.Nazvanie;
- while not EOF(FDetal) do
- begin
- read(FDetal,S);
- if max<S.Kolvo then
- begin
- max:=S.Kolvo;
- nmx:=nmn:=S.Nazvanie;
- end;
- if min>S.Kolvo then
- begin
- min:=S.Kolvo;
- nmn:=nmn:=S.Nazvanie;
- end;
- end;
- end;
- writeln(nmx,' ',max);
- writeln(nmn,' ',min);
Объяснение кода листинга программы
Данный код на языке Pascal ABC предназначен для присвоения названий деталям на основе их кодов.
- В начале кода объявляются переменные min, max, nmn и nmx типа real и string соответственно. Они будут использоваться для хранения минимального и максимального значений кода детали, а также её названия.
- Затем происходит чтение данных из файла FDetal с помощью функции read.
- Внутри цикла while не происходит ничего особенного, кроме чтения данных из файла.
- Если максимальное значение кода детали (S.Kolvo) больше текущего минимального (min), то обновляется значение min и nmx, а также устанавливается nmx равным nmn.
- Если минимальное значение кода детали (S.Kolvo) больше текущего максимального (max), то обновляется значение max и nmx, а также устанавливается nmx равным nmn.
- По завершении цикла выводится на экран название детали (nmx) и её минимальное и максимальное значения (writeln).
- Код завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д