Информатика. Часть 2. Мойзес О.Е - 143 стр.

UptoLike

143
end;
BEGIN
{ Ввод исходных данных }
{-------------------------------------------------}
{Считывание массивов Х и Y из файла "Lagrange.dat"}
{ с одновременным подсчетом количества данных }
Assign(F,'Lagrange.dat'); {Открытие файла "Lagrange.dat"}
ReSet(F); {для счивания данных}
N:=0;
while not seekeof(F) do {Если в файле есть еще данные,}
begin
N:=N+1;
readln(F,X[N],Y[N]) {то считываем их из
файла.}
end;
Close(F); {Закрытие файла.}
{ Построение рамки, осей и сетки графика. }
dr:=detect;
InitGraph(dr,dm,'c:\bp\bgi'); {Переход в графических режим.}
{Графический драйвер должен быть записан
в каталоге c:\bp\bgi}
Nx1:=dNx1; Nx2:=GetMaxX-dNx2; {Расчет левой и правой границ рамки}
Ny1:=dNy1; Ny2:=GetMaxY-dNy2; {Расчет верхней
и нижней границ
рамки}
SetColor(LightGray); {Установка цвета сетки-светлосерый}
SetLineStyle(DottedLn,0,NormWidth); {Установка типа линии сетки-
штриховая,тонкая}
{Вычерчивание вертикальных линий сетки.}
xx:=x1; {Начиная с точки х1-начала нумерации,}
repeat
line(kx(xx),Ny1,kx(xx),Ny2); {вычерчиваем вертикальные линии сетки}
xx:=xx+dX {с шагом
dX}
until xx>Xmax; {вдоль всей оси ОХ.}
{Вычерчивание горизонтальных линий сетки.}
yy:=y1; {Начиная с точки y1-начала нумерации,}
repeat
line(Nx1,ky(yy),Nx2,ky(yy)); {вычерчиваем горизонтальные линии
сетки}
yy:=yy+dY {с шагом dY}
until yy>Ymax; {вдоль всей оси О
Y.}
{Вывод заголовка графика}
{Установка выравнивание текста-заголовка графика-относительно точки
вывода: по горизонтали - по центру, по вертикали - снизу}
SetTextJustify(CenterText,BottomText);
xcr:=(Nx1+Nx2) div 2; {Вычисление центра рамки}
SetColor(LightBlue); {Установка цвета букв}
OutTextXY(xcr,Ny1-2,'Интерполяционный полином Лагранжа'); {Вывод
заголовка}
{Зарисовка рамки}
SetColor(White);
{Установка цвета рамки-белый}