Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Блок-схема алгоритма. kas(a, b, x, e, root) Начало a, b, e Конец root , F(root) root ⇐ ПредыдущаяСтр 2 из 2
Программа DECLARE SUB iter (x0!, e!, kol!, root!) DECLARE SUB iter (x0!, e!, kol!, root!) DECLARE SUB dix (a!, b!, e!, root!) DECLARE SUB kas (a!, b!, x!, e!, root!) DECLARE FUNCTION F! (x!) DECLARE FUNCTION G! (x!) DECLARE FUNCTION F1! (x!) DECLARE FUNCTION F2! (x!) DECLARE FUNCTION G2! (x!) REM CHICLENNOE RECHENIE NELENEINIX YRAVNENI
CLS PRINT TAB(15); " LABORATORNAYA RABOTA NOMER 7" PRINT TAB(15); " UTOCHNENIE KORNIA URAVNENIA" PRINT TAB(15); " STUDENT Davadov Fazrudin " PRINT TAB(15); " GRUPPA 13 - TPM - 7" PRINT " _______________________________________________________________" PRINT " PROVERKA SUSHESTVOVANIA KORNIA" PRINT " y= sin(x ^ 2) + cos(x ^ 2) - 10*x " REM VVOD OTREZKA S PROVERKOI NA SUSHESTVOVANIE RECHENIA a = 0 b = 1 e = 10 ^ (-3) REM DIOXOTOMIA. DELENEIE OTREZKA PO POLAM CALL dix(a, b, e, root) PRINT " KOREN' PO METODY DIXOTOMII = "; root PRINT " ZNACHENIE FUNKCII F(x) ="; PRINT USING " ##.######"; F(root) PRINT " -------------------------------------------------------------------" a = 0 b = 1 e = 10 ^ (-3) REM METOD KASATRL'NIX. METOD N'UTONA INPUT " VVEDITE NACHAL'NOE ZNACHENIE CORNIA NA(a, b) X0 = "; x IF F(x) * F2(x) > 0 THEN PRINT " METOD KASATEL'NIX PRIMENIM" CALL kas(a, b, x, e, root) PRINT " KOREN' PO METODY KASATEL'NIX ="; root PRINT " ZNACHENIE FUNKCII F(x) ="; PRINT USING " ##.######"; F(root) ELSE PRINT " METOD N'UTONA NE PRIMENIM" END IF PRINT " -------------------------------------------------------------------"
REM METOD ITERACII INPUT " VVEDITE NACHAL'NOE ZNACHENIE CORNIA NA(a, b) X0 = "; x0 IF ABS(G1(x)) < 1 THEN PRINT " METOD ITERACII NE PRIMENIM" ELSE CALL iter(x0, e, kol, root) PRINT " KOREN' PO METODU ITERACII ="; root PRINT " KOLLICHESTVO ITERACII k ="; kol PRINT " ZNACHENIE FUNKCII F(x) ="; PRINT USING " ##.######"; F(root) END IF END
SUB dix (a, b, e, root) x = (a + b) / 2 DO IF F(x) * F(a) < 0 THEN b = x ELSE a = x END IF x = (b + a) / 2 LOOP UNTIL (b - a) < e root = (b + a) / 2 END SUB
FUNCTION F (x) F = SIN(x ^ 2) + COS(x ^ 2) - 10 * x END FUNCTION
FUNCTION F1 (x) F1 = -10 - 2 * x * SIN(x ^ 2) + 2 * x * COS(x ^ 2) END FUNCTION
FUNCTION F2 (x) F2 = (-2 * ((-1 + 2 * (x ^ 2)) * COS(x ^ 2) + (1 + x ^ 2) * SIN(x ^ 2))) END FUNCTION
FUNCTION G (x) G = SIN(x ^ 2) + COS(x ^ 2) / 10 END FUNCTION
FUNCTION G1 (x) G1 = 2 * x * COS(x ^ 2) - 1 / 5 * (x * SIN(x ^ 2)) END FUNCTION SUB iter (x0, e, kol, root) kol = 0 x = x0 DO y = F1(x) kol = kol + 1 x = y LOOP UNTIL ABS(y - x) < e root = y END SUB
SUB kas (a, b, x, e, root) DO x = x - F(x) / F1(x) LOOP UNTIL ABS(F(x) / F1(x)) < e root = x END SUB
|