Найти предприятие с минимальным грузооборотом - Pascal ABC

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

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

Задание 7 Даны шифры предприятий, расчётный и реальный грузооборот их в ткм. Вывести список автопредприятий, у которых реальный грузооборота более чем на 10% ниже расчётного. Найти предприятие с минималь*ным грузооборотом. Надо решить с процедурами

Решение задачи: «Найти предприятие с минимальным грузооборотом»

textual
Листинг программы
program pr;
 
const
  Csize = 100;
 
type
  Tcompa = record
    cipher: integer;
    estimated: integer;
    really: integer;
  end;
  Tarr = array [1..Csize] of Tcompa;
 
var
  i, n,min,indx: integer;
  a: Tarr;
procedure df(var x:Tarr; const n:integer); // процедура поиска предприятия с минимальным грузооборотом 
var
i,min:integer;
begin
  min:=a[1].really;
  for i := 1 to n do
  if a[i].really<=min then
  begin
  min:=a[i].really;
  indx:=i;
  end;
  writeln('Предприятие с минимальным грузооборотом: Шифр:',a[indx].cipher,' Расчётный оборот: ',a[indx].estimated, ' Реальный: ',min);
  end;
begin
  writeln('Введите количество предприятий');
  readln(n);
  for i := 1 to n do
  begin
    writeln('Введите шифр предприятия');
    readln(a[i].cipher);
    writeln('Введите расчётный грузооборот предприятия');
    readln(a[i].estimated);
    writeln('Введите реальный грузооборот предприятия');
    readln(a[i].really);
    writeln;
  end;
  writeln('Cписок авто предприятий, у которых реальный грузооборота более чем на 10% ниже расчётного');
  for i := 1 to n do
    if (a[i].estimated - (a[i].estimated * 0.1)) > (a[i].really) then
    begin
      writeln('Шифр: ', a[i].cipher);
      writeln('Расчётный: ', a[i].estimated);
      writeln('Реальный: ', a[i].really);
    end;
    df(a,n); // вызов процедуры 
end.

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

  1. В программе объявлены переменные: i, n, min, indx, a, df.
  2. В const section заданы константы: Csize.
  3. В type section определен тип данных Tcompa, который включает в себя четыре поля: cipher (целое число), estimated (целое число), really (целое число).
  4. В var section объявлены переменные: i, n, min, indx, a, df.
  5. В procedure df объявлены переменные: i, min, indx, a.
  6. В body procedure df выполняется поиск предприятия с минимальным грузооборотом. Переменная min инициализируется значением первого элемента массива a. Затем происходит цикл for, который проверяет каждый элемент массива a. Если значение реально меньше или равно min, то min обновляется на значение реально текущего элемента, а indx обновляется на индекс текущего элемента. В конце выводится информация о найденном предприятии.
  7. В body beginning заданы вопросы пользователю о количестве предприятий и их характеристиках.
  8. В for loop выводится информация о каждом предприятии.
  9. Во вложенном for loop проверяется условие (a[i].estimated - (a[i].estimated * 0.1)) > (a[i].really) и если оно истинно, то выводится информация о предприятии.
  10. В end procedure.
  11. В end program.

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


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

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

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