Если ряд указан верно, то зачем такая сложная формула, ведь достаточно умножения на -2?
Code
var strt, i, N, sum:integer;
begin
strt:=2; //начало последовательности
write('N=');
readln(N);
sum:=0;
for I := 1 to N do
begin
strt:=strt*-2;
sum:=sum+strt;
end;
writeln('summa ryada sum=',sum);
readln;
end.
Во второй задаче вроде все правильно.
Про треью я что-то не совсем понял, может есть более полное условие?