Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Автоматизация метода
Автоматизация метода прямоугольников позволяет оптимизировать его использование на практике и упростить расчеты. Программа на Pascal – это набор некоторых команд. Начинается программа с ключевого слова PROGRAM, после которого следует имя программы: PROGRAM pryam; Далее идёт раздел переменных VAR, в котором описываются переменные: VAR n, i: integer; a, b, h, l, s, p, lpr, srpr, ppr, lpg, spg, ppg, x1, x2, x3: real; где: n – количество разбиений интервала; a и b – нижний и верхний пределы интегрирования; h – шаг; l, s, p – переменные для вычисления суммы по формулам; lpr, srpr, ppr – переменные результата вычислений без учета погрешности; lpg, spg, ppg – погрешности или остаточные члены формул метода прямоугольников; x1, x2, x3 – результативные переменные. В этом разделе указывается имена переменных и имена типов данных. После описания переменных вводятся функции. Объявление функции состоит из: - ключевого слова function, имени функции, списка формальных параметров и типа возвращаемого значения; - раздела объявления локальных переменных или констант, если он требуется; - тела функции, заключенного в операторные скобки begin end. В функции помещаются формулы, по которым будут вычисляться приближенное значение интеграла и вторая производная в точке, принадлежащей промежутку интегрирования: function f(x: real): real; begin f: = Sqr(x)*sin(x); end; function f2(x: real): real; begin f2: = 2*sin(x)+4*cos(x)-Sqr(x)*sin(x); end; После всего этого переходим к основному телу программы. Код программы содержит различные команды. Самые распространенные: Write (Writeln) – команда вывода текста на экран; Read (Readln) – запрос данных. Итак, запрашиваем пределы интегрирования и число разбиений: BEGIN Writeln (‘Введите пределы интегрирования a и b ‘); Readln (a, b); Writeln (‘Введите число разбиений n ‘); Readln (n); Далее производим вычисления по формуле (5): h: =(b-a)/n; Для расчета суммы требуется обнулить переменные, которые заданы для вычисления суммы в разделе переменных, и организовать цикл, который будет обеспечивать суммирование: l: =0; s: =0; p: =0; For i: =0 to n Do begin l: =l+f(a+(i-1)*h); lpr: =h*l; s: =s+f((a+h)/2+(i-1)*h); srpr: =h*s; p: =p+f(a+h+(i-1)*h); ppr: =h*p; end; После реализации цикла все расчеты по формуле (5) произведены. Далее следует вычислить погрешности или остаточные члены по формулам (11) и (12): lpg: =f2(8/10)*h*(b-a)/2; ppg: =lpg; spg: =f2(8/10)*Sqr(h)*(b-a)/24; x1: =lpr+lpg; x2: =srpr+spg: x3: =ppr+ppg; Вывод результатов на экран: WriteLn(‘Левые ‘, ’ Средние ’, ’Правые’); WriteLn(lpr: 4: 5, ’ ‘, srpr: 4: 5, ’ ‘, ppr: 4: 5); WriteLn(‘Остаточные члены’); WriteLn(lpg: 4: 5, ’ ‘, spg: 4: 5, ’ ‘, ppg: 4: 5); WriteLn(‘Результат’); WriteLn(x1: 4: 5, ’ ‘, x2: 4: 5, ’ ‘, x3: 4: 5); ReadLn; Конец программы фиксируется служебным словом END, после которого обязательно ставится точка: END.
|