![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 26.07.2010
Сообщений: 6
|
![]()
Здравствуйте! Я недавно начал изучать pascal. Взял для изучения книгу "Алгоритмизация и программирование на Турбо Паскале".
В 5 главе столкнулся с небольшой проблемой: Паскаль выдаёт ошибку. К тому же не совсем понимаю задание. ![]() ![]() До цикла мы вычисляем погрешность eps:=exp(ln(10)*(-3)); Потом сравниваем abs(y1-y) и eps В цикле мы вычисляем примерно следующее: while abs(y1-y)<=eps do begin y:=y1; y1:=y1+(1/n)*(((x/(exp(ln(y1)*(n-1)))))-y1); end; При попытке запуска, паскаль выдаёт ошибку: error 207 invalid floating point operation Если я правильно понимаю, то значения y,x равны нулю? Как исправить проблему, подскажите пожалуйста. Последний раз редактировалось Йохан Шмидт; 26.07.2010 в 13:11. |
![]() |
![]() |
![]() |
#2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Если мне не изменяет память y1 должен быть больше нуля. Логарифм от отрицательного не бывает.
И кстати, Цитата:
Код:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 26.07.2010
Сообщений: 6
|
![]()
Спасибо, точно...
Код:
y1:=y1+(1/n)*(x/(exp(ln(y1)*(n-1))-y1)); Пишет что деление на 0. Как это возможно исправить? |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 28.01.2008
Сообщений: 267
|
![]()
попробуйте в блоке
Код:
Не забываем говорить спасибо за помощь - это ведь так приятно
![]() |
![]() |
![]() |
![]() |
#5 |
Регистрация: 26.07.2010
Сообщений: 6
|
![]()
error 3 unknown identifier
Нужно что-то прописывать чтобы использовать try..except? Я так понимаю, что деление на 0 происходит тут: (x/(exp(ln(y1)*(n-1)))) Можно как-то без try..except исправить деление на 0. Вот вопрос как. У меня такое чувство, что скобка где-то не так стоит. А где найти не могу. А можно сделать так? Код:
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 12.05.2010
Сообщений: 125
|
![]()
Ноль получается в скобке: n-1 на первом шаге. Наверное нужно просто начинать с 2!
|
![]() |
![]() |
![]() |
#7 |
Регистрация: 26.07.2010
Сообщений: 6
|
![]()
Ну допустим... А как теперь определить корень 2 и 4 степени из числа PI/3?
|
![]() |
![]() |
![]() |
#8 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Exp(2*ln(pi/3)) и Exp(4*ln(pi/3)) если не ошибаюсь
I'm learning to live...
|
![]() |
![]() |
![]() |
#9 |
Регистрация: 26.07.2010
Сообщений: 6
|
![]()
Скорее Exp(ln(pi/3)/2) и Exp(ln(pi/3)/4)
Но это всё не то. Наверняка это надо сделать как-то через цикл, тоесть вместо 2 и 4 подставить n. Я просто не совсем понимаю задание корректно. Может кто-то изложит более ясно? помогите пожалуйста... Последний раз редактировалось Stilet; 27.07.2010 в 12:41. |
![]() |
![]() |
![]() |
#10 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
![]()
I'm learning to live...
|
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача с циклом на Паскале | Карабин | Помощь студентам | 2 | 02.04.2009 00:26 |
задача с циклом в паскале | баста | Помощь студентам | 6 | 10.02.2009 22:16 |
Задача в паскале, работа со списком. | Cartman18 | Помощь студентам | 1 | 30.04.2008 12:44 |
Задача с циклом | POPOV | Общие вопросы Delphi | 13 | 01.02.2008 20:33 |