- •1. Вступ
- •2. Основи мови програмування
- •§ 2.1 Вступ до мови програмування
- •§ 2.2 Алфавіт мови і структура програми
- •§ 2.3 Стандартні типи змінних
- •§ 2.4 Опис констант і змінних
- •§ 2.5 Організація вводу-виводу
- •§ 2.6 Вправи та завдання
- •3. Стандартні операції, процедури та функції
- •§ 3.1 Стандартні математичні операції мови
- •§ 3.2 Стандартні математичні функції
- •§ 3.3 Стандартні операції для роботи з символьною інформацією.
- •§ 3.4 Логічні операції
- •§ 3.5 Вправи та завдання
- •4. Графічна інформація та її обробка на мові Pascal.
- •§ 4.1 Організація відображення графічної інформації
- •§ 4.2 Вправи та завдання
- •5. Поняття розгалуження і вибору.
- •§ 5.1 Структура “якщо... То... Інакше...”
- •§ 5.2 Інструкція If... Then... Else...
- •§ 5.3 Інструкція Case
- •§ 5.4 Організація розгалужень в програмах
- •§ 5.5 Вправи та завдання
- •6. Організація циклів
- •§ 6.1 Цикл з параметром
- •§ 6.2 Цикл з передумовою
- •§ 6.3 Цикл з післяумовою
- •§ 6.4 Який з циклів використовувати?
- •§ 6.5 Приклади використання циклів при розв’язуванні конкретних задач.
- •§ 6.6 Вправи та завдання
- •7. Поняття про процедури та функції
- •§ 7.1 Чи потрібні процедури і функції
- •§ 7.2 Процедури
- •§ 7.3 Функції
- •§ 7.4 Вправи та завдання
- •8. Масиви § 8.1 Поняття масиву
- •§ 8.2 Пошук найбільшого або найменшого елементу масиву
- •§ 8.3 Сортування елементів масиву
- •§ 8.4 Приклади розв’язання задач з використанням масивів
- •§ 8.5 Вправи та завдання
- •9. Робота з літерними та символьними величинами
- •§ 9.1 Основні операції для роботи з літерними величинами
- •§ 9.2 Приклади розв’язування задач з використанням основних операцій для роботи з літерними величинами
- •§ 9.2 Лексикографічний метод генерації перестановок
- •§ 9.4 Вправи та завдання
- •10. Двомірні масиви
- •§ 10.1 Приклади використання двомірних масивів
- •§ 10.2 Вправи та завдання
- •11. Множини, записи, файли § 11.1 Множини
- •§ 11.2 Записи
- •§ 11.3 Файли
- •§ 11.4 Вправи та завдання
- •Побажання тим, хто відчув себе програмістом
- •Додатки Словник деяких зарезервованих слів та основних операцій мови
- •Основні команди оболонки програмування Turbo Pascal 5.5
- •Список рекомендованої літератури
4. Графічна інформація та її обробка на мові Pascal.
Мабуть найбільш цікавим розділом програмування для молоді є саме створення програм, які насичені графікою, анімацією і іншими мультимедійними ефектами. Авторам цієї книги таке програмування також приносить задоволення від результатів праці, але, оскільки метою даної книги є не демонстрація графічних можливостей комп’ютера і мови Паскаль, то ми обмежимось розглядом лише зовсім невеликої частини графічних процедур і функцій, що входять до складу модуля Graph. Ще раз зауважимо, що розгляд буде поверховим і оглядовим, розрахованим на початківця, тому всім зацікавленим особам ми рекомендуємо звернутись до відповідної літератури по технічному опису мови програмування Паскаль. Ті ж читачі, що вже вміють працювати з графікою на Паскалі, можуть просто пропустити даний розділ і переходити до наступного.
Бібліотека підпрограм, що реалізує графічні можливості мови знаходиться у модулі Graph, тому перед використанням графічних процедур бажано перевірити, чи даний модуль є у вашому каталозі з Паскалем. Для доступу до даного модуля там повинен бути розміщений хоча б один з графічних драйверів, наприклад cga.bgi. Якщо ж жодного графічного драйвера у вашому варіанті установки системи програмування немає, то необхідно знайти відповідний драйвер у своїх товаришів, або постачальників програмного забезпечення.
Весь подальший виклад буде в основному орієнтовано на використання графічного адаптера CGA в режимі 320 на 200 точок або EGA (640 х 450). Зроблено це знову ж таки лише з однією метою – зекономити час для того, щоб навчитись програмувати, а не витрачати його на художнє оформлення нескладних програм.
§ 4.1 Організація відображення графічної інформації
Для того, щоб мати можливість створювати графічні зображення на екрані перш за все необхідно знати параметри монітора, або, точніше кажучи, графічного адаптера. Будемо орієнтуватись на те, що режим CGA підтримує кожен монітор, і тому розпочнемо з такої програми, яку рекомендуємо вам просто набрати і виконати:
uses graph;
var gd, gm : integer;
begin
gd := 1; gm := 1;
initgraph(gd,gm,'cga.bgi');
readln;
closegraph;
end.
Ми не випадково не написали ніяких коментарів до цієї програми. Що ж робить дана програма. По великому рахунку нічого, але то тільки на перший погляд. Якщо при виконанні даної програми у вас почорнів екран а після натиснення на клавішу <Enter> відновився попередній вигляд екрану, то це значить, що у наша програма виконала досить солідний об’єм роботи. Розберемо по рядках, що ж такого зробила програма:
uses graph; – підключено графічний модуль
var gd, gm : integer; – зарезервовано пам’ять під дві змінні типу integer
begin – програма почала роботу
gd := 1; gm := 1; – зарезервованим змінним присвоєно по одиниці
initgraph(gd,gm,'cga.bgi'); – підключено драйвер cga.bgi
readln; – дочекались натиснення на клавішу <Enter>
closegraph; – закрили графічний режим і відновили текстовий
end. – попрацювали – можна й відпочити – кінець програми
Ми привели цю програму тільки тому, що у ній зібрано той мінімум команд, які обов’язково потрібно використати для роботи у графічному режимі (за винятком readln яке введено для того, щоб можна було побачити, що програма дійсно візуально щось таки робить, ну хоча б робить темним екран монітора).
Після цього нам залишилось описати декілька основних графічних процедур і показати їх роботу, знову ж таки, на прикладі невеличкої демонстраційної програми.
Ми відійдемо від загально прийнятого способу подання матеріалу і будемо знайомити з основними графічними процедурами прямо в програмі, роблячи необхідні коментарі. Ми розглянемо лише виведення тексту в графічному режимі, та побудову основних графічних примітивів. Одразу відмітимо, що графічна система координат ПЕОМ відрізняється від текстової, спільними у них є лише початок та напрям. Більш детально розберіться з командами графіки самостійно на прикладах програм, що поставляються з середовищем програмування та описані в системі допомоги.
uses graph;
var gd, gm : integer;
begin
gd := 9; gm := 1;
initgraph(gd,gm,'egavga.bgi');
setcolor(4); { встановили колір }
rectangle(0,0,639,349); { намалювали прямокутник }
SetBkColor(0); { колір фону }
SetColor(2); { встановили колір }
Outtextxy(40,20,'Приклад виведення тексту '); { вивели текст }
SetFillStyle(1,10); { стиль заповнення фігур }
Bar(100,100,150,120); { зафарбований стовпчик }
Bar3D(200,100,250,130,10,true); { 3–х мірний паралелепіпед }
Arc(300,110,0,180,20); { дуга – кут проти годинникової стрілки }
Circle(400,110,20); { коло }
Ellipse(500,110,0,360,20,50); { еліпс }
FillEllipse(600,110,20,40); { заповнений еліпс }
SetColor(12); { встановили колір }
line (10,170,630,170); { лінія }
readln;
closegraph;
end.
Для детального вивчення графіки можна було б написати окрему книгу (і не одну!), тому ми на цьому і зупинимось.