- •Історична довідка
- •Характеристика й особливості мови
- •Алфавіт мови
- •Службові (зарезервовані) слова.
- •Структура програми мови Turbo Pascal
- •Розділ оголошень і угод
- •Розділ текстів процедур і функцій
- •Розділ основного блоку програми
- •Процедури введення-виведення. Деякі вбудовані функції Турбо-Паскаля.
- •Функції числових параметрів.
- •Базові управляючі конструкції Турбо-Паскаля Оператори умовного переходу.
- •1. Оператор if.
- •2. Оператор вибору (case)
- •Оператори циклів у Паскалі
- •1. Цикл із післяумовою (Repeat)
- •2. Цикл із предумовою (While)
- •3. Цикл із лічильником або параметром (For)
- •Концепція типів даних. Типи даних в мові Pascal
- •Дійсні типи
- •Бульовий (логічний) тип
- •Символьні і рядкові змінні
- •1. Символьний тип
- •2. Рядковий тип
- •Перерахований та обмежений типи
- •1. Перерахований тип
- •2. Обмежений тип
- •1. Поняття масиву. Одномірні масиви
- •2. Багатомірні масиви
- •3. Сортування і пошук
- •Множинний тип
- •Тип запис
- •Процедури і функції
- •Формальні і фактичні параметри. Механізм параметрів
- •Параметри - значення
- •Параметри-змінні
- •Безтипові параметри
- •Приведення типів.
- •Процедурні типи
- •Рекурсія Рекурсивні визначення
- •Рекурсивні підпрограми
- •Алгоритми з поверненням. Розв’язок задачі про рух коня
- •Алгоритми з поверненням. Розв’язок задачі про вісьмох ферзів
- •If підходить тнеn
- •Модулі в Турбо Паскалі
- •Модуль crt
- •1. Керування екраном
- •2. Робота з клавіатурою
- •3. Інші можливості
- •Графіка в Турбо Паскалі
- •1. Включення і вимикання графічного режиму.
- •2. Побудова елементарних зображень
- •3. Виведення текстової інформації.
- •Файли в мові програмування Pascal
- •Установчі і завершальні операції
- •Операції введення-виведення
- •Обробка помилок введення-виведення
- •Переміщення по файлу
- •Спеціальні операції
- •Текстові файли
- •1. Оголошення файлової змінної і прив'язка до файлу на диску
- •2. Читання даних з файлу
- •3. Запис даних у файл
- •Двійкові файли
- •1. Типізовані файли
- •2. Нетипізовані файли
- •Статичні і динамічні змінні
- •Покажчики
- •Стан покажчика
- •Установка розмірів динамічної пам'яті
- •Сумісність і перетворення посилкових типів
- •Динамічні структури даних
- •Динамічні змінні: інші види списків, стек і черга.
- •1. Інші види списків
- •2. Стек і черга
- •Дерева і пошук у деревах
- •1. Визначення й описи структур даних
- •1. Масив
- •2. Список
- •3. Дерево
- •2. Алгоритми
- •1. Лінійний пошук у масиві
- •2. Двійковий пошук
- •3. Лінійний пошук у списку
- •Змішані таблиці
- •Об’єктно-орієнтоване програмування. Що таке об’єктно-орієнтоване програмування
- •Інкапсуляція
- •Спадкування
- •Віртуальні методи і поліморфізм
- •Конструктори, динамічні об'єкти і деструктори
- •Поля і методи: сховані і загальнодоступні
- •Системно- залежні розширення
- •Налагодження змінних
- •Оверлеї
- •Переривання і системні виклики
- •Доступ до пам'яті і портів
- •Перевизначення переривань
3. Інші можливості
При необхідності організації затримку у програмі можна використовувати процедуру Delay(time: word). Параметр time — час у мілісекундах, на який потрібно призупинити програму.
Ще одна можливість модуля CRT — робота із системним динаміком. Для включення звуку потрібна процедура Sound(f: word) (f — частота в герцах). Після включення потрібна затримка (Delay) на необхідний час звучання, потім — вимикання за допомогою NoSound. Якщо не скористатися NoSound, то звук буде чутний навіть після виходу з програми на Паскалі.
Графіка в Турбо Паскалі
На відміну від уже знайомого текстового режиму, екран у графічному режимі розбитий на велику кількість точок, кожна з який може мати визначений колір. точки вважаються однаковими і прямокутними, усі вони щільно «покладені» на екрані, тобто для будь-якої точки можна вказати, у якому рядку й у якому стовпці вона знаходиться. Номера рядків і стовпців у графічному режимі використовуються як координати точки, отже, координати завжди цілочисельні. У графічному режимі початок координат знаходиться в лівому верхньому куті екрана, вісь x спрямована вправо, вісь y спрямована вниз.
Помітимо, що існують різні графічні режими, вони відрізняються кількістю точок по горизонталі і вертикалі (роздільною здатністю), а також кількістю можливих кольорів, наприклад: 320x200x16, 640x480x16, 640x200x16, 800x600x256 і т.п.
Усі засоби для роботи з графікою міститися в стандартному модулі Graph, тому його потрібно вказати після слова uses.
1. Включення і вимикання графічного режиму.
Для включення графічного режиму використовується процедура InitGraph(driver,mode,path) опишемо призначення її параметрів:
driver – змінна типу integer, у якій задається тип відеоадаптера, встановленого в комп'ютері. У модулі визначені константи для різних адаптерів, що звільняють нас від необхідності запам'ятовувати числа. Маються такі константи: CGA, EGA, EGA64, EGAMono, VGA, MCGA, IBM8514 і т.п. Для нас найбільш важливої буде константа detect, при вказівці якої InitGraph сама підшукає найбільш потужний тип адаптера, сумісний з тим адаптером, що встановлений на комп'ютері.
mode – також змінна типу integer, задає режим, у якому працює обраний відеоадаптер (тут також визначені константи). Майже кожен відеоадаптер може працювати в декількох режимах, наприклад, у VGA є 640x200x16 (VGALo), 640x350x16 (VGAMed), 640x480x16 (VGAHi). Якщо в першому параметрі було зазначене значення detect, то InitGraph не звертає уваги на mode, а встановлює найкращий, на її погляд, режим.
path – строковий параметр. Для кожного відеоадаптера (чи для групи подібних відеоадаптерів) існує програма-драйвер, за допомогою якої модуль Graph спілкується з відеоадаптером. Такі драйвери зберігаються у файлах з розширенням «bgi». У параметрі path указується каталог, у якому зберігаються драйвери. Якщо вони знаходяться в поточному каталозі, то цей параметр дорівнює порожньому рядку.
Звичайно для включення графіки ми будемо використовувати InitGraph у такому виді:
const gpath = ‘Y:\WIN_APPS\BP\BGI’
var gd,gm: integer;
...
begin
...
gd:=Detect;
InitGraph(gd,gm,gpath);
...
Для завершення роботи з графікою і виходу в текстовий режим використовується процедура CloseGraph.