русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

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


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


ЭКОНОМИЧЕСКОЕ МОДЕЛИРОВАНИЕ 8 страница


Дата додавання: 2014-11-27; переглядів: 874.


Організація в програмі виведення на екран в графічному режимі вклю­чає наступні дії:

1) потрібно оголосити про використання модуля Graph (Uses Graph);

2) перемикання екрана в графічний режим;

3) робота в графічному режимі;

4) закінчення роботи в графічному режимі (перехід в текстовий режим).

Перемикання з одного режиму в інший призводить до очищення екрана. Ін­фо­р­ма­ція, виведена в попередньому режимі, втрачається.

 

Для перемикання екрана в гра­фічний режим використовують про­це­ду­ру InitGraph та допоміжну проце­дуру DetectGraph. Процедура InitGraph ініціалі­зує графічну систему і переводить апаратні засоби в графічний режим, а проце­ду­ра DetectGraph перевіряє наявність відповідних апаратних засобів і визначає, який графічний драйвер і режим потрібно використовувати.

Опис процедури InitGraph: InitGraph(var <граф_драйвер> : integer; var <граф_ре­­жим> : integer; <шлях_ драй­вер> : string). Константи, значення яких може приймати па­ра­метр <граф_дра­й­вер> визначено у модулі Graph.

Опис про­це­дури Detect­Graph: DetectGraph (var <граф_драйвер>, <граф_ре­жим> : integer). Процедура по­вер­тає значення обраного режиму і драйвера, які можна пере­дати як парамет­ри процедурі InitGraph для завантаження відповідно­го драйвера.

Функція GraphResult: integer – повертає код помилки для останньої графіч­ної операції. У модулі Graph визначено наступні константи, що позначають ко­ди можливих помилок:

 

Константа помилки графіки Код помилки Відповідне повідомлення про помилку
grOk немає помилки
grNoInitGraph -1 графічний режим не встановлений
grNotDetected -2 графічна апаратура не знайдена
grFileNotFound -3 драйвер графічного пристрою не знайдений
grInvalidDriver -4 неправильний файл драйвера графічного пристрою
grNoLoadMem -5 не вистачає пам'яті для завантаження драйвера
grNoScanMem -6 вихід за межі пам'яті при перегляді області замальовування
grNoFloodMem -7 вихід за границі пам'яті при замальовуванні
grFontNotFound -8 файл шрифту не знайдений
grNoFontMem -9 шрифт не завантажений у пам'ять
grInvalidMode -10 неприпустимий графічний режим для обраного драйвера
grЕrrоr -11 помилка графіки
grIOError -12 помилка введення-виведення графіки
grInvalidFont -13 неприпустимий файл шрифту
grInvalidFontNum -14 неприпустимий номер шрифту

 

Після кожного звертання до функції GraphResult код помилки ски­да­єть­ся в 0. У модулі Graph передбачена рядкова функ­ція GraphErrorMsg(ErrorCode : integer) : string, яка повертає рядок повідомлення, що відповідає кожному зна­чен­ню коду помилки ErrorCode.

Для закінчення роботи в графіч­но­му режимі використовується процедура closegraph, яка не має параметрів. Процедура відновлює режим екрана, який був встановлений до ініці­алізації гра­фічного режиму і звільняє пам'ять, що викорис­то­вувалась графіч­­ним драйвером.

Робота в графічному режимі У модулі Graph зосереджені всі засоби, які на­дає Turbo Pascal для роботи в графічному режимі. Процедури і функції моду­ля Graph дозволяють малювати точки, прямі лінії, найпростіші криві, прості фі­гу­­ри, вибирати колір лінії, зафарбовувати об'єкти, виводити на екран текст. Мо­дуль Graph інтегрованого середовища Turbo Pascal містить 79 про­це­дур та фун­кцій. Крім них в інтерфейсній частині модуля оголошені різно­ма­ніт­ні кон­с­тан­­ти та типи, які можна використовувати під час роботи в графічному режимі. З детальним описом цих процедур, функцій, типів та констант користувач інтег­ро­­ваного середовища Turbo Pascal може ознайомитись через Help, зокрема, наприклад, для версії 7.1 це буде команда Help Þ Standard units Þ Graph.

