Сформировать новое множество, из которого выделить подмножество чисел, кратных 4 - Free Pascal

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

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

Даны три множества X1, X2, X3, содержащие целые числа из диапазона [1..100]. Сформировать новое множество Y = (X1*X2)*(X2+X3), из которого выделить подмножество чисел, кратных 4.
Листинг программы
  1. program pr12;
  2. uses crt;
  3. type Y = set of 1..100;
  4. Procedure Proc1(X1, X2, X3: Y; var c: Y);
  5. begin
  6. c:=(X1*X2)*(X2+X3)
  7. end;
  8. var X1, X2, X3: Y;
  9. c: 1..100;
  10. begin clrscr;
  11. X1:= []; X2:= []; X3:= [];
  12. write('Wwedide 1-oe mnojestwo ->');
  13. while true do begin
  14. c:= readkey ; if c = 'z' then break else
  15. begin X1:= X1 + [c];
  16. write(c:3)
  17. end
  18. end;
  19. writeln;
  20. write('Wwedite 2-oe mnojestwo ->');
  21. while true do begin
  22. c:= readkey; if c = 'z' then break else
  23. begin X2:= X2 + [c];
  24. write(c:3)
  25. end
  26. end;
  27. write('Wwedite 3-e mnojestwo ->');
  28. while true do begin
  29. c:= readkey; if c = 'z' then break else
  30. begin X3:= X3 + [c];
  31. write(c:3)
  32. end
  33. end;
  34. begin
  35. Y4 := [];
  36. for i := 1 to 100 do
  37. if (i in R) and (i mod 4 = 0) then write(i:3); Y4 := Y4 + [ i ];
  38. end;
  39. writeln;
  40. Proc1(X1, X2, X3);
  41. write('Resultat:');
  42. writeln;
  43. write(Kratno 4:);
  44. writeln;
  45. readkey
  46. end.
Наверное, чушь всякую написала..) помогите чем сможете, чтобы хотя бы запускалась

Решение задачи: «Сформировать новое множество, из которого выделить подмножество чисел, кратных 4»

textual
Листинг программы
  1. program pr12;
  2. uses crt;
  3.  
  4. type
  5.   Item = 1 .. 100;
  6.   ItemSet = set of Item;
  7.  
  8. procedure Enter(title : string; var s : ItemSet);
  9. var V : Integer;
  10. begin
  11.   writeln('Wwedide ' + title + ' mnojestwo -> (0 to finish)');
  12.   s := [];
  13.   repeat
  14.     readln(V);
  15.     if V <> 0 then s := s + [V];
  16.   until V = 0;
  17. end;
  18. procedure Print(s : ItemSet);
  19. var i : item;
  20. begin
  21.   for i in s do
  22.     write(i:4);
  23.   writeln;
  24. end;
  25.  
  26. Procedure Proc1(X1, X2, X3: ItemSet; var c : ItemSet);
  27. begin
  28.   c:=(X1*X2)*(X2+X3)
  29. end;
  30.  
  31. var
  32.   X1, X2, X3 : ItemSet;
  33.   Y, Div4 : ItemSet;
  34.   i : Item;
  35. begin
  36.   clrscr;
  37.  
  38.   Enter('1-oe', X1);
  39.   Enter('2-oe', X2);
  40.   Enter('3-e', X3);
  41.  
  42.   Proc1(X1, X2, X3, Y);
  43.   write('Y = '); Print(Y);
  44.  
  45.   Div4 := [];
  46.   for i in Item do if i mod 4 = 0 then Div4 := Div4 + [i];
  47.   Div4 := Y * Div4;
  48.   write('Result = '); Print(Div4);
  49. end.

Объяснение кода листинга программы

  1. Объявлены типы данных: Item (целое число от 1 до 100), ItemSet (множество из Item), а также переменные: X1, X2, X3 (множества), Y (множество), Div4 (множество).
  2. Задана процедура Enter, которая запрашивает у пользователя ввод чисел и добавляет их в указанное множество.
  3. Задана процедура Print, которая выводит на экран все числа из указанного множества.
  4. Задана процедура Proc1, которая выполняет следующие действия: а) X1 X2 (X2 + X3)
  5. В основной программе вызываются процедуры Enter и Proc1 для ввода и перемножения чисел, а затем выводится результат Y.
  6. Формируется новое множество Div4, в которое включаются только числа, кратные 4.
  7. Результат Y умножается на множество Div4 и выводится на экран.

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


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

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

10   голосов , оценка 3.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы