Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по ООАП.doc
Скачиваний:
6
Добавлен:
01.05.2025
Размер:
1.01 Mб
Скачать

Экзаменационный вопрос № 21.

Программирование графики на С++

Рассмотрим графические возможности языка С++ реализованные с помощью библиотеки WinBGIm.

Для того чтобы подключить модуль для работы с графикой, сделайте следующее:

1) Скачайте архив WinBGIm с сайта http://winbgim.codecutter.org/, содержащий файлы graphics.h, winbgim.h  (заголовочные файлы) и libbgi.a (библиотека).

2) Скопируйте файлы graphics.h и winbgim.h в папку include установленного компилятора.

3) Скопируйте файл libbgi.a в папку lib установленного компилятора.

4) В среде разработки нужно добавить команды к командной строке компоновщика: -lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32

Пример для Code::Blocks

  1. Нажмите Settings >> Compiler and debugger >>linker settings (Настройка >> Компилятор и отладчик >> Настройка компоновщика).

  2. Нажмите кнопку Add и выберите файл libbgi.a.

  3. В правой части окна вставьте команды(Другие параметры компоновщика): -lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32

После ее подключения программа может рисовать геометрические фигуры и изменять цветовую гамму. Для вычисления координат необходимо учитывать размер рабочей области. Для выполнения заданий использовать следующие процедуры.

1. Процедура вывода линии:

Line(X1,Y1,X2,Y2);

Здесь (X1,Y1) — координаты начала, (X2,Y2) — координаты конца.

2. Процедура изображения окружности:

Circle(X,Y,R);

Здесь (X,Y) — координаты центра окружности, R — радиус.

3. Процедура изображения прямоугольника:

Rectangle(X1,Y1,X2,Y2);

Здесь (X1,Y1) — координаты верхнего левого угла прямоугольника, (X2,Y2)  — правого нижнего.

4. Процедура изображения эллиптической дуги из центра с координатами (X,Y) от угла φ1 до угла φ2, XR и YR — размеры горизонтальной и вертикальной полуосей соответственно:

Ellipse(X,Y,φ12,XR,YR);

5. Процедура изображения эллипса и заполнение его по установленному шаблону:

FillEllipse(X,Y,XR,YR).

В графической библиотеке разработаны команды для изменения цвета (табл. 6.1), типа заливки (табл. 6.2), типа линии (табл. 6.3), типа ее ширины (табл. 6.4):

1. Установка цвета изображения фигур:

SetColor(C);

2. Установка цвета фона:

SetBkColor(C);

По умолчанию цвет фона равен 0 (черный).

3. Установка типа и цвета заливки:

SetFillStyle(NP,C);

Здесь NP — тип заливки.

4. Установка типа линии:

SetLineStyle(TL,0,TWL);

Здесь TL — тип линии, TWL — тип ширины линии.

5. Процедура заполнения всей области вокруг точки (X,Y), ограниченной линиями цвета С:

FloodFill(X,Y,С).

6. Процедура вывода текста на графический экран с точки ( X,Y)

OutTextXY(msg : string)

7. Возврат максимального значения по оси ОХ для данного графического режима

GetMaxX()

8. Возврат максимального значения по оси ОY для данного графического режима

GetMaxY()

Экзаменационный вопрос № 22. Основные понятия языка ооп Delphi

Разработчик Delphi Андерс Хейлсберг —датский инженер-программист.

- в 2000 году компания Borland приняла решение о разработке среды и компилятора Delphi.

- в 2006 году Borland выпустил Turbo Delphi (для Win32 и .NET) .

- в 2007 году компания CodeGear выпустила линейку продуктов Delphi 2007 for Win32 и выходом совершенно нового продукта Delphi 2007 for PHP.

- в 2008 году компания CodeGear, выпустила Delphi for Win32 2009. Версия привнесла множество нововведений в язык.