При роботі в графічному режимі використовується поняття поточний вказів­ник – СР (Current Pointer). СР вказує на поточний піксель. Поняття СР схоже до по­­няття курсору в текстовому режимі, але на відміну від курсору СР не ви­діле­ний. В будь-який момент роботи в графічному режимі один з пікселів вва­жа­ється по­точ­ним. При ініціалізації графічного режиму поточним стає піксель з ко­ор­­ди­на­та­ми (0,0). СР використовують деякі процедури, які малюють лінії, почи­наючи з поточного пікселя.

Для кожного типу монітора є можливість працювати в декількох графічних режимах. Для кожного з цих режимів є своя кількість точок по горизонталі та вертикалі, кількість кольорів, які дозволяє використовувати цей режим, кількість сторінок екрана, які підтримуються в цьому режимі. Сторінка екрана – це область оперативної пам'яті, вміст якої відображається безпосередньо на екран. Графічні режими і константи та їх значення, оголошені в модулі Graph.

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

Процедура SetGraphMode(R : integer) встановлює один з доступних графіч­них режимів і очищує екран. Параметр R повинен задавати допустимий для по­точ­ного драйвера пристрою графічний режим. Процедура використову­ється для ви­бору графічного режиму, відмінного від того, який за замовчуванням вста­нов­­лю­ється процедурою InitGraph.

Функція GetGraphMode повертає поточний графічний режим, вста­нов­ле­ний за допомогою процедур InitGraph або SetGraphMode. Значення ре­жи­му є ці­лим числом у діапазоні від 0 до 5 і залежить від поточного драйвера. Функція GetMax­Mode повертає для поточного драйвера макси­мальне зна­чен­ня номера ре­жиму. Процедура ClearDevice очищує екран і скидає всі графічні параметри, вста­­нов­люючи для них значення, що передбачені за замовчуванням.

Кольори та палітри У модулі Graph оголошено наступні конс­танти для позначення кольорів:

Black = 0; { чорний } Blue = 1; { синій } Green = 2; { зелений }

Cyan = 3; { смарагдовий} Red = 4; {червоний } Magenta = 5; { малиновий }

Brown = 6; { коричневий } LightGray = 7; { світло-сірий }

DarkGray = 8; {темно-сірий } LightBlue = 9; { світло-блакитний }

LightGreen = 10; {ясно-зелений} LightCyan = 11; {світло-смарагдовий}

LightRed = 12; { ясно-червоний } LightMagcnta =13; { світло-малиновий }

Yellow = 14; {жовтий} White = 15; {білий}

Для гнучкості роботи з кольорами вони об'єднуються в палітри. Палітра – це структура даних, тип якої описаний наступним чином:

const MaxColors = 15;

type

PaletteType = record

Size: byte; Colors : array [0.. MaxColors] of shortint;

end;

Один з кольорів палітри є поточним кольором (за замовчуванням – білий). Цим кольором процедури модуля Graph малюють лінії та геометричні фігури. Ін­ший колір є поточним кольором фону (за замовчуванням – чорний). Палітри зру­­ч­ні для забезпечення швидкої зміни кольорів. Поточний колір вибирається з па­літри процедурою SetColor, поточний колір фону – процедурою GetBk­Co­lor, шляхом вказання номера елемента масиву Colors, який містить код цього ко­льо­ру. При будь-якій зміні кольору палітри всі місця на екрані, де цей колір викорис­то­­вується, будуть відразу змінені відповідно до нового значення кольору.

Функція GetPaletteSize : word повертає кількість кольорів у палітрі для поточного графічного режиму. Процедура SetAllPalette(var P) змінює всі кольори палітри на задані пара­мет­ром Р. Процедура GetPalette(var Р : PaletteType) у змінну Р записує поточну палітру і її розмір. Процедура SetPalette(n : word; Color : byte) змінює в палітрі колір, який міститься в n-му елементі масиву Colors на значен­ня Color.

Переміщення поточного вказівника та малювання точки Поточний вка­зів­ник (СР) переміщують наступні процедури: InitGraph (в точку(0,0)), MoveTo, MoveRel, LineTo, LineRel, OutText, SetGraphMode (в точку(0,0)).

Процедура MoveRel(Dx, Dy : integer) зміщує поточний вказівник на Dx пік­селів по осі х і на Dy пікселів по осі у від пікселя, у якому знаходиться по­точ­ний вказівник. Процедура MoveTo(x, у : integer) переміщує СР у точку з ко­ор­динатами (х.у). Процедура PutPixel(x, y : integer; Color : word) малює точку з ко­орди­на­та­ми (х,у), колір якої задається параметром Color.

