Bartash написав:real - це змінна з плаваючою змінною. Вам слід:
1. Задати i,n як integer;
2. Перевіряти a>0, якщо використовуєте exp. Або поступити по-православному і використати натомість power().
Дякую,вже зрозумів,що було не так, перевірку а поки що не добавляв,але ось що вийшло(може комусь знадобиться)(3 способи)
program xxx;
var s,a : real;
i,n : integer;
Begin
writeln('введіть зміну');
readln(a);
writeln('введіть максимальне значення степеня');
readln(n);
s:=0;
for i:=1 to n do
begin
s:=s+exp(i*ln(a));
end;
writeln(s);
end.
program xxx;
var s,a : real;
i,n : integer;
Begin
writeln('введіть зміну');
readln(a);
writeln('введіть максимальне значення степеня');
readln(n);
s:=0;
i:=1;
while i<=n do
begin
begin
s:=s+exp(i*ln(a));
end;
i:=i+1;
end;
writeln(s);
end.
program xxx;
var s,a : real;
i,n : integer;
Begin
writeln('введіть зміну');
readln(a);
writeln('введіть максимальне значення степеня');
readln(n);
s:=0;
i:=1;
repeat
begin
s:=s+exp(i*ln(a));
end;
i:=i+1;
until i>n;
writeln(s);
end.