• Предмет: Информатика
  • Автор: diana6918styles
  • Вопрос задан 9 лет назад

Подскажите пожалуйста что я делаю не так если можете помогите.
Сформировать три множества X1, X2, X3, содержащие целые числа из диапазона 1 … 100 . Мощность каждого множества равна 5. Значения элементов исходных множеств ввести с клавиатуры.
Сформировать новое множество Y=(X2∩X3)/((X1∩X2) U(X1∩X3)), проверить принадлежность множеству чисел 20, 30. Определить мощность полученного множества и вывести его на экран.

Program ex1;
var x1,x2,x3,y,p: set of 1..100;
s,a,i:integer;
begin
x1:=[ ]; x2:=[ ]; x3:=[ ];
writeln('Вв. 5 элементов множества x1 через Enter:');
For i:=1 to 5 do
begin
readln(a);
x1:=x1+[a];
end;
Writeln('Вв. 5 элементов множества x2 через Enter:');
For i:=1 to 5 do
begin
readln(a);
x2:=x2+[a];
end;
Writeln('Вв. 5 элементов множества x3 через Enter:');
For i:=1 to 5 do
begin
readln(a);
x3:=x3+[a];
end;
Writeln;
y:=(x2*x3)-((x1*x2)+(x1*x3));
P:=[ ]; S:=0;
For i:=1 to 100 do
if (i in y) and (20 and 30 in y) then
begin
S:=s+1;
P:=P+[i];
end;
for i:=1 to 100 do
if (i in P) then Write(i);
Writeln('Мощность P:',S);
Readln;
end.

Ответы

Ответ дал: srzontmp
0
Решение в прикрепленном файле.

Приложения:
Ответ дал: srzontmp
0
Решение в прикрепленном файле - программа проверена на тестовой задаче, приведенной в предыдущем комментарии. А строку Вы поменяли? Строку if (i in y) and (20 and 30 in y) then .. на строку if (i in y), иначе, вы ставите условие, что оба элемента 20 и 30 должны принадлежать множеству, что не правильно, по условию задачи. В условии сказано, что необходимо проверить, входят ли 20 и 30 в множество.
Ответ дал: srzontmp
0
У Вас какой транслятор? Турбо паскаль или Паскаль АВС? В прикрепленном файле под Паскаль АВС. Я могу Вам переслать Вашу подправленную программу под Турбо паскаль. Но так как в Вашем вопросе поле для ответа уже не корректируется, а в поле для комментариев текст программы не поместится, то задайте вопрос снова и я Вам файл прикреплю в ответе.
Ответ дал: diana6918styles
0
нет abc
Ответ дал: diana6918styles
0
мощность вывод 100
Ответ дал: srzontmp
0
Проверьте операторы в конце программы y:=(x2*x3)-((x1*x2)+(x1*x3));
P:=[ ]; S:=0;
For i:=1 to 100 do
if (i in y) then
begin
S:=s+1;
P:=P+[i];
if (i=20) or (i=30) then
writeln('элемент ',i,' содержится в Р');
end;
for i:=1 to 100 do
if (i in P) then Write(i,' ');
Writeln('Мощность P:',S);
Readln;
end.
Вас заинтересует