Вот сама задача:
Составить программу вычисления корня нелинейного уравнения f (x) = 0, пользуясь одной из итерационных формул, если начальное приближение корня x (0) или промежуток изоляции корня [a, b] заданы. Вычисление прекратить, если разность двух последовательных приближений к корню не превышает заданной точности ε.
помогите написать задачу пожалуйста (+картинка)
Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill
-
- Сообщения: 20
- Зарегистрирован: 13 окт 2013, 22:33
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Сообщения: 20
- Зарегистрирован: 13 окт 2013, 22:33
Код: Выделить всё
Program LABA6_2;
var
x0,x,y,eps:real;
n:integer;
BEGIN
writeln('vvedit x0 i eps');
readln(x0,eps);
x:=x0;
y:=2-ln(x)/ln(10);
n:=0;
while abs(y-x)>eps do
begin
n:=n+1;
x:=y;
y:=2-ln(x)/ln(10);
end;
writeln('значення = ',y:6:2 ,' Єi«мЄiбвм iвҐа*жi© = ',n);
readln;
END.
Я бы советовал вычисление y реализовать в виде функции
function y(x: real):real;
begin y:=2-ln(x); end;
Я только не понял, зачем вы делите на ln(10), у вас в условии 2-ln(x), а не 2-lg(x)
function y(x: real):real;
begin y:=2-ln(x); end;
Я только не понял, зачем вы делите на ln(10), у вас в условии 2-ln(x), а не 2-lg(x)
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.