Вот собснно первая,......это если без заполнения с клавиатуры, если надо заполнять множества с клавы, то напиши, можно переделать....
Код
Program _Set_;
Type
   Set_Byte = Set of 0..255;  { Множество может принимать до 255 различных значений }
Var
   A,B      : Set of 0..50;
   New_Set  : Set of 0..100;
Begin
   A:=[1,3,5,2,0];            { Заполняем множество A числами }
   B:=[1,8,9,6,4];            { Заполняем множество B числами }
   New_Set:=A*B-A;            { Формируем новое множество     }
end.
Вот собсноо и вторая.....
Если что не так как хотелось бы не стесняйся спрашивай, поможем чем сможем.......
Код
Program Exponent_Too;
Const
   N = 1000;  { Количество элементов }
Var
   A    : Array [1..N] of Integer;
   i    : Integer;
   r    : Real;
   Bool : Boolean;
Begin
   Randomize; { Заполнение массива случайными числами от 1 до N }
   for i:=1 to N do
   begin
      A[i]:=Random(N);
      Write(A[i],' ');
   end;
   {=A=}
   Writeln;
   Writeln('--- Exponents Too ----');
   for i:=1 to N do
   begin
      { Инициализируем переменные }
      bool:=TRUE;
      r:=A[i];
      { Если четное то проверяем дальше }
      if (A[i] mod 2 = 0) and (A[i]<>0) then
      { Делим на 2 до тех пор пока r не равно 2}
       while (bool) and (r<>2) do
       begin
          r := r/2;
          { Если успешно делится то делим дальше, иначе это не то число и выход }
          if frac(r)<>0 then bool:=FALSE;
       end;
       { Число разделилось до двух значит то что надо и выводим на экран }
       if r=2 then Write('A[',i,']=',A[i],' ');
   end;
   Writeln;
   Writeln('Press Any Key ...');
   Readln;
   {=B=}
   Writeln('--- Full Square ---');
   { Проверка на квадрат }
   for i:=1 to N do
   begin
      { Получаем квадратный корень в r }
      r:=sqrt(A[i]);
      { Если r это целое число то выводим его на экран }
      if frac(r)=0 then Write('A[',i,']=',A[i],' ');
   end;
   Readln;
End.
Цитата
Мне интересно: тебе не стыдно? 
Ну и что..зато смотри как тема красиво называется, почему бы и не помочь? что такого то????