![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Catty |
![]()
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 239 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
выдает минимум не точно!
Код uses crt; const E=0.001; l=0.1; var x1, x2, y1, y2, a, a1, b, b1, xmin: Extended; n, k, it: Word; {---------------------------} function f(n: Word): Comp; var fa, fb, fc: Comp; i:Integer; begin fa:=0; fb:=1; for i:= 3 to n do begin fc:=fa+fb; fa:=fb; fb:=fc; f:=fc; end; end; {---------------------------} BEGIN clrscr; a:=2; b:=4; a1:=a; b1:=b; n:=3; While f(n)< (b1-a1)/l do n:=n+1; Writeln('n= ',n,' f(n)= ',f(n):3:0); x1:= a+f(n-2)/f(n)*(b-a); x2:= a+f(n-1)/f(n)*(b-a); y1:= 5*sin(x1)*sin(x1)-1/(sqr(x1)+1)+4; y2:= 5*sin(x2)*sin(x2)-1/(sqr(x2)+1)+4; k:= 1; it:=0; Repeat it:=it+1; if y1>y2 then begin a:=x1; x1:=x2; x2:=a+f(n-k-1)/f(n-k)*(b-a); y2:=5*sin(x2)*sin(x2)-1/(sqr(x2)+1)+4; k:=k+1; end else begin b:=x2; x2:=x1; x1:=a+f(n-k-2)/f(n-k)*(b-a); y1:=5*sin(x1)*sin(x1)-1/(sqr(x1)+1)+4; k:=k+1; end; Until k=n-2; x2:=x1+E; y1:=5*sin(x1)*sin(x1)-1/(sqr(x1)+1)+4; y2:=5*sin(x2)*sin(x2)-1/(sqr(x2)+1)+4; if y1<y2 then b:=x2 else a:=x1; Writeln ('Optimalnoe reshenie v intervale [',a1:6:2,',', b1:6:2,']'); Writeln ('Kilkist iteracij', it:6); if a=a1 then xmin:= a1 else if b=b1 then xmin:= b1 else xmin:=(a+b)/2; Writeln ('Pri x=',xmin:7:2,' funkcija prinimaet min znachenie ', (5*sin(xmin)*sin(xmin)-1/(sqr(xmin)+1)+4):8:3); Readln; END. -------------------- For every evil under the sun
There is a remedy or there is none If there is one - try to find it If there is none - never mind it! |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Catty, что-то не то с алгоритмом. Попробуй перед Until поставить
writeln(' x1 = ', x1:8:3, ' y1 = ', y1:8:3,для контроля, и посмотри, какие значения x, y присутствуют... ![]() Цитата(Results) n= 9 f(n)= 21 x1 = 2.762 y1 = 4.571 x2 = 3.238 y2 = 3.959 x1 = 3.238 y1 = 4.571 x2 = 3.524 y2 = 4.621 x1 = 3.048 y1 = 3.947 x2 = 3.238 y2 = 4.621 x1 = 2.952 y1 = 4.074 x2 = 3.048 y2 = 4.621 x1 = 2.857 y1 = 4.285 x2 = 2.952 y2 = 4.621 x1 = 1718815233565055.000 y1 = 6.057 x2 = 2.857 y2 = 4.621 x1 = 2.857 y1 = 6.057 x2 = -31020420974920486000000000000000.000 y2 = 4.8113325873064343E+0063 Optimalnoe reshenie v intervale [ 2.00, 4.00] Kilkist iteracij 6 Pri x= 2.90 funkcija prinimaet min znachenie 4.169 |
Catty |
![]()
Сообщение
#3
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 239 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
о да! и как это исправить??....я не знаю....
![]() -------------------- For every evil under the sun
There is a remedy or there is none If there is one - try to find it If there is none - never mind it! |
Catty |
![]()
Сообщение
#4
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 239 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
HEELP!! Ну что никто не может мне помочь!!??
-------------------- For every evil under the sun
There is a remedy or there is none If there is one - try to find it If there is none - never mind it! |
![]() ![]() |
![]() |
Текстовая версия | 19.07.2025 11:07 |