- •2.1. Теоретичні відомості 20
- •Передмова
- •Лабораторна робота № 1
- •1.1. Теоретичні відомості
- •1.1.1. Система вiкон середовища
- •1.1.1.1. Вікна редагування
- •1.1.1.2. Вікна діалогу
- •1.1.1.3. Інформаційні вікна
- •1.1.1.4. Вікна меню
- •1.1.1.5. Робота з меню
- •1.1.1.5.1. Меню роботи з файлами (File)
- •1.1.1.5.2. Меню редагування (Edit)
- •1.1.1.5.3. Меню пошуку інформації (Search)
- •1.1.1.5.4. Меню виконання програми (Run)
- •1.1.1.5.5. Меню компіляції (Compile)
- •1.1.1.5.6. Меню відлагодження (Debug)
- •1.1.1.5.7. Меню вiкон (Window).
- •1.1.1.5.8. Меню інформаційної допомоги (Help)
- •1.1.1.5.9. Локальне меню.
- •1.1.2. Основні прийоми роботи в середовищі
- •1.2. Завдання
- •1.3. Контрольні запитання з теми
- •Лабораторна робота № 2
- •2.1. Теоретичні відомості
- •2.1.1. Загальна структура Pascal-програми
- •2.1.1.1. Заголовок програми
- •2.1.1.2. Описова частина Pascal-програми
- •2.1.1.2.1. Розділ позначок (міток)
- •2.1.1.2.2. Розділ констант
- •2.1.1.2.3. Розділ типів
- •2.1.1.2.3.1. Цілочисельний тип
- •2.1.1.2.3.2. Дійсний тип
- •2.1.1.2.4. Розділ опису змінних
- •2.1.2. Арифметичнi вирази та операцiї
- •2.1.2.1. Арифметичні функції
- •2.1.2.2. Скалярні функції
- •2.1.2.3. Арифметичні операції мови Pascal
- •2.1.2.4. Правила запису арифметичного виразу
- •2.1.3. Простi оператори
- •2.1.3.1. Оператор присвоєння
- •2.1.3.2. Пустий оператор
- •2.1.4. Введення та виведення в Pascal
- •2.1.4.1. Процедури введення
- •2.1.4.2. Процедури виведення
- •2.4.3. Формати оператора виведення
- •2.2. Завдання
- •2.3. Контрольні запитання з теми
- •3.1.3. Перелічувальний тип
- •3.1.4. Вирази та операцiї вiдношення
- •3.1.5. Логiчнi вирази та операції
- •3.1.6. Структуровані оператори
- •3.1.6.1. Складений оператор
- •3.1.6.2. Умовні оператори
- •3.2. Завдання
- •3.3. Контрольні запитання з теми
- •Лабораторна робота № 4
- •4.1. Теоретичні відомості
- •4.1.1. Iнтервальний тип
- •4.1.2. Масив (регулярний тип)
- •4.1.3. Оператори повтору
- •4.1.4. Використання стандартний процедур Break і Continue в операторах циклів repeat, while та for
- •4.2. Завдання
- •4.3. Контрольні запитання з теми
- •Лабораторна робота № 5
- •5.1. Теоретичні відомості
- •5.1.1. Стрінговий тип (тип літерний рядок)
- •5.1.2. Стрінгові вирази
- •5.2. Завдання
- •5.3. Контрольні запитання з теми
- •Лабораторна робота № 6
- •6.1. Теоретичні відомості
- •6.1.1. Операції з даними перелічувального типу
- •6.1.2. Завдання
- •6.2.1. Множини
- •6.2.1.1. Операції з множинами
- •6.2.2. Завдання
- •6.2. Контрольні запитання з теми
- •Лабораторна робота № 7
- •7.1. Теоретичні відомості
- •7.1.1. Записи з варiантами
- •7.2. Завдання
- •7.3. Контрольні запитання з теми
- •Лабораторна робота № 8
- •8.1. Теоретичні відомості
- •8.1.1. Ініціалізація графічного режиму
- •8.1.2. Системи координат
- •8.1.3. Вибір кольорів в графічному режимі
- •8.1.4. Завдання стилів ліній та заливки контурів
- •8.1.5. Виведення тексту в графічному режимі
- •8.1. 6. Процедури для рисування фігур
- •8.2. Завдання
- •8.3. Контрольні запитання з теми
- •Лабораторна робота № 9
- •9.1. Теоретичні відомості
- •9.1.1. Процедури користувача
- •9.1.2. Функцii користувача
- •9.1.3. Параметри
- •9.1.4. Рекурсивні підпрограми
- •9.1.5. Область дії ідентифікаторів
- •9.2. Завдання
- •9.3. Контрольні запитання з теми
- •Лабораторна робота № 10
- •10.1. Теоретичні відомості
- •10.1.1. Стандартні процедури для текстових файлів
- •10.1.2. Функції для роботи з текстовими файлами
- •10.1.3. Приклад обробки інформації в текстових файлах
- •10.2. Завдання
- •10.3. Контрольні запитання з теми
- •Лабораторна робота № 11
- •11.1. Теоретичні відомості
- •11.1.1. Стандартні процедури обробки файлів з типом
- •11.1.2. Стандартні функції обробки файлів з типом
- •11.1.3. Приклад обробки інформації в файлах з типом
- •11.2. Завдання
- •11.3. Контрольні запитання з теми
- •Додаток 1 Повідомлення про помилки Повідомлення про помилки періоду компіляції
- •Повідомлення про помилки, що виникають під час виконання програми
- •Помилки, що виявляються dos
- •Помилки введення - виведення
- •Критичні помилки
- •Фатальні помилки
- •Додаток 2 Методичні вказівки до виконання лабораторних робіт та написання звітів
- •Додаток 3 Зразок виконання звіту до лабораторної роботи Лабораторна робота № 7.
- •Література
7.3. Контрольні запитання з теми
Що розуміють під записом у мові Turbo Pascal ? Наведіть приклад запису.
Чим відрізняється запис від масиву ?
Як описати тип запис ? Наведіть приклад.
Як здійснюється доступ до полів запису ? Наведіть приклади.
Які дії можна виконувати над записом в цілому ?
Які дії можна виконувати над полями запису ?
Чи всі поля запису повинні бути різних типів?
Яке призначення оператора приєднання ?
Як описати запис з варіантною частиною ? Наведіть приклад.
Перерахуйте способи, як можна ввести інформацію у змінну типу запис.
Лабораторна робота № 8
Тема:
Графічні операції.
Мета:
Навчитись складати програми з використанням графічних операцій.
8.1. Теоретичні відомості
Для роботи в графічному режимі Pascal, фірма Borland створила спеціальний модуль Graph, який реалізує бібліотеку підпрограм графічних процедур та функцій самого широкого профілю. Розглянемо коротко основні підпрограми цього модуля.
8.1.1. Ініціалізація графічного режиму
Для використання бібліотеки графічних підпрограм, до програми необхідно підключити модуль Graph за допомогою директиви Uses Graph.
Графічні режими роботи комп‘ютера залежать від типу відіоадаптера, який встановлено. Основні характеристики найбільш розповсюджених адаптерів подано в таблиці 8:
Таблиця 8
Назва |
Режим |
Розмір екрану (в піксилях) |
Кількість Кольорів |
Кількість відеосторінок |
CGA |
CGAC3=3 CGAHI=4 |
320 х 200 640 х 200 |
4 2 |
1 1 |
EGA |
EGALO=0 EGAHI=1 |
640 х 200 640 х 350 |
16 16 |
4 2 |
VGA |
VGALO=0 VGAMED=1 VGAHI=2 |
640 х 200 640 х 350 640 х 480 |
16 16 16 |
4 2 1 |
IBM8514 |
IBM8514=1 |
1024 х 768 |
256 |
1 |
Для ініціалізації графічного режиму, тобто для завдання його основних характеристик, використрвується процедура:
InitGraph( <ім‘я драйвера>, <режим>, <шлях до драйвера>);
Для першого параметра в модулі Graph визначаються такі константи:
Direct = 0;
CGA = 1;
EGA = 3;
IBM8514 = 6;
VGA = 9.
При цьому можна вживати або ім‘я константи, або відповідне число. В першому випадку, коли тип адаптера невідомий, або програма використовується на різних комп‘ютерах, на місці першого параметра задають Direct.
Параметр <Режим> вибирається з таблиці, наприклад VGAHI або число 2.
На місці третього параметра треба вказати шлях до каталогу, де зберігається відповідний драйвер підтримки вибраного режиму.
Приклад:
InitGraph(VGA, 2, ‘D:\PAS\BGI’); Якщо ініціалізація пройде успішно, можна планувати зображення на екрані з розрахунку 640 х 480 пікселів.
InitGraph(Detect, Regim, ‘’); Після тестування буде визначено тип адаптеру і вибрано режим, який задекларовано найбільшою цифрою. Так, якщо буде виявлено адаптер EGA, то для нього вибрано режим EGAH=1, тобто 640 х 350 пікселів. Тут на місці третього параметра вказано пустий рядок, який означає, що відповідний драйвер повинен розміщуватися в поточному каталозі.
В розгляненому прикладі на місці третього параметра вказано пустий рядок, це значить, що відповідний драйвер повинен розміщуватися у каталозі разом з компілятором Turbo Pascal, інакше виникне помилка. Драйвери зберігаються у файлах з розширенням .bgi (cga.bgi, egavga.bgi та інші).
Рекомердується завжди перевіряти результат роботи процедури InitGraph, для чого використовується функція GraphResult. Якщо вона повертає значення 0, значить ініціалазація пройшла успішно, інакше виявлено помилку.
Інша функція GraphErrorMsg повертає код помилки.
Приклад:
Типова ініціалізація:
Var Driver, Reg, Error: Integer;
Begin
Driver:=Detect;
InitGraph(Driver, Reg, ‘’);
Error:=GraphResult;
If Error<.0 then begin
Writeln(GraphErrorMsg(Error));
Halt;
end
else … { продовжувати працювати в графічному режимі.}
End.
Якщо, наприклад, з’явився код помилки, рівний числу 8, значить не знайдено графічного драйверу.
Після завершення роботи в графічному режимі, його закривають процедурою CloseGraph.
