![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
II. Отделения корней программным способом.
Пусть имеется уравнение F(x)=0, причем все корни находятся на отрезке [ a, b ]. Будем вычислять все значения функции y=F(x), начиная с точки x=a, двигаясь вправо шагом h. Если функция на отрезке длины h меняет знак (т.е. F(a)F(b)< 0) и монотонна, можно считать, что на этом отрезке ровно 1 корень.
Программа отделения корней: program otd_korn; var x1, x2, a, b, h: real; function f(x: real): real; begin {записать, функцию в виде f: =[математическое выражение]} f: =x*x*x-x+4; end; begin write('Введите левую границу отрезка - a: '); readln(a); write('Введите правую границу отрезка - b: '); readln(b); write('Введите шаг - h: '); readln(h); x1: =a; x2: =x1+h; while x2< b do begin if f(x1)*f(x2)< 0 then writeln('[ ', x1: 6: 2, ', ', x2: 6: 2, ' ]'); x1: =x2; x2: =x1+h; end; readln; end.
|