6 Описание алгоритма программы
6.1 Описание алгоритма основной программы
-
Ввод констант и массивов значений функции и аргумента в узловых точках.
-
Процедура подключения графического модуля.
-
Процедура постройки линий для таблицы значений.
-
Процедура заполнения таблицы значениями, данными по заданию.
-
Процедура построения графика интерполяционного полинома.
-
Процедура построения координатной сетки и координатных осей.
-
Вызов всех процедур используемых в программе.
6.2 Описание процедуры init.
-
Автоматически определяем графический драйвер и проверяем ошибки.
-
Проверка правильности программы.
6.3 Описание процедуры linii.
-
Цикл построения линий для таблицы значений.
6.4 Описание процедуры zapol_st.
-
Задаются значения иксов и игреков.
-
Вывод их на монитор по координатам.
6.5 Описание процедуры gr.
-
Задаются значения, предназначенные для выравнивания точек по оси Oy и для построения этих точек по оси Ox, это повторяется перед каждым циклом в данной процедуре.
-
Цикл построения линий по формулам линейной интерполяции (для построения каждой линии используется свой цикл).
6.6 Описание процедуры risosei.
-
В данной процедуре указываются переменные, с которыми придётся в ней работать.
-
Задаются параметры линий и цвет, количество линий сетки и расстояние между ними.
-
Используя цикл, рисуем координатную сетку.
-
Задав начальное значение икса и координату начала координатной сетки, рисуем в цикле координатную ось (Ох). Затем выравниваем значения всех указанных иксов около координатной оси.
-
Задав начальное значение игрека и координату начала координатной сетки, рисуем в цикле координатную ось (Oу). Затем выравниваем значения всех указанных игреков около координатной оси.
7 Описание программы
Программа предназначена для построения графика интерполяционного полинома по формулам кусочно-линейчатой интерполяции. Работа начинается с задавания переменных используемых в данной программе. В качестве переменных выступают: значения иксов и игреков, которым в процессе программы присваиваются значения. Далее идет описание глобальных переменных, необходимых для построения графика, оцифровки осей. За описанием переменных идет процедура init.
В процедуре init подключается и проверяется графический модуль.
Gr_driver:=detect; error_code:=graphresult; if error_code<>0 then;
Если в графическом модуле присутствует ошибка, то с помощью оператора halt выполняется выход из программы, если же всё в порядке, то программа продолжает выполнение последующих процедур.
Далее следует процедура linii. Она служит для построения таблицы значений. C помощью функции линий: line(40+n,100,40+n,160);
line(40,100,565,100); line(40,130,565,130); line(40,160,565,160);
После процедуры linii следует процедура zapol_st. В этой процедуре присваиваются значения иксам и игрекам, данные по заданию:
x0:=110;x1:=120;x2:=130;x3:=140;x4:=150;x5:=160;
y0:=0.23;y1:=0.56;y2:=0.15;y3:=0.1;y4:=0.27;y5:=0.2;
И по координатам заполняет этими значениями таблицу, построенную в процедуре linii посредством функции outtextxy.
Затем следует процедура gr, в которой, пользуясь формулой кусочно-линейчатой интерполяции, строятся линии. При этом так же устанавливается цвет этих линий, построение ведётся по точкам (пикселям). Так строится 1вая линия графика интерполяции.
x:=110;
until x>160;
b:=90;
repeat
y:=(x-x1)/(x0-x1)*y0+(x-x0)/(x1-x0)*y1
PutPixel (191+round(x), round(a+(y*(-b))),1);
Delay (30);
x:=x+1;
a:=380;
За процедурой gr следует процедура risosei. В этой процедуре строится координатная сетка, производится оцифровка осей. Так строятся лини по горизонтали и вертикали в этой координатной сетке:
dx:=Round((600-250)/7); dy:=Round((450-200)/7);
Рисование координатной оси производится так:
line(250,200,250,450); line(250,450,600,450);
Заметим, что нужно задать изменение шага у иксов и игреков (x:=x+10;
y:=y+0.1) и выровнять эти значения у координатной оси (hx:=hx+50;
hy:=hy-dy), для этого используем локальные переменные (которые задали в данной процедуре).
После окончания последний процедуры мы вызываем все процедуры, используемые в программе:
begin
init;
linii;
zapol_st;
risosei;
gr;
readln;
end.
И при запуске программы мы наблюдаем на мониторе график интерполяционного полинома и таблицу значений (Приложение С).
Затем следует конец программы.