МІНЕСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ p>
Орловський державний університет p>
ФІЛІЯ У м. Братське p>
Комп'ютерна графіка p>
ГРАФІКА У TURBO PASCAL p>
Курсова робота p>
Виконав:
Студент гр.ПІ (Е)-02-Дн Л. С. Півінская 02850 p>
Перевірив:
Старший викладач І. В. Маслова p>
Братськ 2003 p>
ЗМІСТ p>
ВСТУП. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 3
1. ФУНКЦІЇ І ПРОЦЕДУРИ. . . . . . . . . . . . . . . . . . . . . . . . .4
1.1. Модуль Graph. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 4
1.2. Збереження і видача зображень. . . . . . . . . . . . . . . . . 4
1.3. Координати, вікна, сторінки. . . . . . . . . . . . . . . . . . . . . .
5
1.4. Лінії і точки. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 6
1.5. Багатокутники. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 6
1.6. Дуги, кола, еліпси. . . . . . . . . . . . . . . . . . . . . .
. 7
1.7. Фарби, палітри, заповнення. . . . . . . . . . . . . . . . . . . . .
.8
2. Лістинг програми. . . . . . . . . . . . . . . . . . . . . . . . . . 9
ВИСНОВОК. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 20
Посібник/За ред. . . . . . . . . . . 21 p>
ВСТУП p>
У цій роботі розглядаються різні функції і процедурипризначені для зображення графічних об'єктів в графічному режимі
Турбо Паскаля. P>
Різниця між текстовим і графічним режимами роботи монітораполягає в можливості управління виводу візуальної інформації. Утекстовому режимі мінімальним об'єктом на екрані, єсимвол, алфавітно-цифровий або який-небудь інший. У звичайних умовах екранмонітора, що працює в режимі алфавітно-цифрового дисплея, може міститине більше 80 символів по горизонталі і 25 символів по вертикалі, тобтовсього 2000 візуальних об'єктів. При цьому є обмежені можливостіз управління кольором символів. Звичайно, у такому режимі можна виводити наекран не тільки звичайний текст, а й деякі графічні зображення, однакзрозуміло, що якість таких зображень буде поза всякої критики. Тим неменше, в «героїчну» епоху комп'ютерної ери цей метод був єдиним ітому дуже популярним способом виведення графіків і цілих картин на екран
(і на принтер). Програмістам іноді вдавалося створювати справжні шедеври
«Комп'ютерної псевдографіки». Але для серйозної роботи із зображеннямитекстовий режим дисплея абсолютно не підходить. p>
У графічному режимі мінімальним об'єктом, висновком якого можеуправляти програміст, є так званий піксель (від англійського
Pixel, що виник в результаті об'єднання слів «малюнок» (picture) і
«Елемент» (element)). Пікселів має менші розміри у порівнянні із символом
(на один символ в текстовому режимі відводиться майданчик розміром в декількапікселів). Його геометричні розміри визначаються здатністю монітора.
Монітор зазвичай задається у вигляді rx * ry, де rx - кількістьпікселів на екрані по горизонталі, а ry - кількість пікселів по вертикалі.
На практиці використовуються не довільні, а деякі певні значеннядозволу. Такими дозволами є, Наприклад, 320х200, 640х480,
800х600, 1024х768, 1280х1024 і т.д. p>
1. ФУНКЦІЇ І ПРОЦЕДУРИ p>
1.1. Модуль Graph p>
Модуль Graph Турбо Паскаля містить близько п'ятдесяти різних процедурта функції, призначених для роботи з графічним екраном. У цьому жмодулі деякі вбудовані константи, які можуть бути використані вграфічних програмах. Для того щоб скористатися всіма можливостямимодуля Graph, на початку програми (після заголовка) необхідно поміститиоператор використання p>
Uses Graph; p>
Основну частину модуля складають процедури введення базових графічнихелементів, таких як точки, відрізки прямих ліній, дуги p>
і цілі кола та ін p>
Функція GraphErrorMsg. Повертає значення типу String, в якому завказаним кодом помилки дається відповідне текстове повідомлення.
Заголовок: p>
Fanctional GraphErrorMsg (Code: Integer): String; p>
Тут Code - код помилки, що повертається функцією GraphResult. P>
Функція CloseGraph. Завершує роботу адаптера в графічному режимі івідновлює текстовий режим роботи екрану. p>
1.2. Координати, вікна, сторінки p>
Будь-яке зображення формується з досить простих геометричнихфігур. Це точки, відрізки прямих, кола і т.д. З геометрії відомо,що положення геометричного об'єкта і його форма задаються координатами йоготочок. p>
Отже, для того щоб запрограмувати графічний висновок, требанавчитися задавати координати графічних об'єктів. p>
Багато графічні процедури та функції використовують покажчик поточноїпозиції на екрані, який на відміну від текстового курсора невидимий.
Положення цього покажчика, як і взагалі будь-яка координата на графічномуекрані, задається відносно лівого верхнього кута, який, у своючергу, має координати 0,0. Таким чином, горизонтальна координатаекрану збільшується зліва направо, а вертикальна - зверху вниз. p>
Опції GetMaxX і GetMaxY.
Повертають значення типу Word, що містять максимальні координати екрану впоточний режим роботи відповідно по горизонталі і вертикалі. p>
Процедура SetViewPort. Встановлює прямокутне вікно на графічномуекрані. Заголовок: p>
Procedure SetVievPort (X1, Y1, X2, Y2: Integer; ClipOn: Boolean); p>
Тут X1 .. Y2 - координати лівого верхнього (Х1, Y1) і правогонижнього (X2, Y2) кутів вікна; ClipOn - вираз типу Boolean, що визначає
«Відсічення» не вміщується у вікні елементів зображення. P>
Процедура ClearDevice. Очищає графічний екран. Після звернення допроцедурі покажчик встановлюється в лівий верхній кут, а сам екранзаповнюється кольором фону, заданим процедурою SetBkColor. p>
1.3 Лінії і точки p>
Процедура PutPixel. Виводить заданим кольором точку за вказанимикоординатах. Заголовок: p>
Procedure PutPixel (X, Y: Inteder; Color: word); p>
Тут X, Y - координати точки; Color - колір точки. P>
Процедура Line. Креслить лінію з вказаними координатами початку ікінця. Заголовок: p>
Procedure Line (X1, Y1, X2, Y2: Integer); p>
Тут X1 .. Y1 - координати початку (X1, Y1) і кінця (X2, Y2) лінії. Лініявычерчивается поточному стилем і поточним кольором. p>
Процедура SetLineStyle. Встановлює новий стиль викреслює ліній.
Заголовок: p>
Procedure SetLineStyle (Type, Pattern, Thick: Word); p>
Тут Type, Pattern, Thick - відповідно тип, зразок і товщиналінії. Тип лінії може бути створений за допомогою однієї з наступних констант: p>
Const p>
SolidLn = 0; (Суцільна лінія) p>
DottedLn = 1; (Точкова лінія) p>
CenterLn = 2; (Штрих-пунктирна лінія) p>
DashedLn = 3; (Пунктирна лінія) p>
UserBitLn = 4; (Візерунок лінії визначається користувачем)
1.4. Багатокутники p>
Процедура Rectangle. Викреслює прямокутник з вказаними координатамикутів. Заголовок: p>
Procedure Rectangle (X1, Y1, X2, Y2: Integer); p>
Тут X1 .. Y2 - координати лівого верхнього кута (X1, Y1) і правогонижнього (X2, Y2) кутів прямокутника. Прямокутник вычерчивается звикористанням поточного кольору і поточного стилю ліній. p>
1.5. Дуги, кола, еліпси p>
Процедура Circle. Креслить коло. Заголовок: p>
Procedure Circle (X, Y: Integer; R: Word); p>
Тут X, Y - координати центру; R - радіус в пікселях. P>
Коло виводиться поточним кольором. Товщина лінії встановлюєтьсяпоточним стилем, вид лінії завжди SolidLn (Суцільна). Процедура викреслюєправильну коло з урахуванням зміни лінійного розміру радіусу взалежно від його напряму щодо сторін графічного екрану,тобто з урахуванням коефіцієнта GetAspectRatio. У зв'язку з цим параметр Rвизначає кількість пікселів в горизонтальному напрямку. p>
Процедура Arc. Креслить дугу кола. Заголовок: p>
Procedure Arc (X, Y: Integer; BegA, EndA, R: Word); p>
Тут X, Y - координати центру; BegA, EndA-відповідно початковий ікінцевий кути дуги; R - радіус. p>
Кути описуються проти годинникової стрілки і вказуються в градусах.
Нульовий кут відповідає горизонтальному напрямку вектора зліванаправо. Якщо задати значення початкового кута 0 і кінцевого - 359, то будевиведена повна коло. При креслення дуги кола використовуєтьсяті ж угоди щодо лінії радіусу, що і в процедурі Circle. p>
Процедура Ellipse. Викреслює елліпсную дугу. Заголовок: p>
Procedure Ellipse (X, Y: Integer; BegA, EndA, Rx, RY: Word); p>
Тут X, Y - координати центру; BegA, EndA - відповідно початковий ікінцевий кути дуги; RX, RY - горизонтальний і вертикальний радіуси еліпсав пікселях. p>
При креслення дуги еліпса використовується ті ж угоди щодолінії, що і в процедурі Circle, іте ж угоди щодо кутів, щоі в процедурі Arc. Якщо радіуси узгодити з урахуванням масштабногокоефіцієнта GetAspectRatio, будуть викреслена правильна коло. p>
1.6 Фарби, палітри, заповнення p>
Процедура SetCOlor. Встановлює поточний колір для вводяться ліній ісимволів. Заголовок: p>
Procedure SetColor (Color: Word); p>
Тут Color - поточний колір. P>
Процедура SetBkColor. Встановлює колір фону. Заголовок: p>
Procedure SetBkColor (Color: Word); p>
Тут Color - колір фону. P>
На відміну від текстового режиму, в якому колір фону може бути тількитемного відтінку, в графічному режимі він може бути будь-яким. Установка новогокольори фону, негайно змінює колір графічного екрану. Це означає, щоне можна створити зображення, дві ділянки якого мали б різний колір фону.
Для GGA-адаптера в режимі високої роздільної здатності установка кольору фону змінюєколір активних пікселів. Зауважу, що після заміни кольору фону на будь-який,відмінний від 0 (Black) колір. Ви не зможете більше використовувати колір 0 якчорний, він буде замінюватися на колір фону, тому що процедури модуля Graphінтерпретують колір з номером 0 як колір фону. Це означає, зокрема,що Ви вже не зможете повернути фону чорний колір! p>
Якщо ваш комп'ютер оснащений кольоровим екраном, наступна програмапродемонструє роботу процедури SetBkColor. Програма виводить десятьвкладених один в одного прямокутників, після чого циклічно змінює колірфону. Для виходу з програми досить натиснути на будь-яку клавішу. P>
Процедура SetFillStyle. Встановлює стиль (тип і колір). Заголовок: p>
Procedure SetFillStile (Fill, Color: Word); p>
Тут Fill - тип заповнення; Color - колір заповнення. P>
За допомогою заповнення можна покривати які -небудь фрагменти зображенняперіодично повторюються візерунком. p>
Процедура FloodFill. Заповнює довільну замкнуту фігуру, використовуючипоточний стиль заповнення (візерунок і колір). Заголовок: p>
Procedure FloodFill (X, Y: Integer; Border: Word); p>
Тут X, Y - координати будь-якої точки всередині замкнутої фігури; Border --колір граничної лінії. Якщо фігура не замкнута, заповнення «розіллється повсьому екрану. p>
1.7. Збереження і видача зображень p>
Функція ImageSize. Повертає розмір пам'яті в байтах, необхідний длярозміщення прямокутного фрагмента зображення. Заголовок: p>
Function ImageSize (X1, Y2, X2, Y2: Integer): Word; p>
Тут X1 .. Y2 - координати лівого верхнього (X1, Y1) і правогонижнього (X2, Y2) кутів фрагмента зображення. p>
Процедура GetImage. Поміщає в пам'ять копію прямокутного фрагментазображення. Заголовок: p>
Procedure GetImage (X1, Y1, X2, Y2: Integer; var Buf); p>
Тут X1 .. Y2 - координати кутів фрагмента зображення; Buf - зміннаабо ділянка купи, куди буде поміщена копія відеопам'яті з фрагментомзображення. p>
Розмір Buf повинен бути не менше значення, що повертається функцією
ImageSize з темі ж координатами X1 .. Y2. P>
Процедура PutImage. Виводить в задане місце екрану копію фрагментазображення, раніше вміщену в пам'ять процедурою GetImage. Заголовок: p>
Procedure PutImage (X, Y: Integer; var Buf; Mode: Word); p>
Тут X, Y-координати лівого верхнього кута того місця на екрані, кудибуде скопійований фрагмент зображення; Buf - змінна або ділянка купи,звідки береться зображення; Mode - спосіб копіювання. p>
Як бачимо, координати правого нижнього кута не вказуються, так як вониповністю визначаються розмірами знову що виводиться на екран копіїзображення. Координати лівого верхнього кута можуть бути якими завгодно, лишеб тільки виводиться копія вмістилася в межах екрану (якщо копія не зможерозміститися на екрані, вона не виводиться і екран залишається без змін). p>
Параметр Mode визначає спосіб взаємодії знову розміщується копіїякі вже є на екрані зображенням. Взаємодія здійснюється шляхомзастосування кодованих цим параметром логічних операцій до кожного бітукопії та зображення. p>
2. Лістинг ПРОГРАМИ p>
Program Brodvey; p>
Uses Graph, Crt;
Var i, a, y, x: integer; p>
procedure init;var gD, gM, EC: integer; begin gD: = detect;
InitGraph (gD, gM,''); end;begin init; p>
SetColor (1);
Line (520,0,0,192);
Line (530,0,0,210);
SetFillStyle (1,8);
FloodFill (525,0,1);
Line (550,0,0,450);
Line (565,0,0,600);
SetFillStyle (1,0);
FloodFill (540,0,1);
SetFillStyle (1,10);
FloodFill (555,0, 1);
Line (800,0,0,1700);
SetFillStyle (9,10);
FloodFill (555,0,1);
SetFillStyle (1,8);
FloodFill (570, 0,1);
SetFillStyle (9,2);
FloodFill (630,400,1);
Line (0,100,90,100);
LIne (90,100,90,158);
SetFillStyle (1,4);
FloodFill (2,120,1);
Line (5,105,20,105);
Line (5,105,5,115);
Line (20,105,20,115);
Line (5,115,20,115);
SetFillStyle (1,14);
FloodFill (7,110,1);
Line (40,105,55,105);
Line (40,105,40,115);
Line (55,105,55,115);
Line (40,115,55,115);
SetFillStyle (1,14);
FloodFill (45,110,1);
Line (70,105,85,105);
Line (70,105,70,115);
Line (85,105,85,115);
Line (70,115,85,115);
SetfillStyle (1,14);
FloodFill (80,110,1);
Line (5,130,20,130);
Line (5,130,5,140);
Line (20,130,20,140);
Line (5,140,20,140);
SetFillStyle (1,14);
FloodFill (7,135,1);
Line (40,130,55,130);
Line (40,130,40,140);
Line (55,130,55,140);
Line (40,140,55,140);
SetFillStyle (1,14);
FloodFill (45,135,1);
Line (70,130,85,130);
Line (70,130,70,140);
Line (85,130,85,140);
Line (70,140,85,140);
SetFillStyle (1,14);
FloodFill (75,135,1);
Line (0,60,40,60);
Line (40,60,40,100);
SetFillStyle (1,5);
FloodFill (5,65,1);
Line (5,70,15,70);
Line (5,70,5,80);line (15,70,15,80);
Line (5,80,15,80);
SetfillStyle (1,14);
FloodFill (10,75,1);
Line (25,70,35,70);
Line (35,70,35,80);
Line (25,70,25,80);
Line (25,80,35,80);
SetFillStyle (1,14);
FloodFill (30,75,1);
Line (0,15,55,15);
Line (55,15,55,100);
SetFillStyle (1,6);
FloodFill (10,20,1);
Line (5,40,15,40);
Line (5,40,5,55);
Line (15,40,15,55);
Line (5,55,15,55);
SetFillStyle (1,14);
FloodFill (10,45,1);
Line (25,40,35,40);
Line (25,40,25,55);
Line (35,40,35,55);
Line (25,55,35,55);
SetFillStyle (9,8);
FloodFill (30,45,1);
Line (45,40,55,40);
Line (45,40,45,55);
Line (55,40,55,55);
Line (45,55,55,55);
SetFillStyle (1,14);
FloodFill (50,45,1);
Line (60,45,70,45);
Line (60,45,60,60);
Line (70,45,70,60);
Line (60,60,70,60);
Setfillstyle (1,14);
Floodfill (65,50,1);
Line (90,45,100,45);
Line (90,45,90,60);
Line (100,45,100,60);
Line (90,60,100,60);
SetFillstyle (1,14);
FloodFill (95,50,1);
Line (90,80,90,90);
Line (90,90,105,90);
Line (105,80,105,90);
Line (90,80,105,80);
SetFillStyle (1,14);
FloodFill (95,85,1);line (70,80,70,90);line (70,80,55,80);
Line (55,80,55,90);
Line (55,90,70,90);
SetFillStyle (9,8);
FloodFill (59,85,1);
Line (120,90,120,110);
Line (120,110,135,110);
Line (135,110,135,90);
Line (120,90,135,90);
SetFillStyle (1,14);
FloodFill (125,95,1);
Rectangle (155,90,170,110);
SetFillStyle (1,14);
FloodFill (165,95,1);
Rectangle (190,60,200,70);
SetFillStyle (1,14);
FloodFill (195,65,1);
Rectangle (210,60,220,70);
SetFillStyle (1,14);
FloodFill (215,65,1);
Rectangle (230,60,240,70); p>
SetFillStyle (1,14); p>
FloodFill (235,65,1);
Rectangle (190,80,200,90); p>
SetFillStyle (1,14); p>
FloodFill (195,85,1);
Rectangle (210,80,220,90);
SetFillStyle (1,14);
FloodFill (215,85,1);
Rectangle (230,80,240,90); p>
SetFillStyle (1,14); p>
FloodFill (235,85,1);
Rectangle (205,30,230,35);
SetFillStyle (1,14);
FloodFill (210,32,1);
Rectangle (240,30,255,35);
SetFillStyle (9,8);
FloodFill (245,32,1);
Rectangle (265,30,290,35);
SetFillStyle (1,14);
FloodFill (270,32,1);
Rectangle (300,30,325,35);
SetFillStyle (1,14);
FloodFill (310,32,1);
Rectangle (265,40,290,45);
SetFillStyle (1,14);
FloodFill (270,42,1);
Rectangle (300,40,325,45);
SetFillStyle (9,8);
FloodFill (310,42,1);
Rectangle (265,50,290,55);
SetFillStyle (1,14);
FloodFill (270,52,1);
Rectangle (300,50,325,55);
SetFillStyle (1,14);
FloodFill (310,52,1);
Rectangle (300,60,325,65);
SetFillStyle (1,14);
FloodFill (310,62,1);
Rectangle (265,60,290,65);
SetFillStyle (1,14);
FloodFill (270,62,1);
Rectangle (360,50,365,55);
SetFillStyle (9,8);
FloodFill (362,52,1);
Rectangle (360,40,365,45);
SetFillStyle (1,14);
FloodFill (362,42,1);
Rectangle (370,45,375,40);
SetFillStyle (1,14);
FloodFill (372,42,1);
Rectangle (360,30,365,35);
SetFillStyle (1,14);
FloodFill (362,31,1);
Rectangle (370,30,375,35);
SetFillStyle (1,14);
FloodFill (372,32,1);
Rectangle (390,25,395,30);
SetFillStyle (9,8);
FloodFill (392,28,1);
Rectangle (390,15,395,20);
SetFillStyle (1,14);
FloodFill (392,17,1);
Rectangle (375,15,380,20);
SetFillStyle (1,14);
FloodFill (378,17,1);
Rectangle (405,30,410,35);
SetFillStyle (1,14);
FloodFill (407,32,1);
Rectangle (415,30,420,35);
SetFillStyle (1,14);
FloodFill (418,32,1);
Rectangle (405,20,410,25);
SetFillStyle (9,8);
FloodFill (408,22,1);
Rectangle (415,20,420,25);
SetFillStyle (1,14);
FloodFill (418,22,1);
Rectangle (435,10,450,15);
SetFillStyle (1,14);
FloodFill (445,12,1);
Rectangle (435,20,450,25);
SetFillStyle (1,14);
FloodFill (440,22,1);
Line (55,30,110,30);
Line (110,30,110,150);
SetFillStyle (1,9);
FloodFill (60,35,1);
Line (75,10,125,10);
Line (125,10,125,72);
Line (75,10,75,32);
SetFillStyle (1,11);
FloodFill (110,25,1);
Line (110,70,180,70);
Line (180,70,180,125);
SetFillStyle (1,13);
FloodFill (125,85,1);
Line (180,55,250,55);
Line (180,55,180,70);
Line (250,55,250,100);
SetFillStyle (1,6);
FloodFill (185,65,1);
Line (165,70,165,15);line (165,15,350,15);
Line (350,15,350,62);
SetFillStyle (1,12); p>
FloodFill (205,65,1); p>
Line (300,10,300,15) ;
Line (300,10,335,10);
Line (335,10,335,15);
SetFillStyle (1,10);
FloodFill (325,12,1);
Line (350,25,380,25);
Line (380,25,380,52);
SetFillStyle (1,4);
FloodFill (370,26,1);
Line (370,10,370,25);
Line (370,10,400,10);
Line (400,10,400,45);
SetFillStyle (1,15);
FloodFill (386,29,1);
Line (400,15,430,15);
Line (430,15,430,34);
SetFillStyle (1,9);
FloodFill (425,25,1);
Line (415,15,415,5);
Line (415,5,470,5);
Line (470,5,470,19);
SetFillStyle (1,6);
FloodFill (425,8,1);
Line (470,2,485,2);
Line (470,2,470,5);
Line (485,2,485,12);
SetFillStyle (1,10);
FloodFill (478,4,1);
Line (290,360,290,210);
Line (290,212,410,120);
Line (290,300,410,170);
Line (410,120,410,170);
SetFillstyle (1,3);
FloodFill (300,250,1);
SetfillStyle (1,3);
FloodFill (291,298,1);
Line (400,300,440,170);
Ellipse (425,194,55,120,27,28);
Ellipse (345,376,53,125,95,95);
Line (400,300,400,360);
Ellipse (345,375,12,158,58,58);
SetFillStyle (1,9);
FloodFill (295,310,1);
Line (440,170,440,200);
Ellipse (430,210,36,87,15,15);
SetFillStyle (1,9);
FloodFill (438,180,1);
SetFillStyle (1,3);
FloodFill (420,180, 1);
Line (0,290,60,260);
Line (100,240,150,215);
Line (200,190,260,160);
Line (290,148,333,128);
Line (370,100,400,85);
Line (420,73,440,63);
Line (470,45,490,35);
SetFillStyle (10,15);
FloodFill (400,2,1);
Line (280,112,330,90);
Ellipse (335,110,350,100,20,20);ellipse (294,150,110,150,40,40);line (355,115,350,120);circle (342,125,10);
SetFillStyle (9,8);
FloodFill (342,125,1);
Line (260,130,240,140);
Line (260,130,280,130);
Line (280,130,335,105);
Line (280,130,285,120);
Line (285,120,266,120);
Line (285,120,333,98);
Arc (332,102,270,90,4);
Line (240,150,270,150);
Line (240,140,270,140);
Line (270,140,353,102);
SetFillStyle (1,5);
FloodFill (338,102,1);
Ellipse (248,152,165,23,8,8);
SetFillStyle (9,8);
FloodFill (248,154,1);
Circle (280,152,10);
SetFillStyle (9,8);
FloodFill (280,152,1);arc (240,145,90,270,5);
SetFillStyle (1,7);
FloodFill (240,145,1);
SetColor (6);
Line (435,230,370,240);
Line (440,215,390,230);
Line (435,230,435,300);
Line (425,240,370,260);
Line (425,240,425,300);
Line (425,300,435,300);
Line (435,295,440,295);
Line (440,215,440,295);
Line (391,230,351,185);
Line (328,200,355,185);
Ellipse (365,210,160,290,33,50);
Line (340,185,340,193);
Circle (340,178,10);
SetFillStyle (1,6);
FloodFill (340,178,6);
Line (352,188,390,135);
Line (355,190,390,140);
Line (390,140,390,135);
Line (335,200,288,210);
Line (335,205,288,215);
SetFillStyle (8,1);
FloodFill (353,189,6);
SetFillStyle (1,1);
FloodFill (380,152,6);
Line (288,210,280,178);
Line (288,215,275,185);
Line (275,185,280,178);
SetFillStyle (1,1);
FloodFill (277,185,6); p>
SetColor (0);
Ellipse (395,200,0,360,5,3);
Line (390,200,390,210);
Line (400,200,400,210);
SetFillStyle (9,6);
FloodFill (395,200,0);
Arc (395,208,150,0,5);
SetFillStyle (1,7);
FloodFill (395,208,0); p>
SetColor (1);
Line (500,100,500,400);
Line (520,100,520,400);
Ellipse (510,100,0,200,10,10);
Ellipse (510,396,200,0,10,10);
SetFillStyle (1,6);
FloodFill (513,105,1);
Ellipse (485,130,10,160,25,25);
Ellipse (535,115,19,160,25,25);
Ellipse (460,138,10,170,16,16);
Ellipse (460,138,160,8,15,8);
SetFillstyle (1,14);
FloodFill (463,140,1); begin
Ellipse (560,122,10,170,16,16);
Ellipse (560,122,160,8,15,8);
SetFillStyle (1,14);
FloodFill (562,125,1);
Delay (30000);
SetFillStyle (1,0); < br> FloodFill (562,125,1);
Delay (30000);
SetFillStyle (1,14);
FloodFill (562,125,1);
Delay (30000);
SetFillStyle ( 1,0);
FloodFill (562,125,1);
Delay (30000);
SetFillStyle (1,14);
FloodFill (562,125,1);
Delay (30000) ;
SetFillStyle (1,0);
FloodFill (562,125,1);
Delay (30000);
SetFillStyle (1,14);
FloodFill (562,125,1); < br> Delay (30000);
SetFillStyle (1,0);
FloodFill (562,125,1);
Delay (30000);
SetFillStyle (1,14);
FloodFill ( 562,125,1);
Delay (30000);
SetFillStyle (1,0);
FloodFill (562,125,1);
Delay (30000);
SetFillStyle (1,14) ;
FloodFill (562,125,1);
Delay (30000);
SetFillStyle (1,0);
FloodFill (562,125,1);
Delay (30000);
SetFillStyle (1,14);
FloodFill (562,125,1);
Delay (30000);
SetFillStyle (1,14);
FloodFill (562,125,1);
Delay ( 30000);
SetFillStyle (1,0);
FloodFill (562,125,1);
Delay (30000);
SetFillStyle (1,14);
FloodFill (562,125,1) ;
Delay (30000);
SetFillStyle (1,0);
FloodFill (562,125,1);
Delay (30000);
SetFillStyle (1,14);
FloodFill (562,125,1);
Delay (30000);
SetFillStyle (1,0);
FloodFill (562,125,1);
Delay (30000);
SetFillStyle (1, 14);
FloodFill (562,125,1);
Delay (30000);
SetFillStyle (1,0);
FloodFill (562,125,1);
Delay (30000); < br> SetFillStyle (1,14);
FloodFill (562,125,1);
Delay (30000); p>
repeat until keypressed;closegraph; p>
end;end. p>
ВИСНОВОК p>
У цій роботі описуються різні процедури та функції,призначені для створення графічних об'єктів в Турбо Паскалі. p>
Використовуючи вище перераховані процедури та функції, автор навчивсязображувати різні фігури різних форм і розмірів, так само зміг показатирух фігури. p>
Написавши дану програму, автор отримав навички роботи в графічному середовищі
Турбо Паскаль, навчився правильно застосовувати різні процедури та функції,точно визначати і задавати координати різних ліній, еліпсів,кіл, прямокутників і т.д. p>
Посібник/За ред p>
1. Інформатика (Базовий курс) С. В. Симонович, СПб: Пітер, 2001г. P>
2. Основи мови Turbo Pascal (навчальний курс), П. И. Рудаков, М. А.
Федотов, Москва: Радіо та зв'язок, 2000р. P>
3. Основи програмування в задачах та прикладах, А. В. Мілов, Харків:
ФОЛИО, 2002р. P>
4. Програмування. С. Симонович, Г. Евсеев, Москва: АСТ - ПРЕС книга
2000р.
5. Практика програмування, Ю. Кетков, А. Кетков, СПб: БХБ/Петербург,
2002р. P>
6. Turbo Pascal/С. А. Немнюгин .- СПб: Издательство «Питер», 2001.-496с.: ил. p>
7. Turbo Pascal: учитесь програмувати, О. А. Меженний, Москва:Изд.дом «Вільямс», 2001р p>
p>