Показать сообщение отдельно
Старый 26.12.2009, 09:55   #6 (permalink)
DDS
Member
 
Регистрация: 15.02.2009
Сообщений: 695
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 523
По умолчанию

Цитата:
Сообщение от Sergei47 Посмотреть сообщение
Вот здесь ошибку выдает...
Да, здесь он действительно выдаёт ошибку duplicat identifier(2 одинаковых имени). Так переменуйте переменную f на f1 или что-нибудь подобное.
Но далее он всё равно выдаст ошибку invalid floating operation.
Для борьбы с этим я предлагаю поставить перед вычислением f поставить if. Тогда функция будет иметь вид
Код:
Function f(xf,yf:real):real;
begin
if (xf>0)and(yf>0) then
 f:=(1-exp(xf)+sqr(yf))/(sqrt(xf)+sqrt(yf));
end; {f}
DDS вне форума   Ответить с цитированием
Ads

Яндекс

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