Множества: программа анализа ассортимента режущего инструмента, который потребляется на заводе - Pascal ABC

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

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

На предприятии имеется 6 цехов (переменная Ceh), которые потребляют определенный ассортимент (переменная Asortyment) режущего инструмента. Сегодня каждый цех потратил определенный набор такого инструмента (оператор Ceh [i] = ...). Далее приведено начало программы анализа ассортимента режущего инструмента,который потребляется на заводе:
Задание: определить номенклатуру инструмента, который сегодня потратили все цеха

Решение задачи: «Множества: программа анализа ассортимента режущего инструмента, который потребляется на заводе»

textual
Листинг программы
program Project1;
 
const
  {Количество цехов.}
  M = 6;
type
  Instrument = (rezetc,freza,sverdlo,zenker,zenkivka,
    rozvertka,cekivka,mitchyk,plashka,protyagka,shever);
  Asortyment = set of Instrument;
var
  Ceh : array[1..M] of Asortyment;
  A : Instrument;
  B : Asortyment;
  i : Integer;
begin
  {Ввод ассортимента по каждому цеху.}
  Ceh[1]:=[sverdlo,freza,mitchyk,protyagka];
  Ceh[2]:=[sverdlo,cekivka,freza];
  Ceh[3]:=[sverdlo,mitchyk,zenkivka,zenker,rozvertka];
  Ceh[4]:=[sverdlo,cekivka,plashka,freza];
  Ceh[5]:=[sverdlo,rozvertka,zenker,mitchyk,rezetc];
  Ceh[6]:=[sverdlo,cekivka,zenkivka,shever,mitchyk];
 
  {Определение ассортимента, потребляемого всеми цехами.}
  B := Ceh[1];
  for i := 2 to High(Ceh) do B := B * Ceh[i];
 
  {Распечатка результата.}
  Writeln('Ассортимент потребляемый всеми цехами:');
  i := 0;
  for A := Low(Instrument) to High(Instrument) do begin
    if A in B then begin
      Inc(i); //Подсчёт количества общих инструментов для всех цехов.
      if i > 1 then Write(', ');
      case A of
        rezetc   : Write('rezetc');
        freza    : Write('freza');
        sverdlo  : Write('sverdlo');
        zenker   : Write('zenker');
        zenkivka : Write('zenkivka');
        rozvertka: Write('rozvertka');
        cekivka  : Write('cekivka');
        mitchyk  : Write('mitchyk');
        plashka  : Write('plashka');
        protyagka: Write('protyagka');
        shever   : Write('shever');
      end;
    end;
  end;
  Writeln;
  Writeln('Всего общих элементов: ', i);
 
  Writeln('Программа завершена. Для выхода нажмите Enter.');
  Readln;
end.

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

  1. В начале программы объявляются константы и типы данных.
  2. В константах указывается количество цехов, равное 6.
  3. В типах данных определяется набор инструментов, представленный в виде перечисления Instrument, а также множество Asortyment, которое может содержать элементы из этого перечисления.
  4. Далее создаются переменные: массив Ceh размером 6, в котором будут храниться множества инструментов для каждого цеха; переменные A и B, которые будут использоваться в цикле; и переменная i, которая будет использоваться для подсчета количества общих инструментов.
  5. Затем происходит ввод ассортимента по каждому цеху. Для этого каждому цеху присваивается множество инструментов, представленных в виде перечисления Instrument.
  6. Далее происходит определение ассортимента, потребляемого всеми цехами, путем перемножения всех множеств Ceh.
  7. Затем происходит распечатка результата, в которой выводится ассортимент, потребляемый всеми цехами, в виде перечисления Instrument. При этом подсчитывается количество общих инструментов для всех цехов.
  8. В конце программы выводится сообщение о завершении программы и предлагается нажать Enter для выхода.

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


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

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

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