Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2014, 21:49   #1
Алькер
Пользователь
 
Регистрация: 07.04.2014
Сообщений: 26
Восклицание Последовательность. Ошибка

Вычислить сумму последовательности, из элементов аk вычисляемых по формуле, с точностью е = 0.001. Выяснить сколько нужно слагаемых для достижения заданной точности. Значение k=1,2,…аk = sin(k!)/8kх.
Код:
program sum;
 const
 e = 0.001;
 var
 x, a, summa: real;
 k: integer;
 function Factorial(n: word): real;
 begin
 if n = 0 then
 Factorial := 1
 else
 Factorial := n * Factorial(n - 1);
 end;
 begin
 writeln('Введите x:');
 readln(x);
 summa := 0;
 k := 1;
 a := Factorial(k);
 while (abs(a) > e) do
 begin
 summa := summa + a;
 k := k + 1;
 a := (Factorial(k))/8*k*x;
 end;
 writeln('Сумма=', summa:5:2);
 writeln('Количество слагаемых=', k - 1);
 end.
Ошибка времени выполнения: StackOverflowException: Программа завершена из-за переполнения программного стека.

Последний раз редактировалось Stilet; 10.05.2014 в 22:01.
Алькер вне форума Ответить с цитированием
Старый 10.05.2014, 22:28   #2
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,602
По умолчанию

Формулу неверно описали
Код:

 a :=sin (Factorial(k))/(8*k*x); // sin пропущен был
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 10.05.2014, 22:30   #3
Алькер
Пользователь
 
Регистрация: 07.04.2014
Сообщений: 26
По умолчанию

Да да. Я уже заметила. Но ответ очень большой выдает. Иногда даже ответом инфинитив. Это нормально?
Алькер вне форума Ответить с цитированием
Старый 10.05.2014, 22:33   #4
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,602
По умолчанию

Перед циклом почему а равно просто факториалу?
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 10.05.2014, 22:35   #5
Алькер
Пользователь
 
Регистрация: 07.04.2014
Сообщений: 26
По умолчанию

Код:
program DvaMassiva;
var y, g : array [1..10] of real;
 k, n : integer;
begin
n := 0;
for k := 1 to 10 do
begin
y[k]:=ln(k) - 3;
if y[k] < 0 then
begin
n := n + 1;
g[n] := y[k];
end;
writeln('y(' , k, ')= ' , y[k]:7:2);
end;
if n = 0 then
writeln('В массиве отрицательных элементов нет')
else
for k := 1 to n do
writeln('g[' , k , ']= ' , g[k]:7:2);
end.
просто так решено у препода..по анологии так сказать.
Алькер вне форума Ответить с цитированием
Старый 10.05.2014, 22:38   #6
Алькер
Пользователь
 
Регистрация: 07.04.2014
Сообщений: 26
По умолчанию

Вообщем проблема в скобках была! (8*х*K)
Алькер вне форума Ответить с цитированием
Старый 10.05.2014, 22:55   #7
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,602
По умолчанию

То есть, всев порядке?
ZX Spectrum-128 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка:цифры числа всегда убывающая последовательность droopy Помощь студентам 3 12.01.2014 17:34
Дана последовательность целых чисел a1, a2, …an. Образовать новую последовательность, выбросив из исходной, те члены, которые равн Мария74 C++ Builder 2 04.12.2013 23:09
Дана непустая последовательность вещественных чисел, оканчивающаяся числом 1000. Последовательность является неубывающей. fanatloko Паскаль, Turbo Pascal, PascalABC.NET 1 23.06.2013 14:25
Ошибка "недопустимая escape-последовательность" Jamguranga Visual C++ 1 07.02.2013 21:32
Hibernate ORA-02289: последовательность не существует. Ошибка при добавлении записи в таблицу YaMolekula Java Базы данных (JDBC, JPA, Hibernate) 0 06.09.2012 23:53