Сформировать новое множество, из которого выделить подмножество чисел, кратных 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 и выводится на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д