Программа
' Поиск корня уравнения методом секущих
DECLARE FUNCTION Root! (a!, b!)
DEF FnF (X) = X * X - 100 ' Вычисление функции
' Ввод интервала локализации корня:
INPUT "Введите левую границу интервала локализации корня ", a
INPUT "Введите правую границу интервала локализации корня ", b
Result = Root(a, b) ' Вычисление корня
PRINT "x="; Result; " F(x)="; FnF(Result) ' Вывод корня и проверки
END
FUNCTION Root (a, b) ' Функция нахождения корня
CONST Eps = 0 ' Точность вычислений
WHILE ABS(b - a) > Eps ' Сужение интервала до заданной точности
IF FnF(a) <> 0 THEN c = a + (b - a) / (1 - FnF(b) / FnF(a)) ELSE c = a
' Определение точки пересечения секущей с осью X или блокирование
' деления на 0 при случайном нахождении корня
IF (c = a) OR (c = b) THEN ' Если секущая пересекает ось X на границе
' интервала, то переопределение параметров для выхода из цикла
a = c: b = c
ELSEIF FnF(a) * FnF(c) > 0 THEN ' иначе, если функция не меняет
' знак на левом участке, то переопределение левого участка
a = c
ELSE ' иначе - переопределение
b = c ' правого участка
END IF
WEND
Root = (a + b) / 2 ' Определение значения функции
END FUNCTION
Бесплатные примеры программ
Примеры написанных программ
Помощь студентам по программированию