Множества - Pascal (249126)

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

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

Прошу помощи Написать программу, которая по заданным множествам А, В, С формирует множество, задаваемое формулой: Элементы полученного множества вывести на экран. Множества А, В, С задавать перечислением элементов.

Решение задачи: «Множества»

textual
Листинг программы
type
  sob = set of byte;
 
procedure read_set(s: string; var x: sob);
var t: byte;
begin
  x := [];
  writeln('Перечислите через пробел элементы множества ', s, ' и нажмите клавишу <Enter>:');
  while not seekeoln do
    begin
      read(t);
      include(x, t)
    end;
  readln
end;
 
var
  a, b, c, d, e, f: sob;
  i: byte;
 
begin
  writeln('Элементы множества - числа в диапазоне [0..255].');
  read_set('A', a);
  read_set('B', b);
  read_set('C', c);
  d := a + b; //объединение множеств A и B
  e := a * c; //пересечение множеств A и C
  f := (d + e) - d * e; //симметрическая разность множеств D и E
  writeln('Результирующее множество:');
  if f = []
    then writeln('<Пустое множество>')
    else for i := 0 to 255 do if i in f then write(' ', i);
  readln
end.

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

  1. Объявление типа данных sob для представления множества байтов.
  2. Определение процедуры read_set для чтения элементов множества из консоли.
  3. Создание пустого множества x и вывод сообщения с просьбой ввести элементы множества.
  4. Чтение элементов множества до нажатия клавиши Enter.
  5. Объединение множеств a и b в новое множество d.
  6. Пересечение множеств a и c в новое множество e.
  7. Вычисление симметрической разности множеств d и e и сохранение результата в f.
  8. Вывод сообщения о результирующем множестве.
  9. Проверка, является ли результирующее множество пустым.
  10. Если результирующее множество пустое, выводится сообщение <Пустое множество>.
  11. Иначе, для каждого числа от 0 до 255 проверяется, содержится ли оно в результирующем множестве.
  12. Если число содержится в множестве, оно выводится на экран с пробелом.
  13. Завершение работы программы.

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

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