Program Test;
Var
a1, a2, d, k, max, tmp: integer;
sum: real;
rule: boolean;
Begin
Writeln('Введите а1 и а2');
Readl(a1, a2);
k := 2;
d := a2 - a1;
rule := true;
while (rule = true) do
begin
k := k + 1;
tmp := a1 + k * d;
if (tmp < 50) then
max := tmp
else
rule := false;
end;
sum := (a1 + max) / 2 * k;
Writeln();
Writeln('Сумма = ', sum);
End.
------------------------
Программа будет работать только для арифметических прогрессий, например, таких, как последовательность из задания. Вводить нужно 2 целых числа (первые два члена прогрессии) через пробел (в вашем случае 4 и 7)