Исправить ошибки в коде - Pascal

Узнай цену своей работы

Формулировка задачи:

Старая программа, помогите исправить ошибки или подскажите, какая программа поддерживает такой вариант. Буду очень благодарен.
Program Newton_RGR;
  var P: array [1..9] of real;
    X, E: real;
    K, N: integer;
function F(X: real): real;
    var Q, R: real;
  begin 
    Q:=P[1];
    R:=0.0;
    for K:=2 to N do
      begin
        R:=Q+X*R;
        Q:=P[K]+X*Q;
      end;  
     F:=Q/R;
   end;
procedure NEWTON(var X, E: real; function F: real);
    var F1: real;
  begin 
    repeat
      F1:=F(X);
      X:=X-F1;
    until abs(F1><E);
  end;
begin
  repeat
    write (‘Введіть значення і крок: ’);
    readln (X, E);
    write (‘Введіть кількість параметрів: ’);
    readln (N);
    for K:=1 to N do
      begin
        write (‘P(’,K:2,’)= ’);
        readln (P[K]); 
      end; 
    NEWTON(X, E, F);
    writeln (‘X=’,X);
  until false;
end.

Решение задачи: «Исправить ошибки в коде»

textual
Листинг программы
Program Newton_RGR;
type fun=function (X: real): real;
  var P: array [1..9] of real;
    X, E: real;
    K, N: integer;
function F(X: real): real;
    var Q, R: real;
    k:integer;
  begin 
    Q:=P[1];
    R:=0.0;
    for K:=2 to N do
      begin
        R:=Q+X*R;
        Q:=P[K]+X*Q;
      end;  
     F:=Q/R;
   end;
procedure NEWTON(var X, E: real;  F: fun);
    var F1: real;
  begin 
    repeat
      F1:=F(X);
      X:=X-F1;
    until abs(F1)<>abs(E);
  end;
begin
  repeat
    write ('Введіть значення і крок: ');
    readln (X, E);
    write ('Введіть кількість параметрів: ');
    readln (N);
    for K:=1 to N do
      begin
        write ('P(',K:2,')= ');
        readln (P[K]); 
      end; 
    NEWTON(X, E, F);
    writeln ('X=',X);
  until false;
end.

Объяснение кода листинга программы

  1. Создается программа Newton_RGR.
  2. Определяется тип данных fun, который представляет собой функцию одного аргумента типа real.
  3. Определяется переменная P, которая является массивом из 9 элементов типа real.
  4. Определяются переменные X, E и K, которые являются типами real.
  5. Определяется функция F, которая принимает один аргумент типа real и возвращает один аргумент типа real.
  6. В функции F используются две переменные Q и R типа real.
  7. В процедуре NEWTON, которая является вспомогательной функцией для метода Ньютона, определяются переменные F1 типа real и X и E типов real.
  8. В цикле повторяется вызов функции F(X) и обновление значения X до тех пор, пока абсолютное значение F1 не будет отличаться от абсолютного значения E.
  9. После завершения цикла, выводится значение X.
  10. Программа продолжается до тех пор, пока пользователь не введет значения X и E и количество параметров N.
  11. Для каждого параметра в массиве P выводится введенное пользователем значение.
  12. Вызывается процедура NEWTON с параметрами X, E и функцией F.
  13. Выводится значение X после завершения цикла.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.333 из 5