Множества: программа анализа ассортимента режущего инструмента, который потребляется на заводе - 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.
Объяснение кода листинга программы
- В начале программы объявляются константы и типы данных.
- В константах указывается количество цехов, равное 6.
- В типах данных определяется набор инструментов, представленный в виде перечисления
Instrument
, а также множествоAsortyment
, которое может содержать элементы из этого перечисления. - Далее создаются переменные: массив
Ceh
размером 6, в котором будут храниться множества инструментов для каждого цеха; переменныеA
иB
, которые будут использоваться в цикле; и переменнаяi
, которая будет использоваться для подсчета количества общих инструментов. - Затем происходит ввод ассортимента по каждому цеху. Для этого каждому цеху присваивается множество инструментов, представленных в виде перечисления
Instrument
. - Далее происходит определение ассортимента, потребляемого всеми цехами, путем перемножения всех множеств
Ceh
. - Затем происходит распечатка результата, в которой выводится ассортимент, потребляемый всеми цехами, в виде перечисления
Instrument
. При этом подсчитывается количество общих инструментов для всех цехов. - В конце программы выводится сообщение о завершении программы и предлагается нажать Enter для выхода.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д