Малювання ліній Лінії малюються за допомогою процедур Line, LineRel та LineTo. Лінії малюються кольором, який на даний момент встановлено поточ­ним процедурою SetColor чи за замовчуванням. Товщина i тип лінії задаються про­цедурою SetLineStyle.

Процедура SetLineStyle(Typ : word; Z : word; T : word). Значення параметра Тур задає тип рядка, Z – зразок лінії у випадку, коли значення параметру Тур до­рів­нює UserBitLn (4), параметр Т задає товщину лінії. Про­цедура встановлює по­точну товщину і тип лінії. Процедура впливає на всі типи ліній, що ма­лю­ю­ть­­ся процедурами Line, LineTo, RecTangle, DrawPoly, Arc, Circle.

Процедура Line(xl, yl, x2, y2 : integer) малює пряму лінію з точки (x1,yl) до точки (х2,у2). Розташування поточного вказівника не зміню­єть­ся.

Процедура LineRel(Dx,Dy : integer) малює пряму з точки з коорди­на­та­ми (х0, у0), на яку вказує поточний вказівник (СР), до точки з координатами (х1, у1), де хl=x0+Dx, у 1 =y0+Dy.

Процедура LineTo(x, у : integer) малює пряму лі­нію з точки з коорди­на­та­ми (х0, у0), на яку вказує СР, до точки з координатами (х, у). Після виконання цієї процедури поточний вказівник переміщу­єть­ся у точку (х,у).

Малювання геометричних фігур Модуль Graph дозволяє програ­мувати ви­ве­­ден­ня на екран деяких геометричних фігур. Процедури модуля Graph малю­ють їх поточним кольором та поточним типом лінії. Для деяких фігур можна за­да­вати зразок і колір зафарбовування.

Процедура SetFillStyle(Z : word; Color : word). Встановлює зразок і колір за­­фарбовування для всіх типів зафарбовування, виконуваних процедурами FillPoly, Ваг, ВаrЗD, і PieSlice. Параметр Color задає значення кольору зафарбо­ву­­ван­ня і прий­­­має одне з допустимих для поточного режиму значення кольору. Па­­ра­метр Z задає зразок зафарбовування.

Процедурою SetFillPattern можна створювати свої зраз­ки зафар­бовування, фор­муючи спеціальний шаблон. За замовчуванням вибираєть­ся суці­ль­не зафар­бову­вання білим кольором.

Процедура Вar (х 1, yl, x2, y2 : integer) малює зафарбований стовпець з коор­ди­натами (х1,у1) – лівий нижній кут, та (х2,у2) – правий верхній кут, вико­ри­с­­то­ву­ючи зразок зафарбовування і колір, задані процедурами SetFillStyle і SetFillPat­tern. Процедура Bar3D(xl, yl, х2, y2: integer; g : word; t: Boolean) малює триви­мір­ний паралелепіпед, використовуючи зразок зафарбовування і колір, задані за до­по­могою процедур SetFillStile і SetFillPattern. Триви­мір­ний контур паралеле­піпеда малюється кольором і типом лінії, встанов­ле­ними процедурами SetColor і SetLineStyle. Процедура Circle(X, Y : integer; R : word) малює коло радіусу R з цен­тром в точці з координатами (X,Y). Коло малюється поточним кольором, вста­новле­­ним процедурою SetColor.

Процедура Arc(X,Y:integer; Kl, K2, R:word) малює дугу кола з центром (X,Y) і радіусом R. Дуга малюється від значення початкового кута К1 (в граду­сах) до кінцевого кута К2 поточним кольором. Процедура DrawPoly(N : word; var Koord) використовуючи поточний тип пря­мої і поточний колір, малює контур бага­токутника. Параметр Koord є нети­по­ваний параметр, що містить коор­ди­­нати кожної вершини багатокутника. Параметр N задає кількість пар координат вершин у параметрі Koord.

