Множества.В N колхозах выращивают некоторые сельскохозяйственные культуры из имеющегося перечня. Определить ку - Turbo Pascal

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

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

Переделать код,чтобы там были множества.Или написать новый код с множествами.
Листинг программы
  1. program z8;
  2. uses Crt;
  3. type
  4. kul = (картофель,марковь,свекла,кукуруза,рапс,пшеница);
  5. const
  6. mas : array[0..5] of string = ('картофель','марковь','свекла','кукуруза','рапс','пшеница');
  7. var
  8. a,b,c:set of kul;
  9. d:integer;
  10. r:kul;
  11. begin
  12. clrscr;
  13. a:=[картофель,свекла,рапс];
  14. b:=[картофель,рапс,свекла];
  15. c:=[свекла,картофель,пшеница];
  16. writeln('возделываемые во всех колхозах: ');
  17. d:=0;
  18. for r := картофель to пшеница do
  19. begin
  20. if (r in a) and (r in b) and (r in c) then
  21. begin
  22. write(mas[ord(r)],' ');
  23. d:=1;
  24. end;
  25. end;
  26. if d=0 then writeln('культур нет');
  27. writeln;
  28. writeln;
  29. writeln('возделываемые только в некоторых колхозах: ');
  30. d:=0;
  31. for r:= картофель to пшеница do
  32. begin
  33. if not (r in a) and not (r in b) and not (r in c) then
  34. begin
  35. write(mas[ord(r)],' ');
  36. d:=1;
  37. end;
  38. end;
  39. if d=0 then writeln('культур нет');
  40. readln
  41. end.

Решение задачи: «Множества.В N колхозах выращивают некоторые сельскохозяйственные культуры из имеющегося перечня. Определить ку»

textual
Листинг программы
  1. type
  2.   TVegetables = (Potato, Tomato, Cabbage, Carrion, Beet);
  3.   {
  4.     Potato  - картофель
  5.     Tomato  - помидоры
  6.     Cabbage - капуста
  7.     Carrion - морковь
  8.     Beet    - свёкла
  9.   }
  10.   TProduct = set of TVegetables;
  11.   TVegetablesStr = array [Low(TVegetables)..High(TVegetables)] of string;
  12. const
  13.   VegetablesStr: TVegetablesStr =
  14.     (
  15.     'картофель',
  16.     'помидоры',
  17.     'капуста',
  18.     'морковь',
  19.     'свёкла'
  20.     );
  21.  
  22.   {Процедура для вывода на экран названий с/х продуктов из множества}
  23.   procedure ShowProducts(Products: TProduct);
  24.   var
  25.     Vegetable: TVegetables;
  26.   begin
  27.     for Vegetable := Low(Vegetable) to High(Vegetable) do
  28.     begin
  29.       if Vegetable in Products then
  30.         Write(' ', VegetablesStr[Vegetable]);
  31.     end;
  32.     WriteLn;
  33.   end;
  34.  
  35. var
  36.   Colchoze1,             {С/х культуры, возделываемые в колхозе 1}
  37.   Colchoze2: TProduct;   {С/х культуры, возделываемые в колхозе 2}
  38. begin
  39.   {С/х культуры, возделываемые в колхозах}
  40.   Colchoze1 := [Potato, Tomato, Cabbage];
  41.   Colchoze2 := [Tomato, Cabbage, Carrion, Beet];
  42.   {Разного рода статистика о с/х культурах}
  43.   WriteLn('В колхозе №1 выращивают:');
  44.   ShowProducts(Colchoze1);
  45.   WriteLn('В колхозе №2 выращивают:');
  46.   ShowProducts(Colchoze2);
  47.   WriteLn('Культуры, возделываемые в обоих колхозах:');
  48.   ShowProducts(Colchoze1 * Colchoze2);
  49.   WriteLn('Культуры, возделываемые только в колхозе №1:');
  50.   ShowProducts(Colchoze1 - Colchoze2);
  51.   WriteLn('Культуры, возделываемые только в колхозе №2:');
  52.   ShowProducts(Colchoze2 - Colchoze1);
  53. end.

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

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

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


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

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

6   голосов , оценка 4.167 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы