Лабораторная работа № 3П Графические средства ТурбоПаскаля. Графические примитивы.

advertisement
Лабораторная работа № 3П
Графические средства ТурбоПаскаля.
Графические примитивы.
Задание к лабораторной работе № 3П
1. Набрать и отладить программу, рисующую голову робота (рис. 1).
Рис. 1.
Рисунок головы робота содержит два прямоугольника, две окружности, две дуги, эллипс,
три прямые линии и две черные точки.
2. В программе предусмотреть вывод на экран под рисунком строку с текстом "РИСУНОК
ГОЛОВЫ РОБОТА".
Рекомендации по выполнению задания
к лабораторной работе № 3.
1. Для составления программы сначала необходимо определить все координаты и размеры
элементов рисунка: головы, левого и правого глаза, левой и правой брови, носа, рта, шеи,
левого и правого зрачков. Некоторые координаты уже проставлены на рис. 1, остальные координаты необходимо определить самостоятельно. После этого можно начинать писать
программу.
2. При написании программы рисования головы робота целесообразно воспользоваться основными процедурами рисования графических примитивов, приведенными ниже:
1. Линия
с заданными координатами концов (XI, Y1) и (Х2, Y2):
Procedure Line(XI, Yl, Х2, Y2 : Integer);
2. Линия
от текущей точки до точки с координатами (X, Y):
Procedure LineTo(X, Y : Integer);
3. Линия
от текущей точки до точки с заданными приращениями координат (DX, DY):
Procedure LineRel(DX, DY : Integer);
1
Лаб. 3П
4. Прямоугольник
с заданными координатами верхнего левого угла (XI, Y1) и нижнего правого
угла (Х2, Y2):
Procedure Rectangle(XI, Yl, Х2, Y2 : Integer);
5. Окружность
с центром в точке (X, Y) и с радиусом R в пикселах:
Procedure Circle(X, Y : Integer; R : Word);
6. Дуга
окружности с центром в точке (X, Y), с радиусом R, с начальным углом BegA и конеч-
ным углом EndA (углы измеряются в градусах против часовой стрелки от направления оси X):
Procedure Arc(X, Y : Integer; BegA, EndA, R : Word);
7. Эллипсная
дуга с центром в точке (X, Y), с начальным и конечным углами соответственно
BegA и EndA, с горизонтальным радиусом RX и вертикальным радиусом RY:
Procedure Ellipse(X, Y : Integer; BegA, EndA, RX, RY : Word);
3. Для вывода на экран строки с текстом "РИСУНОК ГОЛОВЫ РОБОТА" можно воспользоваться оператором
OutTextXY(195, 400, 'РИСУНОК ГОЛОВЫ РОБОТА');
4. Для проверки правильности написанной Вами программы рисования головы робота сравните ее с одним из возможных вариантов этой программы, приведенным ниже:
Program ROBOT;
Uses Graph;
Var Driver, Mode : Integer;
Begin
{ ----------- Инициализация графического режима ------------------ }
Driver := Detect;
InitGraph(Driver, Mode, 'C:\TP\BGI');
SetColor(White); {Белый цвет рисунка} SetBkColor(Black) ; {Черный цвет фона}
Rectangle(100, 100, 300, 300); {Голова}
Circle(150, 170, 30); {Левый глаз}
Circle(250, 170, 30); {Правый глаз}
Arc(150, 170, 45, 135, 40); {Левая бровь}
Arc (250, 170, 45, 135, 40); {Правая бровь}
Ellipse(200, 250, 0, 359, 10, 20); {Нос}
Rectangle(130, 280, 270, 290); {Рот}
MoveTo(100, 300); {Установка граф. курсора вниз влево}
LineTo(50, 350); {Три}
LineTo(350, 350); {Линии}
LineTo (300, 300); {Шеи}
PutPixel(150, 170, Black); {Левый зрачок}
PutPixel(250, 170, Black); {Правый зрачок}
ReadLn; {Задержка}
CloseGraph; {Выход из модуля графики}
End.
5
Произведите отладку программы рисования головы робота, добавьте вывод подписи под рисунком и предъявите отлаженную программу преподавателю.
2
Лаб. 3П
Download