Процедура FillPoly (N : word; var Koord) малює і зафарбовує багато­ку­т­ник, використовуючи поточний стиль зафарбовування і колір зафарбовування. При кресленні контуру ба­га­то­кутника використовується поточний тип лінії, що вста­новлюються проце­ду­рою SetLineStyle і поточний колір. Процедура Ellipse (X, Y : integer; Kl, K2 : word; Rx, Ry : word) ма­лює дугу еліпса від початкового ку­та К1 до кінцевого кута К2, заданих у гра­ду­сах, з центром в точці (X,Y). Па­ра­метри Rx та Ry задають довжини горизон­та­ль­ної і вертикальної осі.

Кути для процедур Arc, Ellipse і PieSlice задаються проти напрямку годин­ни­кової стрі­л­ки. При цьому значення 0 відповідає положенню годинникової стріл­ки, що вказує на 3-тю годину, 90 градусів – 12-ту годину тощо.

Процедура PieSlice(x, у : integer; Kl, K2, R : word) малює і зафарбовує кольором сектор кола з центром в (X, Y) i радіусом R. Сектор малюється від по­чат­кового кута К1 до кінцевого кута К2.

Процедура Rectangle(xl, yl, x2, y2 : integer) малює прямокутник. Точка з коор­динатами (xl, y1) задає верхній лівий кут, (х2, у2) – задає правий нижній кут. Використовує поточний тип лінії, що встановлюються процедурою Set­Line­Style і поточний колір. Процедура Sector(x, у : integer; Kl, K2, Rx, Ry : word) малює і зафар­бовує сек­тор еліпса з центром (X,Y), горизонтальним і верти­каль­ним радіусами Rx і Ry від початкового кута К1 до кінцевого кута К2.

Виведення тексту в графічному режимi У графічному режимі розташу­ван­ня тексту на екрані задається відносно певної точки. Відносно неї задається ви­рів­нювання тексту, тобто вказується, чи точка буде знаходитись посередині тек­сту, чи зверху, знизу, ліворуч чи праворуч. Для самого тексту встановлюється поточний шрифт. Процедура SetTextJustify(G, V : word). Встановлює значення для вирівнювання тексту, що використовується процедурами OutText і Out­Text­XY. Параметр G задає вирівнювання по горизонталі, V – по вертикалі.

Процедура SetTextStyle(Shr : word; Napr : word; Rozm : CharSizeType) встановлює поточний шрифт, тип і коефіцієнт розміру символу.

Підтримується нормальне (зліва направо) розташу­ван­ня тексту і верти­кальне, при якому текст починається з нижньої границі екрана і продов­жу­єть­ся нагору. Розмір кожного символу може збільшуватися на коефіцієнт, що зада­єть­ся параметром Rozm. Для визначення дійсних розмірів тексту при поточних па­ра­метрах шрифту, типу і коефіцієнту розміру символу викорис­то­вують процедури TextHeight і TextWidth. Функція TextHeight(S : string): word на основі розміру поточного шри­фту і коефіцієнта розміру повертає висоту рядка S в пікселях. Функція Text­Width(S : string) : word на основі довжини рядка (у сим­волах), роз­міру поточного шрифту і коефіцієнта розміру визначає довжину рядка S в пікселях.

Процедура OutText(S : string). Параметр S виводиться в місці розташу­вання поточного вказівника. При цьому використовуються поточні параметри вирівню­ван­ня. Якщо рядок занадто довгий чи активний шрифт занадто великий, що при­зво­дить до того, що він не поміщається на екрані чи в поточній області перегляду, то він вкорочується.

Процедура OutTextXY(X,Y : integer; S : string). Рядок, заданий пара­метром S, виводиться, починаючи з точки з координатами (X,Y). Процедура OutText вико­ристо­вується для виведення тексту в місці розташування поточ­ного вказівника.

 

Порядок виконання роботи:

1. Занотуйте номер свого варіанту для звіту.

2. Виберіть згідно номеру свого варіанту дані для завдання
та перепишіть у звіт формулювання цього завдання.

3. Складіть та занотуйте для звіту текст програми
на мові Pascal для виконання завдання.

4. Запустіть середовище програмування Turbo Pascal.

5. Виконайте налаштування на робочий каталог –
зробіть поточним каталог групи.

6. Створіть новий файл у середовищі програмування Turbo Pascal.

7. Введіть текст створеної програми.

8. Дайте назву створеному файлу програми – PR19
та збережіть його у папці групи на робочому диску D.

9. Виконайте компіляцію створеної програми.

10. Запустіть програму на виконання у середовищі Turbo Pascal.

