Множества.В 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.

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

  1. Создается тип данных TVegetables, который представляет собой множество овощей.
  2. Создается перечисление Vegetables, в котором каждому овощу присваивается уникальное значение.
  3. Создается набор (set) TVegetables, который представляет собой множество овощей.
  4. Создается массив TVegetablesStr, который представляет собой строковое представление множества овощей.
  5. В процедуре ShowProducts происходит вывод на экран названий овощей из множества Products. Для каждого овоща в Products происходит проверка на наличие его в множестве Vegetable. Если овощ присутствует, то его название выводится на экран.
  6. В программе определяются два колхоза, каждый из которых выращивает свой набор овощей.
  7. Выводится информация о том, какие овощи выращиваются в каждом колхозе.
  8. Выводится информация о том, какие овощи выращиваются только в одном из колхозов.
  9. Выводится информация о том, какие овощи выращиваются только в другом колхозе.

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


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

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

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