русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Лабораторна робота №18


Дата добавления: 2015-06-12; просмотров: 584; Нарушение авторских прав


"Робота з об'єктами в Borland Pascal"

Завдання: Написати програму на мові Pascal, в якій необхідно описати об'єкт, дочірній від наявного і продемонструвати роботу з цим об'єктом на прикладі геометричних фігур, що переміщаються по екрану за допомогою клавіш <↑>,<↓>,<←>,<→>. Фігури зображені в таблиці 18.1.

Таблиця 18.1

 

Вказівки: набір графічних об'єктів, які слід використовувати при написанні, знаходиться в модулі Figures, який необхідно підключити до програми. У цьому модулі описані наступні фігури: точка і коло.

Об'єкт point {точка} має наступні методи: show, hide, moveto, drag {показати, заховати, рухати в, перетягнути}.

Об'єкт circle {коло} має наступні методи: show, hide, expand, contract {показати, заховати, збільшити, зменшити}.

Методи show і hide об'єктів точка і коло використовуються без операндів, метод moveto об'єкту point використовується з координатами нової точки в якості операндів, метод drag використовується з операндом DragBy, який характеризує швидкість перетягування.

Методи expand і contract об'єкту circle використовуються з операндом, на значення якого збільшується або зменшується радіус кола.

 

Приклад використання об'єкту circle і побудови дочірнього об'єкту arc :

 

program FigureDemo;

uses crt, dos, graph, figures;

const PathToDrivers = 'c:\tp\bgi';

type Arc=object(Circle)

StartAngle, EndAngle: integer;

constructor Init(InitX, InitY: integer; InitRadius: integer; InitStartAngle, InitEndAngle: integer);

procedure Show; virtual;

procedure Hide; virtual;

end;

var

GraphDriver: integer;

GraphMode: integer;

ErrorCode: integer;

AnArc: Arc;

ACircle: Circle;

 

{ Arc Object Methods Description }

constructor Arc.Init(InitX, InitY: integer;InitRadius: integer;InitStartAngle, InitEndAngle: integer);



begin

Circle.Init(InitX, InitY, InitRadius);

StartAngle:=InitStartAngle;

EndAngle:=InitEndAngle;

end;

procedure Arc.Show;

begin

Visible:=true;

Graph.Arc(X, Y, StartAngle, EndAngle, Radius);

end;

 

procedure Arc.Hide;

var

TempColor: word;

begin

TempColor:=Graph.GetColor;

Graph.SetColor(GetBkColor);

Visible:=false;

Graph.Arc(X, Y, StartAngle, EndAngle, Radius);

Graph.SetColor(TempColor);

end;

{ Main Program }

 

Begin

GraphDriver:=Detect;

DetectGraph(GraphDriver, GraphMode);

InitGraph(GraphDriver, GraphMode, PathToDrivers);

if GraphResult<>GrOK then

begin

Writeln(GraphErrorMsg(GraphDriver));

if GraphDriver=grFileNotFound then

begin

Writeln('Driver not found in ', PathToDrivers',, please, check in the program ','"PathToDrivers",');

writeln('it means value of path constant');

writeln;

end;

writeln('Press ENTER..');

Readln;

Halt(1);

end;

 

{ All of the children of Point object contain virtual methods and

must be initialised using constructor }

AnArc.Init(151,82,25,0,90);

AnArc.Drag(5);

CloseGraph;

end.

 

Контрольні питання:

 

Що таке об'єкт?

Що називається методом об'єкту?

Які об'єкти називають дочірніми?

Чи має дочірній об'єкт методи батьківського?

Як описується об'єкт?

Чим відрізняється об'єктно-орієнтоване програмування від статичного?

Які переваги і недоліки об'єктно-орієнтованого програмування Ви можете назвати?

 



<== предыдущая лекция | следующая лекция ==>
Лабораторна робота №16 | Лабораторна робота №19


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.838 сек.