Сформировать новое множество, из которого выделить подмножество нечетных чисел - PascalABC.NET
Формулировка задачи:
Даны три множества X1,X2,X3, содержащие целые числа из диапазонов 1..100. Известно, что мощность каждого из этих множеств равна 10. Сформировать новое множество
Y=(X1+X2)*(X2-X3), из которого выделить подмножество нечетных чисел. На экран вывести исходные и полученные множества. Значения элементов исходных множеств, ввести с клавиатуры.
Решение задачи: «Сформировать новое множество, из которого выделить подмножество нечетных чисел»
textual
Листинг программы
type mnz=set of 1..100;
const n=10;
procedure mnozestvo(var m:mnz;s:string);
var i,x:integer;
begin
writeln('Введите ',n,' элементов множества ',s,' от 1 до 100');
m:=[];
for i:=1 to n do
begin
repeat
write(s,' ',i,'=');
readln(x);
until(x in [1..100])and not(x in m);
m:=m+[x];
end;
end;
procedure print(m:mnz;s:string);
var i:integer;
begin
writeln('Множество ',s);
if m=[] then write('Множество путое')
else
begin
for i:=1 to 100 do
if i in m then write(i:4);
end;
writeln;
end;
var x1,x2,x3,y:mnz;
begin
mnozestvo(x1,'X1');
mnozestvo(x2,'X2');
mnozestvo(x3,'X3');
y:=(x1+x2)*(x2-x3);
print(x1,'X1');
print(x2,'X2');
print(x3,'X3');
print(y,'Y');
end.
Объяснение кода листинга программы
- Объявлены типы данных и константы:
- mnz=set of 1..100 (множество нечетных чисел от 1 до 100)
- n=10 (количество элементов в множестве)
- procedure mnozestvo (var m:mnz;s:string) (процедура формирования множества)
- const n=10 (константа количества элементов в множестве)
- var i,x:integer (переменные для цикла и чтения чисел)
- procedure print (m:mnz;s:string) (процедура вывода множества на экран)
- var x1,x2,x3,y:mnz (переменные для хранения множеств)
- begin (начало программы)
- Введен цикл, который выполняется n раз. В каждой итерации требуется ввести n элементов множества.
- После ввода каждого элемента, он проверяется на уникальность и нечетность.
- Если элемент уникален и нечетный, он добавляется в множество.
- После формирования всех множеств, вычисляется произведение их размеров и вычитается третье множество.
- Результат сохраняется в переменной y.
- Выводятся все четыре множества на экран.