
- •Алфавіт мови включає в себе:
- •Лексеми мови. Під лексемами розуміють елементарні конструктивні елементи програми, які є неподільними:
- •Оголошення підпрограм: функцій та процедур. Структурне програмування передбачає побудову програм, яка фактично буде послідовністю звертань до підпрограм.
- •Оператор присвоєння присвоює змінній значення виразу, в якості якого може використовуватися і константа, і змінна, і результат обрахування функції, і група операцій. Оператор має вигляд:
- •Складений оператор. Якщо потрібно деяку групу команд інтерпретувати, їх як одну команду, тобто об’єднати їх в певному контексті, то використовують складені оператори.
- •Оператори вводу-виводу. В мові програмування Turbo Pascal ввід-вивід здійснюється насправді не операторами, а стандартними
- •Оператор розгалуження. В ряді випадків алгоритм розв’язку задачі передбачає розгалуження, тобто можливість виконання декількох різних дій в залежності від значення певної логічної умови.
- •Оператори циклу.
- •Програма знаходження суми чисел 1..10.
- •Програма друкування символів ‘a’..’z’.
- •Програма побудови таблиці істинності для and.
- •Скалярні / прості / стандартні типи даних:
- •Скалярні типи користувача:
- •Наприклад
- •4.Структурокані типи даних:
- •1 Діапазон – одновимірний масив;
- •2 Діапазони – двовимірний ( таблиці, матриці);
- •Наприклад
- •5.Комбіновані структури даних.
- •Варіантна частина у записі може бути лише одна і лише в кінці. Службове слово end є спільним для конструкції record і варіантної частини.
- •Приклади задач з масивами
- •Знайти середнє арифметичне додатніх і від’ємних елементів масиву цілих чисел.
- •Стандартні підпрограми обробки рядків
- •Операції над множинами
- •1. Процедури являють собою дію, тому їх можна використовувати в якості окремого оператора в розділі операторів програми.
- •2. Функції являють собою значення певного типу, крім цього вони можуть використовувати деяку дію, але значення їх є головним. Тому функції використовують як окремі оператори у виразах.
- •Параметри-змінні
- •Без типові параметри
- •Наявність умови зупинки, при якій деякому параметру рекурсії передається деяке значення рекурсії.
- •Чітко визначений алгоритм, при обчисленні кожного вищого рівня рекурсії через попередній рівень.
- •Типізовані.
- •Текстові.
- •Безтипові.
- •Процедура зв’язування певної файлової змінної із конкретним файлом на диску
- •Процедура відкриття файлу для читання
- •Процедура відкривання файлу для запису
- •Процедура закривання файлу
- •Процедура примусового очищення внутрішнього буфера обміну
- •Розглянуті раніше встановлюючи та завершальні підпрограми
- •Процедура читання
- •Процедура запису у файл
- •Функція визначення розміру файла у записі
- •Процедура відсікання хвостової частини файлу
- •Процедура читання з текстового файлу
- •Процедура запису
- •1. Процедура для перейменування файлів
- •2. Процедура видалення файлу
- •Xxxx0 адреса
- •35 Квартира з номером 34 у 13 будинку з номером 12.
- •Файли розміщуються в зовнішній пам'яті, а динамічні структури в оперативній.
- •Типізовані файли фактично є файлами прямого доступу, що означає довільний доступ до елементів. В динамічних структурах доступ до елементів виключно послідовний.
- •Здійснюватиметься рух по дереву до крайнього лівого елемента (найменшого).
- •Це значення друкується.
- •Робиться один крок вправо і послідовність 1-3 повторюється відносно нової поточної вершини.
- •Заголовок.
- •Інтерфейс на частина.
- •Розділ реалізації. В реалізації описуються всі компоненти мови, які мають бути невидимі зовні.
- •Процедури управління виконанням програм
- •Функції перетворення типів
- •Процедури і функції для змінних порядкового типу
- •Математичні функції
- •Процедури та функції роботи з рядками
- •Процедури та функції управління динамічною пам’яттю
- •Функції роботи з вказівниками і адресні функції
- •Процедури вводу-виводу і роботи з файлами і каталогами
- •Інші процедури і функції
- •Змінні та константи модуля
- •Змінні модуля crt
- •Процедури і функції модуля crt
- •Перепризначення файлів вводу-виводу
- •Процедури роботи з екраном
- •Процедури і функції управління курсором
- •Процедури роботи з рядками
- •Функції допиту клавіатури
- •Процедури управління кольором
- •Процедури управління вбудованим динаміком і таймером
- •Використання клавіш редагування рядків
- •Використання командних символі
- •Типи драйверів
- •Типи шрифтів
- •Ініціалізація графіки класифікація типів драйверів і відео режимів
- •Ініціалізація і завершення відеорежиму
- •Обробка помилок ініціалізації
- •Процедури роботи з відеорежимами
- •Переключення між текстовим і графічним режимами
- •Побудова зображень на екрані система координат
- •Управління поточним вказівником
- •Графічні вікна
- •Відображення точки на екрані
- •Відображення відрізків прямих ліній
- •Побудова прямокутників
- •Побудова многокутників
- •Побудова дуг, еліпсів і кіл
- •Робота з текстом
- •Відображення рядків
- •Відображення числової інформації
- •Управління параметрами зображення встановлення кольору
- •Встановлення палітри
- •Функції управління операційним середовищем
- •Процедури управління процесами
- •Процедури обслуговування переривань
- •Програми, резидентні в пам'яті
- •Процедури роботи з датою і часом
- •Процедури і функції перевірки стану диску
- •Процедури і функції роботи з файлами
- •Інші процедури і функції
- •Поля даних оголошуються на початку, а методи після них.
- •При оголошенні методів у структурі задаються лише заголовок відповідної підпрограми (подібно до інтерфейсу в модулях).
- •Окремі методи можуть використовувати інші методи цього ж об’єкта, тому вони повинні бути оголошенні в певному порядку.
- •Ini; {ініціалізація графіки}
- •Віртуальним варто оголошувати лише той метод, який:
- •Постановки задачі;
- •Наявними програмними ресурсами;
- •Вимогами по швидкодії, використанням ресурсів еом.
Типи драйверів
В представленій нижче таблиці приведені типи графічних адаптерів і назви сумісних з ними драйверів
Драйвер |
апаратне забезпечення |
CGA. BGI |
адаптери CGA, MCGA |
EGAVGA.BGI |
адаптери EGA, VGA |
HERC.BGI |
монохромний адаптер Hercules |
ATT.BGI |
AT&T 6300 (400 рядків) |
PC3270.BGI |
IBM 3270 PC |
IBM8514.BGI |
IBM 8514 |
Драйвери представляють собою файли з розширенням .BGI, які забезпечують взаємодію програм з графічними пристроями (згідно стандартам фірми Borland, розширення .BGI повинні мати файли графічного інтерфейсу ( Borland Graphic Interface). При ініціалізації визначеного графічного режиму підключається відповідний драйвер. Для забезпечення роботи програми в одному з графічних режимів процедура InitGraph визначає тип адаптера і завантажує відповідний BGI-файл. Процедура CloseGraph слугує для видалення графічного драйвера з пам'яті і відновлення текстового режиму роботи відеоадаптера.
При роботі з графікою в Turbo Pascal є можливість підключати не тільки стандартні, але і драйвери користувача. Останні повинні задовольняти стандарти Borland International. В модулі Graph знаходиться процедура RegisterBGIDriver, яка забезпечує підтримку роботи з драйверами користувача.
Типи шрифтів
При відображенні тексту на екран дисплея в графічних режимах можуть застосовуватися найрізноманітніші шрифти – як стандартні, так і користувача. По замовчуванню після ініціалізації графічного режиму встановлюється шрифт DefaultFont. Для формування кожного символу шрифту використовується матриця розміром 8х8 бітів.
Шрифт |
Файл |
TriplexFont |
TRIP.CHR |
SmallFont |
LITT.CHR |
SansSerifFont |
SANS.CHR |
GothicFont |
GOTH.CHR |
Стандартний набір шрифтів включає шрифти, приведені в таблиці. Кожному шрифту відповідає файл з розширенням .CHR. активізація потрібного шрифту здійснюється спеціальною процедурою. Висота і ширина символів кожного шрифту може змінюватися за допомогою спеціальних засобів.
Ініціалізація графіки класифікація типів драйверів і відео режимів
Перед початком роботи з графікою необхідно встановити найбільш підходящий для даного монітора відеорежим. В комплект поставки Turbo Pascal входить обмежене число драйверів, кожний з яких може підтримувати один чи декілька відеорежимів. Тип драйвера і режим можуть бути задані у вигляді числа чи символьної константи.
Нижче приведений список констант для задання типу графічного адаптера. Ці константи визначенні в модулі Graph.
Detect |
=0 |
автовизначник |
CGA |
=1 |
адаптер CGA |
MCGA |
=2 |
адаптер MCGA |
EGA |
=3 |
адаптер EGA 256K |
EGA64 |
=4 |
адаптер EGA 64K |
EGAMono |
=5 |
EGA з монохромним дисплеєм |
IBM8514 |
=6 |
адаптер 8514 |
HercMono |
=7 |
адаптер Hercules |
ATT400 |
=8 |
для ПК AT&T |
VGA |
=9 |
адаптер VGA |
PC3270 |
=10 |
адаптер 3270 |
CurrendDriver |
=-128 |
для GetModeRange |
Наступна таблиця містить перелік можливих графічних режимів для різноманітних типів відеоадаптерів.
драйвер |
ім'я константи режиму і її значення |
розширення екрану (в точках) |
палітра |
число відеосторінок |
CGA |
CGAC0=0 CGAC1=1 CGAC2=2 CGAC3=3 CGAHi=4 |
320x200 320x200 320x200 320x200 640x200 |
4 кольори 4 кольори 4 кольори 4 кольори 2 кольори |
1 1 1 1 1 |
MCGA |
MCGAC0=0 MCGAC1=1 MCGAC2=2 MCGAC3=3 MCGAMed=4 MCGHi=5 |
320x200 320x200 320x200 320x200 640x200 640x480 |
4 кольори 4 кольори 4 кольори 4 кольори 2 кольори 2 кольори |
1 1 1 1 1 1 |
EGA |
EGALo=0 EGAHi=1 |
640x200 640x350 |
16 кольорів 16 кольорів |
4 2 |
EGA64 |
EGA64Lo=0 EGAHi=1 |
640x200 640x350 |
16 кольорів 4 кольори |
1 1 |
EGAMono |
EGAMonoHi=3 |
640x350 |
2 кольори |
1 (2) |
HERC |
HercMonoHi=0 |
720x348 |
2 кольори |
2 |
ATT400 |
ATT400C0=0 ATT400C1=1 ATT4002=2 ATT400C3=3 ATT400Med=4 ATT400Hi=5 |
320x200 320x200 320x200 320x200 640x200 640x400 |
4 кольори 4 кольори 4 кольори 4 кольори 2 кольори 2 кольори |
1 1 1 1 1 1 |
VGA |
VGALo=0 VGAMed=1 VGAHi=2 |
640x200 640x350 640x480 |
16 кольорів 16 кольорів 16 кольорів |
4 2 1 |
PC3270 |
PC3270Hi=0 |
720x350 |
2 кольори |
1 |
IBM8514 |
IBM8514Lo=0 IBM8514Hi=1 |
640x480 1024x768 |
256 кольори 256 кольори |
1 1 |