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

UptoLike

144
SetLineStyle(SolidLn,0,NormWidth); {Установка типа линии рамки-
сплошная,тонкая}
rectangle(Nx1,Ny1,Nx2,Ny2); {Зарисовка рамки}
{Простановка нумерации по оси ОХ}
{Установка выравнивание текста-нумерации оси ОХ-относительно точки
вывода: по горизонтали - по центру, по вертикали - сверху}
SetTextJustify(CenterText,TopText);
xx:=x1; {Начиная с точки Х1-
начала нумерации,}
repeat
str(xx:3:1,S);{Преобразование числа xx в строку символов S. Оно
необходимо,
поскольку процедура OutTextXY выводит на экан только переменные типа
String.}
OutTextXY(kx(xx),Ny2+5,S); {проставляем нумерацию оси ОХ}
xx:=xx+dX {с шагом dX}
until xx>Xmax; {вдоль всей оси ОХ.}
{Простановка
нумерации по оси ОY}
{Установка выравнивание текста-нумерации оси ОY-относительно точки
вывода: по горизонтали - справа, по вертикали - по центру}
SetTextJustify(RightText,CenterText);
yy:=y1; {Начиная с точки y1-начала нумерации,}
repeat
str(yy:3:1,S);
OutTextXY(Nx1-3,ky(yy),S); {проставляем нумерацию оси ОY}
yy
:=yy+dY {с шагом dY}
until yy>Ymax; {вдоль всей оси ОY.}
{Вычисление и зарисовка полинома Лагранжа на отрезке от Xmin до Xmax.}
xx:=Xmin;
h:=(Xmax-Xmin)/1000; {Вычисление шага}
repeat
{Вычисление значения полинома Лагранжа в точке xx.}
yy:=0;
for i:=1 to N do
begin
P:=1;
for j:=1 to N do
if i<>j then
P:=P*(xx-x[j])/(x[i]-x[j]);
yy:=yy+y[i]*P
end;
PutPixel(kx(xx),ky(yy),LightGreen); {Вывод точки на экран. Цвет светло-
зеленый}
xx:=xx+h
until xx>Xmax;
{Установка цвета точек}
SetColor(LightRed); {Цвет линий}
SetFillStyle(SolidFill,LightRed); {Цвет закраски}
for i:=1 to N do
PieSlice(kx(x[i]),ky(y[i]),0,360,3); {
Зарисовка точек}
readln; {Пауза. Нажмите Enter.}
CloseGraph; {Выход из графического режима}
END.