Графік Турбо-Паскаля
Міністерство освіти і науки України
Бузулуцький гуманітарно-технологічний інститут
(філія) державної освітньої установи
Вища професійна освіта –
"Оренбурзький державний університет"
Факультет промисловості та транспорту
Кафедра фізики, інформатики, математики
з дисципліни «Мови та системи програмування»
Графіка Турбо-Паскаля. Динамічні зображення
БДТІ (філія) ГОУ ВПО ОГУ 050501.65.5.2.09.9 ПЗ
Студентка групи: 07ПО
_______ Городецька О.О.
Кафедра фізики, інформатики,
____________ Степуніна О.А.
Завдання на курсову роботу
Студентці Городецької Ганні Олександрівні
1. Тема роботи: Графіка Турбо-Паскаля. Динамічні зображення.
3. Перелік питань, що підлягають розробці в роботі:
1) Вивчити теоретичні основи питання, що розглядається.
2) Розробити програму, що реалізує рух траєкторією графічного об'єкта.
3) Розробка програми, що реалізує переміщення по екрану кола
4. Перелік графічного матеріалу: рисунок, таблиці
Керівник: __________ Литвинова С.А.
Завдання прийняла до виконання: "__" ___________ 2009р.
___________________ Городецька О.О.
Мова Turbo Pascal надає цілу низку процедур та інших засобів, що дозволяють малювати на екрані різнокольорові точки, відрізки прямих, дуги, зафарбовані та не зафарбовані кола, прямокутники, а також виконувати низку інших дій.
Всі засоби для роботи з графікою знаходяться в модулі GRAPH, тому він повинен бути підключений до програми перед тим, як розпочати роботу:
Ініціалізація графіки здійснюється за допомогою процедури InitGraph:
InitGraph(var d, t, ‘’)
У курсовій роботі наведені найбільш цікаві процедури для малювання, що часто використовуються, а також показані способи програмування рухомих об'єктів.
Розділ 1. Теоретична частина
1.1 Текстовий та графічний режими
Відомо, що основним пристроєм для виведення інформації, зокрема результатів роботи програми, є монітор комп'ютера. Монітор зовні дуже схожий на телевізор, але має важливу особливість. Ця особливість у тому, що з телевізора один-єдиний (з погляду виведення зображення) режим роботи, а комп'ютерного монітора їх два. Цетекстовийтаграфічнийрежими.

