Простой итерационный цикл: При вычислении компилятор выдает NAN - Turbo Pascal
Формулировка задачи:
Привет, спасибо, что заинтересовались темой =) У меня проблема возникла... задачка вроде простая,
- уравнение итерации
вроде бы все правильно написал, но при вычислении компилятор выдает NAN. Да, знаю, что это может быть при попытке деления на ноль и т.д., но у меня нет деления на ноль. Вот код...
Решение задачи: «Простой итерационный цикл: При вычислении компилятор выдает NAN»
textual
Листинг программы
uses crt; var x,e,s,t:real; n:integer; begin clrscr; x:=0.75; e:=0.01; n:=1; t:=x; s:=t; while abs(t)>e do begin n:=n+1; t:=-t*x*x/(2*n-2)/(2*n-1); s:=s+t; end; writeln('S=',s:0:2); writeln('Sinx=',sin(x):0:2); readln end.
Объяснение кода листинга программы
- В начале кода используются необходимые библиотеки и объявляются переменные: x, e, s, t, n.
- Строка
clrscr;
очищает экран. - Переменная x инициализируется значением 0.75.
- Переменная e инициализируется значением 0.01.
- Переменная n инициализируется значением 1.
- Переменная t инициализируется значением x.
- Переменная s инициализируется значением t.
- Запускается цикл while, который выполняется до тех пор, пока abs(t) больше e.
- Внутри цикла переменная n увеличивается на 1.
- Переменная t вычисляется как -txx/(2n-2)/(2n-1).
- Переменная s увеличивается на значение t.
- Цикл while завершается, когда abs(t) становится меньше или равно e.
- Выводится значение переменной s с точностью до двух знаков после запятой.
- Выводится значение функции sin(x) с точностью до двух знаков после запятой.
- Вызывается функция readln(), чтобы пользователь мог прочитать ввод.
- Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д