Множества.В N колхозах выращивают некоторые сельскохозяйственные культуры из имеющегося перечня. Определить ку - Turbo Pascal
Формулировка задачи:
Переделать код,чтобы там были множества.Или написать новый код с множествами.
Решение задачи: «Множества.В N колхозах выращивают некоторые сельскохозяйственные культуры из имеющегося перечня. Определить ку»
textual
Листинг программы
type TVegetables = (Potato, Tomato, Cabbage, Carrion, Beet); { Potato - картофель Tomato - помидоры Cabbage - капуста Carrion - морковь Beet - свёкла } TProduct = set of TVegetables; TVegetablesStr = array [Low(TVegetables)..High(TVegetables)] of string; const VegetablesStr: TVegetablesStr = ( 'картофель', 'помидоры', 'капуста', 'морковь', 'свёкла' ); {Процедура для вывода на экран названий с/х продуктов из множества} procedure ShowProducts(Products: TProduct); var Vegetable: TVegetables; begin for Vegetable := Low(Vegetable) to High(Vegetable) do begin if Vegetable in Products then Write(' ', VegetablesStr[Vegetable]); end; WriteLn; end; var Colchoze1, {С/х культуры, возделываемые в колхозе №1} Colchoze2: TProduct; {С/х культуры, возделываемые в колхозе №2} begin {С/х культуры, возделываемые в колхозах} Colchoze1 := [Potato, Tomato, Cabbage]; Colchoze2 := [Tomato, Cabbage, Carrion, Beet]; {Разного рода статистика о с/х культурах} WriteLn('В колхозе №1 выращивают:'); ShowProducts(Colchoze1); WriteLn('В колхозе №2 выращивают:'); ShowProducts(Colchoze2); WriteLn('Культуры, возделываемые в обоих колхозах:'); ShowProducts(Colchoze1 * Colchoze2); WriteLn('Культуры, возделываемые только в колхозе №1:'); ShowProducts(Colchoze1 - Colchoze2); WriteLn('Культуры, возделываемые только в колхозе №2:'); ShowProducts(Colchoze2 - Colchoze1); end.
Объяснение кода листинга программы
- Создается тип данных TVegetables, который представляет собой множество овощей.
- Создается перечисление Vegetables, в котором каждому овощу присваивается уникальное значение.
- Создается набор (set) TVegetables, который представляет собой множество овощей.
- Создается массив TVegetablesStr, который представляет собой строковое представление множества овощей.
- В процедуре ShowProducts происходит вывод на экран названий овощей из множества Products. Для каждого овоща в Products происходит проверка на наличие его в множестве Vegetable. Если овощ присутствует, то его название выводится на экран.
- В программе определяются два колхоза, каждый из которых выращивает свой набор овощей.
- Выводится информация о том, какие овощи выращиваются в каждом колхозе.
- Выводится информация о том, какие овощи выращиваются только в одном из колхозов.
- Выводится информация о том, какие овощи выращиваются только в другом колхозе.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д