11. Перегляньте та занотуйте для звіту одержаний результат.

12. Вийдіть із середовища програмування Turbo Pascal.

 

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

1. Як можна викликати підпрограми у мові програмування Pascal?

2. Що представляють собою модулі середовища Turbo Pascal?

3. Які стандартні модулі має середовище програмування Turbo Pascal?

4. Для чого використовують ресурси модуля Graph Turbo Pascal?

5. Які режими виведення інформації на екран забезпечує Turbo Pascal?

6. Яким чином відбувається перемикання екрана в графічний режим?

7. Як можна закінчити роботу в графічному режимі у Turbo Pascal?

8. Як відбувається робота в графічному режимі середовища Turbo Pascal?

9. Які константи використовують для позначення кольорів у мові Pascal?

10. Що представляє собою палітра у середовищі Turbo Pascal?

11. Яким чином можна встановити поточний колір у Turbo Pascal?

12. Яким чином можна встановити поточний колір фону в Turbo Pascal?

13. Як можна змінювати параметри палітри у середовищі Turbo Pascal?

14. Яким чином можна переміщувати поточний вказівник у Turbo Pascal?

15. Як можна малювати точки у середовищі програмування Turbo Pascal?

16. Як можна малювати лінії у середовищі програмування Turbo Pascal?

17. Яким чином можна намалювати прямокутник у Turbo Pascal?

18. Яким чином можна намалювати паралелепіпед у Turbo Pascal?

19. Яким чином можна намалювати коло в Turbo Pascal?

20. Яким чином можна намалювати багатокутник у Turbo Pascal?

21. Яким чином можна намалювати еліпс у Turbo Pascal?

22. Яким чином можна вивести текст в графічному режимі?

 

Студенти повинні знати:

1. загальну характеристику середовища програмування
Turbo Pascal та основні принципи роботи у ньому;

2. основні етапи роботи з програмою у середовищі Turbo Pascal;

3. оператори та стандартні процедури і функції мови Pascal;

4. основні принципи побудови програм для створення
графічних зображень та роботи з ними на мові Pascal;

5. загальну характеристику графічного режиму середовища
Turbo Pascal та основні принципи і особливості роботи з ним.

Студенти повинні вміти:

1. працювати у середовищі програмування Turbo Pascal;

2. використовувати текстовий редактор середовища
Turbo Pascal для введення та редагування текстів програм;

3. виконувати тестування та налагодження
програми у середовищі програмування Turbo Pascal;

4. працювати з графічним режимом середовища Turbo Pascal;

5. складати програми для створення графічних
зображень і роботи з ними на мові Pascal.

 

Порядок оформлення звіту:

Звіт повинен складатися з наступних частин:

1. Тема роботи.

2. Мета роботи.

3. Хід роботи.

4. Висновки до роботи.

 

Зразок виконання практичної роботи №19

Завдання

Скласти наступну програму:

намалювати прапор країни та написати у верхній лівій частині
графічного екрану зеленими літерами її назву.

 

країна
Мадагаскар

 

Текст програми:

 

 

program prap;
uses crt,graph;

var driver,mode:integer;

begin
clrscr;

driver:=detect;

initgraph(driver,mode,’ ’);

setbkcolor(0); setcolor(15);

rectangle(20,110,470,410);

line(170,110,170,410);

line(170,260,470,260);

floodfill(30,140,15);

floodfill(200,150,4);

floodfill(200,300,2);

settextstyle(0,0,3); setcolor(2);

outtextxy(40,60,’madagaskar’);

readln; closegraph; end.

 

Завдання

 

Скласти наступну програму:

намалювати прапор країни та написати у верхній лівій частині
графічного екрану зеленими літерами її назву.

 

країна
Литва
Франція
Чехія
Італія
Данія

 

Практична робота №20

 

Побудова графіків функцій у середовищі Turbo Pascal.

 

Мета: Навчитися створювати програми для побудови графіків функцій на мові Pascal та користува­ти­ся основними елементами інтер­фей­су середо­ви­ща про­г­ра­му­вання для редагу­ван­ня і виконання програм у Turbo Pascal.

 

Прилади, обладнання та інструменти:

Для виконання практичної роботи використовується ПК з наступним програмним за­безпеченням: операційна система Windows XP; середовище Turbo Pascal.

 

Теоретичні відомості:

