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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2010, 18:47   #1
d00ker
Пользователь
 
Регистрация: 24.12.2008
Сообщений: 65
Восклицание Проблема с 205 ошибкой в Pascal

Вот код программы целиком. Работаю в Turbo 7.0 . Error 205 вылетает на 19 строчке. Не пойму, в чем ошибка?

Код:
program lab_4;
uses crt;
const
     eps=0.00001;
var
   y,z:real;
function logarifm(z,eps:real):real;
var
   s,a,ys:real;
   i:integer;
begin
     s:=0;
     a:=z;
     i:=1;
     ys:=((a-1)*(a-1))/((a+1)*(a+1));
     while abs(a)>=eps do begin
           s:=s+a;
           i:=i+1;
           a:=a*ys*((2*i-1)/(2*i+1));
     end;
     if s<= 0 then begin
        writeln('Логарифм меньше или равен 0');
        readln;halt end;
     logarifm:=2*s;
end;
begin
     clrscr;
     write('Введите z: ');
     readln(z);
     if z=-1 then begin
        writeln('Знаменатель множителя равен 0');
        readln;halt end;
     y:=ln(logarifm(z,eps));
     writeln('Ответ: ',y:3:1);
     readln;
end.
d00ker вне форума Ответить с цитированием
Старый 28.11.2010, 22:45   #2
Z1000000
Форумчанин
 
Регистрация: 04.05.2010
Сообщений: 495
По умолчанию

Да вроде работает все.
Какое число задаешь?
Нажми на весы, поставь +
Для благодарностей : WebMoney WMR R252732729948
Z1000000 вне форума Ответить с цитированием
Старый 28.11.2010, 23:24   #3
NSvirus
пропагандирую жизЪ
Форумчанин
 
Аватар для NSvirus
 
Регистрация: 19.03.2007
Сообщений: 950
По умолчанию

Поиск юзай
Посторонним В.
NSvirus вне форума Ответить с цитированием
Старый 28.11.2010, 23:50   #4
d00ker
Пользователь
 
Регистрация: 24.12.2008
Сообщений: 65
По умолчанию

Цитата:
Сообщение от Z1000000 Посмотреть сообщение
Да вроде работает все.
Какое число задаешь?
Если задавать все числа >=-1, то выводится все правильно, а как только вводишь числа <-1, то выводит эту самую ошибку.
d00ker вне форума Ответить с цитированием
Старый 28.11.2010, 23:52   #5
d00ker
Пользователь
 
Регистрация: 24.12.2008
Сообщений: 65
По умолчанию

Цитата:
Сообщение от NSvirus Посмотреть сообщение
Первым делом за это и принялся, но мне это мало что дало, а именно к решению проблемы меня это не привело.
d00ker вне форума Ответить с цитированием
Старый 29.11.2010, 08:15   #6
Z1000000
Форумчанин
 
Регистрация: 04.05.2010
Сообщений: 495
По умолчанию

В строке 19 переменная "a" принимает слишком большое значение ( a > 10^308 ). Происходит переполнение - паскаль такими большими числами оперировать не может.
Как поправить не знаю, потому что не понимаю , что вычисляет функция logarifm
Нажми на весы, поставь +
Для благодарностей : WebMoney WMR R252732729948
Z1000000 вне форума Ответить с цитированием
Старый 29.11.2010, 16:51   #7
d00ker
Пользователь
 
Регистрация: 24.12.2008
Сообщений: 65
По умолчанию

Цитата:
Сообщение от Z1000000 Посмотреть сообщение
В строке 19 переменная "a" принимает слишком большое значение ( a > 10^308 ). Происходит переполнение - паскаль такими большими числами оперировать не может.
Как поправить не знаю, потому что не понимаю , что вычисляет функция logarifm
Задание в документе Задание.doc
Вложения
Тип файла: doc Задание.doc (37.0 Кб, 8 просмотров)

Последний раз редактировалось d00ker; 29.11.2010 в 19:56. Причина: Перезалил документ с исправлением ошибки в множителе
d00ker вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибка # 205 в Паскале.. ZloyGeniy99 Помощь студентам 9 10.02.2010 23:12
Проблема с ошибкой в бд (ПАРАДОКС) DuM4uK БД в Delphi 4 01.10.2009 16:54
Помогите с ошибкой Wildangel0990 Помощь студентам 1 02.07.2009 18:58
Помогите с ошибкой Bigtyoma Общие вопросы Delphi 1 24.12.2008 19:48
Помогите с ошибкой IO 32 JIK Общие вопросы Delphi 4 21.06.2008 18:17