В общем, программа вполне работоспособна, только нужно заменить две строки: строку if (i in y) and (20 and 30 in y) then убрать, вместо нее после строки P:=P+[i]; добавить строку if (i=20) or (i=30) then writeln('элемент ',i,' входит в множество'); в конце программы в строке if (i in P) then write(i); write(i); заменить на write(i,' '); а то вывод у Вас сольется. На тестовой задаче x1={20,26,34,45,58} , x2={20,26,45,30,92} , x3={20,45,15,30,92} должны получить P: 30, 92 и мощность Р =2