![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
AssAssIN'KO |
![]() ![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Репутация: ![]() ![]() ![]() |
Помогите пожалуйста составить программу к этой задаче:
Составить структурированную программу для нахождения корня уравнения: (корень(1-х))-cos(корень(1-х))=0 на отрезке [0;1) с абсолютной погрешностью Эпсила=10в -3 степени,методом Ньютона.В программе предусмотреть подсчёт и выдачу на печать колличество итераций,необходимых для вычисления значения с заданной точностью.(как я понял точность самому надо задать) Кто знает как решить помогите плииз...очень надо |
Lapp |
![]()
Сообщение
#2
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
-------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
AssAssIN'KO |
![]()
Сообщение
#3
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Репутация: ![]() ![]() ![]() |
я читал эту тему.....мне не понятно
![]() ![]() |
Lapp |
![]()
Сообщение
#4
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
я читал эту тему.....мне не понятно Тогда спрашивай более конкретно, что именно неясно. Прождать ты можешь до бесконечности..![]() ![]() -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
AssAssIN'KO |
![]()
Сообщение
#5
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Репутация: ![]() ![]() ![]() |
ну у меня получилось чтото вроде этого
program Nuton;
uses crt;
const
Eps=0.0001;
var
a,b,c,z,f1,f2:real;
begin
clrscr;
a:=0;
b:=1;
f1:=sqr(1-a)-cos(sqrt(1-a));
f2:=(-1)/(2*(sqrt(1-a)))+(1/(2*(sqrt(1-a))))*(sin(sqrt(1-a)));
if f1*f2>0 then c:=a
else c:=b;
repeat
z:=((sqrt(1-c))-(cos(sqrt(1-a)))/((-1)/(2*(sqrt(1-a))))+(1/(2*(sqrt(1-a))))*(sin(sqrt(1-a))));
c:=c-z;
k:k+1;
until abs f(z)<Eps;
writeln c,k;
readln
end
|
Lapp |
![]()
Сообщение
#6
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
ну у меня получилось чтото вроде этого Хотьбы довел до компилирующегося состояния.. Вот, лови, разбирайся.. const
Eps=0.0001;
var
k: integer;
a,b,x,y,y1: double;
function f(x: double): double;
begin
f:=Sqrt(1-x)-Cos(Sqrt(1-x))
end;
function f1(x: double): double;
var
s: double;
begin
s:=Sqrt(x);
f1:=-0.5/s-0.5*Sin(s)/s
end;
begin
a:=0;
b:=1;
x:=(a+b)/2;
y:=f(x);
while abs(y)>Eps do begin
y:=f(x);
x:=x-y/f1(x);
k:=k+1
end;
writeln('root is: x=',x:5:8,' iterarions: ',k);
readln
end.
-------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Гость |
![]()
Сообщение
#7
|
Гость ![]() |
Хотьбы довел до компилирующегося состояния.. Вот, лови, разбирайся.. const
Eps=0.0001;
var
k: integer;
a,b,x,y,y1: double;
function f(x: double): double;
begin
f:=Sqrt(1-x)-Cos(Sqrt(1-x))
end;
function f1(x: double): double;
var
s: double;
begin
s:=Sqrt(x);
f1:=-0.5/s-0.5*Sin(s)/s
end;
begin
a:=0;
b:=1;
x:=(a+b)/2;
y:=f(x);
while abs(y)>Eps do begin
y:=f(x);
x:=x-y/f1(x);
k:=k+1
end;
writeln('root is: x=',x:5:8,' iterarions: ',k);
readln
end.
я попробовал сделать программу из этого,но почитав методички у меня получилось вот это..... Program N20; uses crt; var x,x1,e:real; i:byte; begin textbackground(black); repeat clrscr; textbackground(red); window(5,5,40,15); clrscr; textcolor(white); writeln('vvod x na promezutke [0;1)='); readln(x); until(x>=0)and(x<1); i:=0; e:=0.001; x1:=Sqrt(1-x)-Cos(Sqrt(1-x)); while abs(x1-x)>e do begin x:=x1; x1:=Sqrt(1-x)-Cos(Sqrt(1-x)); i:=i+1; end; textbackground(magenta); window(40,20,70,30); clrscr; textcolor(yellow); writeln('pechati x1=',x1:5:4); writeln('kolichestvo interachii=',i); readln; end. но он выдаёт 207 ошибку при вооде значений |
AssAssIN'KO |
![]()
Сообщение
#8
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Репутация: ![]() ![]() ![]() |
сори,забыл код в тег поместить
|
AssAssIN'KO |
![]()
Сообщение
#9
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Репутация: ![]() ![]() ![]() |
точнее вот,выдаёт ошибку 207 Invalid floating operation
Program N20;
uses crt;
var
x,x1,e:real;
i:byte;
begin
textbackground(black);
repeat
clrscr;
textbackground(red);
window(5,5,40,15);
clrscr;
textcolor(white);
writeln('vvod x na promezutke [0;1)=');
readln(x);
until(x>=0)and(x<1);
i:=0;
e:=0.001;
x1:=Sqrt(1-x)-Cos(Sqrt(1-x))/(-1/2*sqrt(1-x)+sin(sqrt(1-x))*(-1/2)*(sqrt(1-x)));
while abs(x1-x)>e do
begin
x:=x1;
x1:=Sqrt(1-x)-Cos(Sqrt(1-x))/(-1/2*sqrt(1-x)+sin(sqrt(1-x))*(-1/2)*(sqrt(1-x)));
i:=i+1;
end;
textbackground(magenta);
window(40,20,70,30);
clrscr;
textcolor(yellow);
writeln('pechati x1=',x1:5:4);
writeln('kolichestvo interachii=',i);
readln;
end.
Сообщение отредактировано: AssAssIN'KO - 6.10.2009 19:40 |
Lapp |
![]()
Сообщение
#10
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
точнее вот,выдаёт ошибку 207 Invalid floating operation Потому что производную надо правильно записывать. Чем тебе не понравились мои функции? Зачем все валить в одну кучу? Чтобы потом ошибки выискивать часами и сутками? Вы что ли функции не проходили?Sqrt должен быть в знаменателе, а у тебя в числителе.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
AssAssIN'KO |
![]()
Сообщение
#11
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Репутация: ![]() ![]() ![]() |
Потому что производную надо правильно записывать. Чем тебе не понравились мои функции? Зачем все валить в одну кучу? Чтобы потом ошибки выискивать часами и сутками? Вы что ли функции не проходили? Sqrt должен быть в знаменателе, а у тебя в числителе.. в том то и дело что не проходили,но я уже разобрался,сделал программу,всё работает,производную не совсем точно подсчитал,спасибо огромное тебе за помощь |
Lapp |
![]()
Сообщение
#12
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
в том то и дело что не проходили,но я уже разобрался,сделал программу,всё работает,производную не совсем точно подсчитал,спасибо огромное тебе за помощь Рад, что помогло.Даже если не проходили, я бы советовал разбивать большие формулы на части, используя дополнительные переменные, по крайней мере на этапе отладки. Свое время дороже, чем машинное. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 0:17 |