Задача 1
procedure swp(var n, m: integer);
var
  tmp: integer;
begin
  tmp := n;
  n := m;
  m := tmp;
end;
var
  a, b, c, d, i: integer;
begin
  writeln('Пожалуйста, введите четыре числа через пробел:');
  readln(a, b, c, d);
  if a > b then swp(a, b);
  if c > d then swp(c, d);
  if c < a then
    if d < a then begin swp(a, c); swp(d, b); end
    else if d > b then begin swp(b, c); swp(a, b); end
    else begin swap(b, d); swp(c, b); swp(a, b); end
  else
  if d < b then begin swp(c, d); swp(b, d); end
else if c < b then swp(b, c);
  writeln('Сумма наименьшего и наибольшего: ', a + d);
end.
Задача 2
var
  n: integer;
begin
  writeln('Введите число: ');
  readln(n);
  if n mod 2 = 0 then
    writeln('Число чётное. Число, поделеное на 2: ', n div 2)
  else
  if (n div 10 mod 10 mod 2 = 0) then
    writeln('Число нечётное, но его можно сделать чётным перестановкой цифр: ', n div 100 * 100 + n mod 10 * 10 + n div 10 mod 10)
  else if (n div 100 mod 2 = 0) then
    writeln('Число нечётное, но его можно сделать чётным перестановкой цифр: ', n mod 10 * 100 + n div 10 mod 10 * 10 + n div 100)
  else writeln('Нельзя сделать чётным');
end.