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