Отредактируйте пожалуйста... Что-то у меня не получается.
Program C12;
var C,f,x,y,k: real; Begin writeln ('A BoT BaM u PEzyJIbTAT'); read (x,y,k); x:=2.64; y:=0.138; k:=8; f(x,y):=(1-exp(x)+sqr(y))/(sqrt(x)+sqrt(y); (там выдает ошибку) C:=f(x,y)+2*f(x+2,y-k)+f(x-y,k); WRITELN ('C=',C); READLN; END. |
Цитата:
|
Вы бы задание выложили...
|
Да задание-то понятно! Ладно уж, выложу как надо:
Код:
Program C12; |
Цитата:
|
Цитата:
Но далее он всё равно выдаст ошибку invalid floating operation. Для борьбы с этим я предлагаю поставить перед вычислением f поставить if. Тогда функция будет иметь вид Код:
Function f(xf,yf:real):real; |
спс попробую..
|
Сижу красный, как рак. От стыда. Извините - не надо ничего переименовывать, а надо просто убрать f из раздела описания переменных.
А вот что касается второй ошибки (floating)... Я предполагаю, что либо значения параметров заданы неверно, либо вид функции. А если уж вставлять условный оператор, то надо бы продолжить чем-нибудь типа ELSE выдать сообщение о неподходящих значениях параметров и осуществить прерывание программы (HALT). Иначе значение функции останется неопределенным, что некрасиво. |
Ну вот вариант с полной защитой. Отлаженный:
Код:
Program C12; |
Vladimir_S, да ладно Вам! Предстваьте какой я должен был сидеть, после ваших постов и сообщений от Long Cat :)
|
Часовой пояс GMT +4, время: 04:14. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.