заданим ступенем точності. p> Для обчислення функції використовуємо алгоритм Горнера (схему Горнера).
Схема Горнера застосовується для обчислення статечних рядів. Схема Горнера являє собою рекуррентную формулу, за якою обчислюється значення функції в кожен момент часу. p> Приклад обчислення статечного ряду за допомогою схеми Горнера.
Обчислимо функцію в точці за допомогою схеми Горнера.
Для цього складемо наступну програму мовою Basic:
T = 2 = 1I = 1 TO 4 = Y * T + a (I)
NEXT IY
У результаті роботи даної програми буде обчислена функція в точці, а результат буде виведений на екран.
Змінні програми
Ім'я переменнойКоэффициентПоясненияAaКоэффициент функцііBbКоеффіціент функцііCcКоеффіціент функцііA1a1Коеффіціент квадратного уравненіяB1b1Коеффіціент квадратного уравненіяC1c1Коеффіціент квадратного уравненіяggКорень нелінійного уравненіяddСумма коренів квадратного рівняння
Лістинг програми
SUB Delay (Time!) FUNCTION BaseF! (K!) FUNCTION Range! (K!, Range!) SUB Scale (A!, B!, C!, MaxT!, Tkv!) SUB Grid () SUB MessageBox (Message $) SUB MainRef (MenuItem!) SUB Text () SUB StData () SUB Main () SUB DataOut () SUB DataIn () SUB Outro () SUB Work (Time!) FUNCTION RootSum! (A!, B!, C!) FUNCTION Iteration! (XBeg!, XEnd!, Eps!) SUB iNTRO ()
'======================================= p>
'Curs_Task;
'N23
'======================================= p>
'============== Constants ================ TConst = 2500:' Depends from the machine
'============== Shared Vars ============== SHARED DataFlag = 0
'=============== Intro =================== iNTRO
'============= Main Screen =============== Main
'================== END ================== BaseF (K)
'Base functionA, B, C, d, g = ABS (A * K ^ 3 + B * K ^ 2 + C * K + d + g) FUNCTIONDataIn
'Task conditions inputingTBeg, TEnd, Tkv, XBeg, XEnd, Eps, A, B, C, A1, B1, C1, d, g, DataFlagRootsFlag = 112 "Введення початкових значень:" "tнач. "; TBeg" tкон. "; TEnd" tквант. "; Tkv" Xнач. "; XBeg" Xкон. "; XEnd" Точність "; Eps" A "; A" B "; B" C "; C" A1 "; A1" B1 "; B1" C1 "; C1 = RootSum (A1 , B1, C1) WHILE RootsFlag = 0 = Iteration (XBeg, XEnd, Eps) "Натисніть будь-яку клавішу." INKEY $ = "" = 1MainRef (1) SUBDataOut
'Table & Task conditionsTBeg, TEnd, Tkv, XBeg, XEnd, Eps, A, B, C, A1, B1, C1, d, g, DataFlag12 (0, 0) - (240, 464), 7 , BI = 0 TO 13 (32, I * 32 + 8) - (232, (I + 1) * 32 + 8), 7, B (112, 8) - (112, 14 * 32 + 8), 77 , 2: PRINT "П" 8, 2: PRINT "А" 9, 2: PRINT "Р" 10, 2: PRINT "А" 11, 2: PRINT "М" 12, 2: PRINT " ; Е "13, 2: PRINT" Т ...