Сформировать новое множество, из которого выделить подмножество чисел, кратных 4 - Free Pascal
Формулировка задачи:
Даны три множества X1, X2, X3, содержащие целые числа из диапазона [1..100]. Сформировать новое множество Y = (X1*X2)*(X2+X3), из которого выделить подмножество чисел, кратных 4.
Наверное, чушь всякую написала..) помогите чем сможете, чтобы хотя бы запускалась
program pr12;
uses crt;
type Y = set of 1..100;
Procedure Proc1(X1, X2, X3: Y; var c: Y);
begin
c:=(X1*X2)*(X2+X3)
end;
var X1, X2, X3: Y;
c: 1..100;
begin clrscr;
X1:= []; X2:= []; X3:= [];
write('Wwedide 1-oe mnojestwo ->');
while true do begin
c:= readkey ; if c = 'z' then break else
begin X1:= X1 + [c];
write(c:3)
end
end;
writeln;
write('Wwedite 2-oe mnojestwo ->');
while true do begin
c:= readkey; if c = 'z' then break else
begin X2:= X2 + [c];
write(c:3)
end
end;
write('Wwedite 3-e mnojestwo ->');
while true do begin
c:= readkey; if c = 'z' then break else
begin X3:= X3 + [c];
write(c:3)
end
end;
begin
Y4 := [];
for i := 1 to 100 do
if (i in R) and (i mod 4 = 0) then write(i:3); Y4 := Y4 + [ i ];
end;
writeln;
Proc1(X1, X2, X3);
write('Resultat:');
writeln;
write(Kratno 4:);
writeln;
readkey
end.Решение задачи: «Сформировать новое множество, из которого выделить подмножество чисел, кратных 4»
textual
Листинг программы
program pr12;
uses crt;
type
Item = 1 .. 100;
ItemSet = set of Item;
procedure Enter(title : string; var s : ItemSet);
var V : Integer;
begin
writeln('Wwedide ' + title + ' mnojestwo -> (0 to finish)');
s := [];
repeat
readln(V);
if V <> 0 then s := s + [V];
until V = 0;
end;
procedure Print(s : ItemSet);
var i : item;
begin
for i in s do
write(i:4);
writeln;
end;
Procedure Proc1(X1, X2, X3: ItemSet; var c : ItemSet);
begin
c:=(X1*X2)*(X2+X3)
end;
var
X1, X2, X3 : ItemSet;
Y, Div4 : ItemSet;
i : Item;
begin
clrscr;
Enter('1-oe', X1);
Enter('2-oe', X2);
Enter('3-e', X3);
Proc1(X1, X2, X3, Y);
write('Y = '); Print(Y);
Div4 := [];
for i in Item do if i mod 4 = 0 then Div4 := Div4 + [i];
Div4 := Y * Div4;
write('Result = '); Print(Div4);
end.
Объяснение кода листинга программы
- Объявлены типы данных: Item (целое число от 1 до 100), ItemSet (множество из Item), а также переменные: X1, X2, X3 (множества), Y (множество), Div4 (множество).
- Задана процедура Enter, которая запрашивает у пользователя ввод чисел и добавляет их в указанное множество.
- Задана процедура Print, которая выводит на экран все числа из указанного множества.
- Задана процедура Proc1, которая выполняет следующие действия: а) X1 X2 (X2 + X3)
- В основной программе вызываются процедуры Enter и Proc1 для ввода и перемножения чисел, а затем выводится результат Y.
- Формируется новое множество Div4, в которое включаются только числа, кратные 4.
- Результат Y умножается на множество Div4 и выводится на экран.