
- •Объектно – ориентированное программирование
- •Недостатки структурного программирования
- •Недостатки структурного программирования
- •Объектно – ориентированное программирование
- •Основные понятия
- •Инкапсуляция.
- •Наследование.
- •Таксономия
- •Полиморфизм («много форм»)
- •Пример полиморфизма
- •Объекты в языке Паскаль
- •Поля объекта
- •Другой вариант
- •Методы
- •Доступ только через методы
- •Секция private
- •Наследование
- •Правила наследования
- •Наследование
- •Наследование
- •Полиморфизм. Раннее связывание.
- •Полиморфизм. Раннее
- •Позднее связывание
- •Конструктор. Позднее
- •Правила виртуальных методов
- •Динамические объекты
- •Пример программы
- •Constructor List.Init; Begin
- •Procedure List.AddNew(Item : TypeElem); Var Temp : NodePtr;
- •Var i:byte;
- •Посторение графика функции
- •Поддержка графики
- •Инициализация графического
- •Инициализация графического режима
- •Система координат
- •Коэффициент сжатия
- •Масштаб
- •Задание осей координат
- •Разметка осей
- •Задание графика
- •Вычисление координат точек
- •Построение графика
- •Выход за пределы экрана

Посторение графика функции

Поддержка графики
Режим монитора
текстовый, когда экран разбивается на 25 строк и 80 столбцов,
графическом (монитор представляет собой матрицу точек - пикселями.
Видеоадаптер (графический адаптер, видеокарта, видеоплата) - устройство, обеспечивающее взаимодействие процессора с монитором и реализующий тот или иной режим разрешимости и цветности. Адаптер называют по имени монитора.
Драйвер - программа, осуществляющая связь операционной системы с внешними устройствами. Все драйверы хранятся в BGI файлах.
Для формирования графических изображений стандартный библиотечный модуль GRAPH.
Uses Graph;

Инициализация графического
режима
InitGraph (var GraphDriver, Mode : integer; Path : string)

Инициализация графического режима
Program pr; Uses crt,graph;
Var GraphDriver,Mode:integer; Begin
GraphDriver:=Detect;
initGraph(GraphDriver,Mode,‘‘);
. . .
closegraph; {восстановление текстового режима}
end;

Система координат
Максимально возможные значения по x и по y
GetMaxx : integer; GetMaxy : integer;
Пример: координаты центра экрана:
Xcent := getmaxx div 2; Ycent := getmaxy div 2;
Точка начала рисования называется текущим указателем, или графическим курсором. Графический курсор невидим на экране, но программа помнит, где он находится.
MoveTo (X,Y) - Поместить графический курсор в точку с координатами (X,Y) .
Getx, Gety - возвращают соответственно X- иY-координаты графического курсора:
Xpos := Getx; Ypos := Gety;
MoveTo(Xpos+50,Ypos-50);

Коэффициент сжатия
Для драйвера и графического режима существует коэффициент сжатия - AspectRatio деление ширины пиксела на его высоту.
GetAspectRatio (var Xasp, Yasp : word)
( для драйвера Egavga
Xasp = 7750 и Yasp= 10000).
Построение зрительно правильного квадрата со стороной 200 пикселов.
Корректировка по оси ОY:
Getaspectratio(XAsp; Asp); y2:=Round(XAsp/YAsp*200); Rectangle(0,0,200,y2);

Масштаб |
|
Xn,Yn |
Xk |
Yk |
|
Декартовы координаты
Экранные координаты

Задание осей координат

Разметка осей

Задание графика
В виде функции (непрерывно)
В виде массива точек (дискретно)