Turbo Pascal забезпечує два режими виведення інформації на екран: тексто­вий і графічний. У гра­фіч­­ному режимі одиницею виведення є точка екрану (пік­сель). Кількість то­чок по ширині та висоті екрану залежить від фізичних пара­мет­рів монітора. Для точок екрану запроваджена координатна система. Вважається, що верхній лівий кут гра­фіч­ного екрану мас координати (0,0).

Організація в програмі виведення на екран в графічному режимі вклю­чає наступні дії: потрібно оголосити про використання модуля Graph (Uses Graph); перемикання екрана в графічний режим; робота в графічному режимі; за­кін­­чення роботи в графічному режимі (перехід в текстовий режим).

Перемикання з одного режиму в інший призводить до очищення екрана. Ін­фо­р­ма­ція, виведена в попередньому режимі, втрачається.

Для перемикання екрана в гра­фічний режим використовують про­це­ду­ру InitGraph та допоміжну проце­дуру DetectGraph. Процедура InitGraph ініціалі­зує графічну систему і переводить апаратні засоби в графічний режим, а проце­ду­ра DetectGraph перевіряє наявність відповідних апаратних засобів і визначає, який графічний драйвер і режим потрібно використовувати. Функція GraphResult повертає код помилки для останньої графіч­ної операції.

Для закінчення роботи в графіч­но­му режимі використовується процедура closegraph, яка не має параметрів. Процедура відновлює режим екрана, який був встановлений до ініці­алізації гра­фічного режиму і звільняє пам'ять, що викорис­то­вувалась графіч­­ним драйвером.

У модулі Graph зосереджені всі засоби, які на­дає Turbo Pascal для роботи в графічному режимі. Процедури і функції моду­ля Graph дозволяють малювати точки, прямі лінії, найпростіші криві, прості фі­гу­­ри, вибирати колір лінії, зафар­бо­вувати об'єкти, виводити на екран текст. Мо­дуль Graph інтегрованого сере­до­ви­ща Turbo Pascal містить 79 про­це­дур та фун­кцій. Крім них в інтерфейсній части­ні модуля оголошені різно­ма­ніт­ні кон­с­тан­­ти та типи, які можна викорис­то­ву­вати під час роботи в графічному режимі. З детальним описом цих процедур, функцій, типів та констант користувач інтег­ро­­ваного середовища Turbo Pascal може ознайомитись через Help, зокрема, наприклад, для версії 7.1 це буде команда Help Þ Standard units Þ Graph.

При роботі в графічному режимі використовується поняття поточний вказів­ник – СР (Current Pointer). СР вказує на поточний піксель. При ініціалі­за­ції графічного режиму поточним стає піксель з ко­ор­­ди­на­та­ми (0,0).

Для кожного типу монітора є можливість працювати в декількох графічних режимах. Для кожного з цих режимів є своя кількість точок по горизонталі та вертикалі, кількість кольорів, які дозволяє використовувати цей режим, кількість сторінок екрана, які підтримуються в цьому режимі. Графічні режими і константи та їх значення, оголошені в модулі Graph.

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

У модулі Graph оголошено наступні конс­танти для позначення кольорів:

Black = 0; { чорний } Blue = 1; { синій } Green = 2; { зелений }

Cyan = 3; { смарагдовий} Red = 4; {червоний } Magenta = 5; { малиновий }

Brown = 6; { коричневий } LightGray = 7; { світло-сірий }

DarkGray = 8; {темно-сірий } LightBlue = 9; { світло-блакитний }

LightGreen = 10; {ясно-зелений} LightCyan = 11; {світло-смарагдовий}

LightRed = 12; { ясно-червоний } LightMagcnta =13; { світло-малиновий }

Yellow = 14; {жовтий} White = 15. {білий}

Для гнучкості роботи з кольорами вони об'єднуються в палітри. Один з кольорів палітри є поточним кольором (за замовчуванням – білий). Цим ко­льо­ром процедури модуля Graph малюють лінії та геометричні фігури. Ін­ший колір є поточним кольором фону (за замовчуванням – чорний). Палітри зру­­ч­ні для за­без­печення швидкої зміни кольорів. Поточний колір вибирається з па­літри процедурою SetColor, поточний колір фону – процедурою GetBk­Co­lor.

