помогите написать задачу пожалуйста (+картинка)

За вознаграждение или нахаляву (если повезёт)

Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill

Ответить
misha_beginner
Сообщения: 20
Зарегистрирован: 13 окт 2013, 22:33

13 окт 2013, 22:35

Вот сама задача:
Составить программу вычисления корня нелинейного уравнения f (x) = 0, пользуясь одной из итерационных формул, если начальное приближение корня x (0) или промежуток изоляции корня [a, b] заданы. Вычисление прекратить, если разность двух последовательных приближений к корню не превышает заданной точности ε.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
misha_beginner
Сообщения: 20
Зарегистрирован: 13 окт 2013, 22:33

13 окт 2013, 23:09

Код: Выделить всё

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.
вот так правильно?
Хыиуду
Сообщения: 2388
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

14 окт 2013, 12:33

Я бы советовал вычисление y реализовать в виде функции
function y(x: real):real;
begin y:=2-ln(x); end;

Я только не понял, зачем вы делите на ln(10), у вас в условии 2-ln(x), а не 2-lg(x)
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Ответить