![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Neon6868 |
![]() ![]()
Сообщение
#1
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 146 Пол: Мужской Репутация: ![]() ![]() ![]() |
Задание: Вычислить корень нелинейного уравнения на отрезке [a;b] с погрешностями 0,001 ; 0,0001 ; 0,00001 ; 0,000001 методом хорд.
Программа находит корень, но он независимо от точности всегда один и тот же. Подскажите плиз что не так! ![]() Программа: Код Program Uravnenie; label M1,M2; var xi,xi1,a,b,e1,e2,fa,fb,f2a,fxi,fxi1:real; Begin writeln; write('Vvedite znachenie a='); readln(a); write('Vvedite znachenie b='); readln(b); write('Vvedite tochnost e1='); readln(e1); write('Vvedite tochnost e2='); readln(e2); xi:=0; xi1:=0; fa:=a*a*a+5*sqr(a)-0.1; fb:=b*b*b+5*sqr(b)-0.1; f2a:=6*a+10; if (fa*fb>0) then begin writeln('Net kornei!'); exit; end; if (fa*f2a>0) then begin xi:=b; M1:fxi:=xi*xi*xi+5*sqr(xi)-0.1; xi1:=xi-((xi-a)*fxi)/(fxi-fa); fxi1:=xi1*xi1*xi1+5*sqr(xi1)-0.1; if ((abs(xi-xi1)>e1) and (abs(fxi1)>e2)) then begin xi:=xi1; goto M1; end else begin writeln('Koren uravneniya x=',xi1:1:11); fxi1:=xi1*xi1*xi1+5*sqr(xi1)-0.1; writeln('Znachenie funkcii f(x)=',fxi1:1:11); end; end else begin xi:=a; M2:fxi:=xi*xi*xi+5*sqr(xi)-0.1; xi1:=xi-((b-xi)*fxi)/(fb-fxi); if ((abs(xi-xi1)>e1) and (abs(fxi1)>e2)) then begin xi:=xi1; goto M2; end else begin writeln('Koren uravneniya x=',xi1:1:11); fxi1:=xi1*xi1*xi1+5*sqr(xi1)-0.1; writeln('Znachenie funkcii f(x)=',fxi1:1:11); end; end; End. |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
|
Neon6868 |
![]() ![]()
Сообщение
#3
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 146 Пол: Мужской Репутация: ![]() ![]() ![]() |
Мне просто надо составить программу по алгоритму. Алгоритм прикреплён ниже. Я программу по нему составил, но всегда получается одно и то же значение. ![]() Эскизы прикрепленных изображений ![]() |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Ну, судя по всему, ошибка в том, что ты в одной ветке вычисляешь
fxi1:=xi1*xi1*xi1+5*sqr(xi1)-0.1; , а в другой - нет? |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 13:40 |