Тема: Pascal
Показать сообщение отдельно
Старый 06.05.2013, 17:13   #3 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Alexei18 Посмотреть сообщение
возможно я не правильно записал формулу
Да уж. Написали Вы, прямо скажем, нечто невразумительное. И откуда Вы такое взяли? Между прочим в Вашем выражении при х=1 внутренний логарифм равен нулю, а при x>1 он - положительная величина и, таким образом, результат его умножения на -0.5 отрицателен. И что же делать бедному компьютеру, если Вы пытаетесь заставить его считать логарифм от нулевой и отрицательной величины, что математика категорически запрещает? Да только и остается, что выдавать сообщения об ошибке.
Между тем, записать функцию - проще простого. По сути, как она написана, так и надо ее программировать, а не мудрить:
f = Ln(Sqr(x)) + 1.0/(2*Exp(x))
Это один из вариантов, так сказать, "лобовой". Можно и иначе, например, так:
f = 2.0*Ln(x) + Exp(-x)/2
ну и т.п.
К сожалению, помочь с отладкой программы не возьмусь: у Вас там половинное деление, а я терпеть не могу этот метод, ибо считаю его устаревшим недоразумением. Извините.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070