Операции с (над) множествами символьного типа, получение множества по заданному условию - PascalABC.NET

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

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

Вложение 667205 Задано пять множеств А, В, С, D, E символьного типа. Получить множество Х, которая вычисляется по "формуле 1", если выполняется указанное "Условие", или по "формуле 2", если условие не выполняется. Варианты "условия", "формула 1", "формула 2" и тип множеств указанные в таблице 1. В таблице используются следующие сокращения: обозначения: АВ - А есть подмножество В ("in", "<=" - содержится в) АВ - А не является подмножеством В АВ - А включает в себя В ("> =" - содержит) А  В - А не содержит в себе В А = В - множества А и В равны АВ - множества А и В не равны АВ - объединение множеств А и В АВ - пересечение множеств А и В А \ В - разность множеств А и В А--В - симметрическая разность А и В  - конъюнкция (логическая операция "и") V- дизъюнкция (логическая операция "или") 1). Умова ((АВ)С) V (D=E) 2). Формула 1 A\BCDE 3). Формула 2 ABC--D--E 4). Тип символьний Запись в Pascal 1). ((А+В)<= С) or (D=E) 2). A-B+C+D+E 3). A+B+((C+D+E)-(C*D*E)) 4). char Эту задачу я сделал, но как тип множества численный или отрезок, а нужно как символьный - "char". Есть идеи, как это реализовать? Чтоб выводились всякие символы в множествах РАНДОМНО (буквы например или по таблице символов 866 (ASCII, OEM, DOS)) или брались из файла. Ну и так далее, выполнялись условие (формулы). Помогите пожалуйста поправить код.

Решение задачи: «Операции с (над) множествами символьного типа, получение множества по заданному условию»

textual
Листинг программы
begin
  var A, B, C : Set of Char;
  Randomize;
  // Случайными символами
  A := []; for var i := 1 to Random(10, 20) do A += [Chr(Random(Ord('A'), Ord('Z')))];
  B := []; for var i := 1 to Random(10, 20) do B += [Chr(Random(Ord('A'), Ord('Z')))];
  // Диапазоном символов
  C := [ Chr(Random(Ord('A'), Ord('E'))) .. Chr(Random(Ord('G'), Ord('L'))) ];
 
  WriteLn('A = ', A);
  WriteLn('B = ', B);
  WriteLn('C = ', C);
  
  WriteLn('A U B = ', A + B);
  WriteLn('A n B = ', A * B);
end.

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


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

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

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