Поточний вка­зів­ник (СР) переміщують наступні процедури: InitGraph (в точку(0,0)), MoveTo, MoveRel, LineTo, LineRel, OutText, SetGraphMode (в точку(0,0)). Процедура MoveRel(Dx, Dy : integer) зміщує поточний вказівник на Dx пік­селів по осі х і на Dy пікселів по осі у від пікселя, у якому знаходиться по­точ­ний вказівник. Процедура MoveTo(x, у : integer) переміщує СР у точку з ко­ор­динатами (х.у). Процедура PutPixel(x, y : integer; Color : word) малює точку з ко­орди­на­та­ми (х,у), колір якої задається параметром Color.

Лінії малюються за допомогою процедур Line, LineRel та LineTo. Лінії ма­­люються кольором, який на даний момент встановлено поточ­ним про­це­ду­рою SetColor чи за замовчуванням. Товщина i тип лінії задаються про­цедурою SetLineStyle.Процедура Line(xl, yl, x2, y2 : integer) малює пряму лінію з точки (x1,yl) до точки (х2,у2). Розташування поточного вказівника не зміню­єть­ся. Про­це­дура LineRel(Dx,Dy : integer) малює пряму з точки з коорди­на­та­ми (х0, у0), на яку вказує СР, до точки з координатами (х1, у1), де хl=x0+Dx, у1=y0+Dy.

Процедура LineTo(x, у : integer) малює пряму лі­нію з точки з коорди­на­та­ми (х0, у0), на яку вказує СР, до точки з координатами (х, у). Після виконання цієї процедури поточний вказівник переміщу­єть­ся у точку (х,у).

У графічному режимі розташу­ван­ня тексту на екрані задається відносно пев­ної точки. Відносно неї задається ви­рів­нювання тексту, тобто вказується, чи точка буде знаходитись посередині тек­сту, чи зверху, знизу, ліворуч чи право­руч. Для самого тексту встановлюється поточний шрифт.

Процедура SetTextStyle(Shr : word; Napr : word; Rozm : CharSizeType) встановлює поточний шрифт, тип і коефіцієнт розміру символу.

Процедура OutText(S : string). Параметр S виводиться в місці розташу­вання по­точного вказівника. При цьому використовуються поточні параметри вирівню­ван­ня. Процедура OutTextXY(X,Y : integer; S : string). Рядок, заданий пара­метром S, виводиться, починаючи з точки з координатами (X,Y). Процедура OutText вико­ристо­вується для виведення тексту в місці розташування поточ­ного вказівника.

 

Порядок виконання роботи:

1. Занотуйте номер свого варіанту для звіту.

2. Виберіть згідно номеру свого варіанту дані для завдання
та перепишіть у звіт формулювання цього завдання.

3. Складіть та занотуйте для звіту текст програми на мові Pascal.

4. Запустіть середовище програмування Turbo Pascal.

5. Виконайте налаштування на робочий каталог –
зробіть поточним каталог групи.

6. Створіть новий файл у середовищі програмування Turbo Pascal.

7. Введіть текст створеної програми.

8. Дайте назву створеному файлу програми – PR20
та збережіть його у папці групи на робочому диску D.

9. Виконайте компіляцію створеної програми.

10. Запустіть програму на виконання у середовищі Turbo Pascal.

11. Перегляньте та занотуйте для звіту одержаний результат.

12. Вийдіть із середовища програмування Turbo Pascal.

 

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

1. Яким чином можна зберегти файл у середовищі Turbo Pascal?

2. Яким чином можна виконати компіляцію програми у Turbo Pascal?

3. Як можна запустити програму на виконання у середовищі Turbo Pascal?

4. Які типи даних використовують у мові програмування Pascal?

5. Для чого використовують ресурси модуля Graph Turbo Pascal?

6. Які режими виведення інформації на екран забезпечує Turbo Pascal?

7. Яким чином відбувається перемикання екрана в графічний режим?

8. Які константи використовують для позначення кольорів у мові Pascal?

9. Яким чином можна встановити поточний колір у Turbo Pascal?

10. Яким чином можна встановити поточний колір фону в Turbo Pascal?


<== попередня лекція | наступна лекція ==>
ЭКОНОМИЧЕСКОЕ МОДЕЛИРОВАНИЕ 7 страница | ЭКОНОМИЧЕСКОЕ МОДЕЛИРОВАНИЕ 9 страница


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн