Последние аk =( 1,9x+ 7k)/k!program sum;const e = 0.001; var x, a,summa : real; k :...

0 голосов
104 просмотров

Последние аk =( 1,9x+ 7k)/k!

program sum;
const e = 0.001;
var x, a,summa : real;
k : integer;
function Factorial(n: word): LongInt;
begin
if n=0 then Factorial := 1 else Factorial := n*Factorial(n-1);
end;
begin
writeln('Введите x:');
readln(x);
summa:= 0;
k:=1;
a := 1.9*x+exp(k*ln(7));
while abs(a) > e do
begin
summa:=summa + a;
k := k + 1;
a := exp(1.9*x+exp(k*ln(7)))/Factorial(k);
end;
writeln('Сумма=', summa:5:2);
writeln('Количество слогаемых=', k-1);
end.
Где ошибка?


Информатика (50 баллов) | 104 просмотров
0

аn = (2х)n/(10n), выглядет как writeln('Введите число x:');readln(x);summa := 0;n: = 1;a := -2 * x;while abs(a) > e do beginsumma := summa + a;n := n + 1;{Вычисляем an+i}a := exp(n * ln(2 * x)) / (10*n);end;writeln('Сумма =', summa:5:2); writeln('Количество слагаемых =', n-1);

0

это так пример

0

ааа

0

но тогда получается деление на 0 ошибка

0

где?

0

a := 1.9*x+exp(k*ln(7))/Factorial(k);

0

Это комп выдаёт такую ошибку?

0

Да паскаль

0

В таком случае, надо считать не факториал, а 1 делить на факториал (факториал очень быстро растет и не помещается в обычные типы данных)

0

Нет. Все ровно ошибка...

Дан 1 ответ
0 голосов
Правильный ответ

У меня такой файл работает правильно почти для всех иксов. 

(148k баллов)