6.2. Стиль 2: Создание пользовательского интерфейса
Команда INPUT() используется для разрешения пользователю вводить формулу, а не заранее сохранять ее в переменной F1.
EXPORT NEWT2()
BEGIN
LOCAL n, xold, xnew, err, N, f;
N := 100; err := .00001; xnew := 1;
IF INPUT(
{f, xnew, err, N},
"Newton's Method",
{"f(X) = ", "Guess = ", "Error = ", "Max Iter. = "},
{
"Enter the function surrounded by single quotes",
"Enter the initial guess",
"Enter the tolerance",
"Enter the maximum number of iterations"
},
{f, xnew, err, N}
) THEN
F1 := f;
CAS("F0 := id-F1/F1'");
L1 := {}; L1(1) := xnew;
FOR n FROM 2 TO N+1 DO
xold := xnew;
xnew := F0(xold);
L1(n) := xnew;
IF ABS(xnew-xold) < err THEN BREAK; END;
END;
EDITLIST(L1);
END;
END;