![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 14.04.2009
Сообщений: 1
|
![]()
Мне надо найти максимум и минимум функции. Программу написал, но при выполнении выскакивает ошибка "Ошибочная операция с плавающей запятой". Помогите разобраться.
Вот код программы program extremum; var a,b,n,h,eps1,eps2,xmin,ymin,xmax,ym ax,x,y,x1:real; function F(x:real):real; begin F:= -(x*x*sqrt(x)-x+1)/(sqrt(exp(x))) end; begin writeln('Введите первую точку'); readln(a); writeln('Введите вторую точку'); readln(b); writeln('Введите число подинтервалов'); readln(n); writeln('Введите погрешность поиска минимума'); readln(eps1); writeln('Введите погрешность поиска максимума'); readln(eps2); if b<a then writeln('Неверный ввод! b должно быть больше a') else h:=(b-a)/n; x1:=a; while h>=eps1 do begin ymin:=-1; x:=x1; repeat y:=F(x); if y<ymin then begin ymin:=y; xmax:=x; end; x:=x+h; until (y>ymin) or (x>b); x1:=xmin-h; h:=h/2; end; while h<=eps2 do begin ymax:=-100000; x:=x1; repeat y:=-(x*x*sqrt(x)-x+1)/(sqrt(exp(x))); if y>ymax then begin ymax:=y; xmax:=x; end; x:=x+h; until (y<ymax) or (x>b); x1:=xmax-h; h:=h/2; end; writeln('xmin','=', xmin:7:7, 'ymin','=', ymin:7:7); writeln('xmax','=', xmax:7:7, 'ymax','=', ymax:7:7); end. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
функции | surovii | Помощь студентам | 10 | 28.03.2009 13:12 |
Функции. Передача массива в качестве параметра функции. | Wia | Помощь студентам | 2 | 17.03.2009 14:57 |
Функции | Vinni_puh | Microsoft Office Excel | 1 | 20.12.2007 05:51 |
Функции | furian | Общие вопросы C/C++ | 3 | 18.12.2007 12:48 |