Малюнок 1 – Графічний режим
Різниця між текстовим та графічним режимами роботи монітора полягає у можливостях управління виведенням візуальної інформації. У текстовому режимі мінімальним об'єктом, що відображається на екрані, єсимвол, алфавітно-цифровий або будь-який інший. У звичайних умовах екран монітора, що працює в текстовому режимі (алфавітно-цифрового дисплея), може містити не більше 80 символів по горизонталі та 25 символів по вертикалі, тобто лише 2000 візуальних об'єктів. При цьому є обмежені можливості управління кольором символів. Звичайно, в такому режимі можна виводити на екран не тільки звичайний текст, а й деякі графічні зображення (наприклад, таблиці), проте зрозуміло, що якість таких зображень буде поза критикою. Але для серйозної роботи із зображеннями текстовий режим дисплея абсолютно не підходить.
У графічному режимі мінімальним об'єктом, висновком якого може керувати програміст, є так званийпіксель (від англійського pixel, що виникає в результаті об'єднання слів "малюнок" (picture) і "елемент" (element). Піксель є не що інше, як точку з трьома кольорами. Його геометричні розміри визначаються роздільною здатністю монітора. Роздільна здатність монітора зазвичай задається в у виглядіrx*ry, деrx– кількість пікселів на екрані по горизонталі, аry– кількість пікселів по вертикалі. такими дозволами є, наприклад, 320х200, 640х480, 800х600, 1024х768, 1280х1024 і т. д. Навіть у разі грубого дозволу зображення0 у графічному режимі0 формується з допомогою.
Можна міркувати і геометрично. Розмір екрана – величина фіксована. Якщо величина діагоналі екрану 14 дюймів, його геометричні розміри становлять приблизно 28х20 см. Розмір пікселя можна отримати приблизно, розділивши розмір екрану на роздільну здатність. Геометричні розміри пікселя визначають ступінь деталізації зображення, його якість. Є, щоправда, мінімально допустиме значення розміру пікселя, яке визначається технічними параметрами монітора.
1.2 Графічні координати
Будь-яке зображення формується із досить простих геометричних фігур. Це точки, відрізки прямих, кола тощо. З геометрії відомо, що положення геометричного об'єкта та його форма задаються координатами його точок. Отже, щоб запрограмувати графічний висновок, треба навчитися задавати координати графічних об'єктів.
Графічні координатизадають положення точки на екрані дисплея. Оскільки мінімальним елементом, до якого має доступ програміст, є піксель, природно як графічні координативикористовувати порядкові номери пікселів. Допустимий діапазон зміни графічних координат становить [0,rx-1] длях-координати та [0,ry-1] дляy-координати.
Точкою відліку є лівий верхній кут екрана. Значеннях-координати відраховуються зліва направо, аy-координати зверху вниз. Останнє відрізняє графічні координати від звичайних декартових координат, прийнятих в математиці, і служить джерелом помилок, що не вичерпується, для початківця програміста.
Проблема полягає в тому, що при розробці програми графік чи інше зображення зазвичай проектується у звичній декартовій системі координат. Але для правильного відображення такого графіка на екрані необхідно врахувати різницю між декартовою та графічною системами координат. Таких відмінностей три:
1. Графічні координати набувають лише цілих чисел.
2. Графічні координати приймають значення, обмежені як знизу (нульовим значенням), і зверху (значенням дозволу).
3. Графічна координатаyвідраховується зверху донизу.
Таким чином, декартові координати точки (x,y) для відображення її на екрані слід перерахувати в графічні (xg,yg) по формулам
деx- ціла частинах;sxіsy- масштабні множники, що вибираються з умови
Тутxmaxтаymax- максимальні значення геометричних координат. Перерахунок координатиyза такою ж формулою, що і дляхпривів би до дзеркально відбитого відносно горизонтальної лінії зображення. Доданкиdxтаdyзабезпечують зміщення зображення щодо лівого верхнього кута екрана. Зображення буде зміщене в центр екрану при
Щоб зображення незалежало від дозволу, в Турбо Паскалі використовуються функціїGetMaxX іGetMaxY,що повертають найбільший номер пікселя по горизонталі і по вертикалі відповідно. Графічні координати правого нижнього кута екрана дорівнюють(GetMaxX,GetMaxY).
Перемикання в графічний режим і робота в ньому реалізовані в Турбо Паскалі у вигляді набору процедур, що знаходяться в спеціальному модулі graph. 8pu. Робота цього модуля заснована на використанні так званого графічного інтерфейсу Борланд (BGI -BorlandGraphicsInterface), спеціалізованої графічної бібліотеки. Основна перевага цього інтерфейсу полягає в тому, що він простий у вивченні та цілком підходить для програмування нескладних графічних програм.
МодульGraphТурбо Паскаля містить близько п'ятдесяти різних процедур та функцій, призначених для роботи з графічним екраном. У цьому модулі описані деякі вбудовані константи і змінні, які можна використовувати у графічних програмах. Основну частину модуля складають процедури виведення базових графічних елементів, таких як точки, відрізки прямих ліній, дуги та цілі кола тощо. Такі елементи називаються графічними примітивами. Інша група процедур призначена для керування графічним режимом.
МодульGraphповинен явно підключатися до програми за допомогою оператора використанняUses, що записується після заголовка програми:
деvalue- це будь-яке деяке число (таблиця 1), або вбудована константа (вбудовані константи не треба описувати спеціально, тому що їх опис міститься в модулях).
Деякі можливі значенняvalueнаведені у таблиці1.
| Константа | Значення |
Таблиця 2 - Графічні режими
| Константа | Значення | Опис графічного режиму |
| EGALo | 0 | 640x200, 16 кольорів, 4сторінки |
| EGAHi | 1 | 640x350,16 кольорів, 2 сторінки |
| EGA64Lo | 0 | 640x200, 16 кольорів, 1 сторінка |
| EGA64Hi | 1 | 640x350, 4 кольори, 1 сторінка |
| VGALo | 0 | 640x200, 16 кольорів, 4 сторінки |
| VGAMed | 1 | 640x350, 16 кольорів, 2 сторінки |
| VGAHi | 2 | 640х480, 16 кольорів, 1 сторінка |
| VGAHi2 | 3 | 640х480, 2 кольори, 1 сторінка |
Переключення в графічний режим роботи дисплея здійснюється викликом процедуриInitGraphз модуляGraph.
ПроцедураInitGraphініціалізує графічну систему та переводить апаратуру у графічний режим.
Перемикання у графічний режим (ініціалізація графічного режиму) зазвичай супроводжується обробкою можливих помилок ініціалізації. Ці помилки можуть бути пов'язані з відсутністю графічного драйвера або неправильними параметрами. За наявності помилки процедураInitGraphвиробляє відповідний, відмінний від нуля, результат – код помилки. Цей код можна отримати за допомогою функціїGraphResult.
GraphResultТип результату: Цілий (Integer).
Визначено такі коди помилок:
- 1 графіка не встановлена (використовуйте процедуруInitGraph);
- 2 графічна апаратура не знайдено;
- 3 драйвери графічного пристрою не знайдено;
- 4 неправильний файлдрайвера графічного пристрою;
- 5 не вистачає пам'яті для завантаження драйвера;
- 7 вихід за межі пам'яті під час зафарбовування;
- 8 файлів шрифту не знайдено;
- 9 не вистачає пам'яті для завантаження шрифту;
- 10 неприпустимий графічний режим для вибраного драйвера.
1.3 Процедури та функції
При роботі з кольором у режиміVGAінтенсивність основного кольору визначається значенням типуWord. Шістнадцятикольорова палітраVGAнаведена в таблиці (у процедурах можна використовувати як константи кольорів, так і їх коди):