- в 2011 году версия Delphi XE2 добавила компилятор Win64 и кросс-компиляцию для операционных систем фирмы Apple.

Для структурного программирования в Delphi достаточно использования следующих основных элементов и операторов:

Математические выражения

присваивания := 

сложения +

 вычитания 

 умножения *

 деления /

целочисленного деления div

остатка от деления mod.

У операций умножения и деления более высокий приоритет, чем у операций сложения и вычитания. Логические выражения

отрицание- NOT

умножение AND сложение OR исключение XOR

Операторы

Описания типа данных:

Integer — целочисленные данные;

Real — вещественные (действительные) данные;

Char — символьные данные;

Boolean — логические данные;

String – строковые данные.

Ввода-вывода

Read

Write

Присваивания

A:=3; B:=4; A:=A*A+B*B;

Условный 

if (если) <условиеthen (тогда) <действие> else (иначе) <альтернатива>; Варианта

Case <условие> Of <константа>|<диапазон>:

Цикла:

While <условие> Do <оператор>;

Repeat <оператор> Until <условие>;

For <парам.цикл.>:=<нач.знач.> To <кон.знач.> Do <оператор>.

  • При объектно-ориентированном программировании к рассмотренным в Delphi добавляются объекты - которые объявляются в программе как обычные переменные и описываются классами (class).

Предком всех классов в Delphi является класс Tobject.

Класс TPersistent (Постоянный) является потомком класса TObject и предком всех классов, объекты которых могут быть помещены в память и взяты из памяти.

Основными потомками класса TPersistent являются классы TComponent (Компонента) – предок всех компонент проекта;

TStrings (Строки) – предок всех списков строк;

TCollection (Коллекция) – коллекция (список) элементов;

TGraphicObject (Графический объект),

TCanvas (Канва – основа для рисования),

TGraphic (Графический элемент),

TPicture (Изображение) – классы, образующие так называемый графический инструментарий Delphi.

Класс TControl является родоначальником всех элементов управления, с помощью которых выводится информация на экран и с помощью которых можно вводить информацию в программу, используя клавиатуру и мышь. Его потомок класс TWinControl служит для создания окон Windows. Класс TGraphicControl отличается от класса TWinControl отсутствием у объектов его семейства оконной функции, в связи с чем такие элементы либо служат для вывода на экран информации, либо являются чисто декоративными.

Объект, имеющий тип какого-либо класса, является экземпляром (instance) этого класса (поля, свойства и методы). Поля класса и записи и служат для хранения информации об объекте. Методами называются процедуры и функции, предназначенные для обработки полей. Свойства занимают промежуточное положение между полями и методами.

Для создания объектов в Delphi используется конструктор класса – Create.

Описание типа класса type по 4 разделам, определяющих уровень видимости:

type <Имя класса> = class (<Имя родительского класса или просто TObject >)

private <частные описания>

protected <защищенные описания>

public <общедоступные описания>

published <опубликованные описания>

end.

Каждая написанная программа на языке Delphi состоит из:

заголовка программы, поля используемых модулей Uses , а также блоков описания и исполнения (начинаются составным оператором begin и заканчиваются end.).

За заголовком следуют список подключаемых модулей, объявления меток, констант, типов данных и переменных, описания процедур и функций. Вслед за этой заголовочной частью располагаются собственно программные инструкции. На практике все это выглядит таким образом:

{$APPTYPE CONSOLE}//программная консоль uses //является заголовком программы SysUtils; var a,b,c,d:integer;// объявляем переменные с целыми числами x,y,z:real;// объявляем переприсваивание переменных begin writeln('Vvedite a=');//вводим а readln(k); writeln('Vvedite b=');//вводим б readln(x); writeln('Vvedite c=');//вводим с readln(b); writeln('Vvedite d=');//вводим в readln(z); z:=(x+y);//вводим выражения

y:=(a+b); x:=(c+d); writeln(''z,);Выводим ответ readln; end. //заканчиваем программу