- •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.
- •Література
8.1.2. Системи координат
Верхній лівий кут графічного екрану має координати (0, 0). Значення Х (номера стовпця) збільшується зліва направо. Значення Y (номер рядка) збільшується зверху вниз.
Для графічного адаптера VGA в режимі VGAHI=2 координати екрана для кожного з чотирьох кутів буде виглядати таким чином:
(0, 0) – лівий верхній кут;
(0, 639) – правий верхній кут;
(320, 240) – центр;
(0, 479) – лівий нижній кут;
(639 х 479) – правий нижній кут.
При роботі драйверами у графічному режимі можна використовувати функції, що визначають максимальні значення координат:
Function GetMaxX: Integer – повертає максимальну координату Х для по-точного драйвера в поточному режимі.
Function GetMaxY: Integer – повертає максимальну координату Y для по-точного драйвера в поточному режимі.
Графічна система Turbo Pascal підтримує поточний вказівник, який має ті ж властивості, що і курсор в текстовому екрані, але є невидимим. Для переміщен-ня цього вказівника на графічному екрані використовуються процедури MoveTo(X, Y), MoveRel(Dx, Dy), LineTo(X, Y), LineRel(Dx, Dy):
Процедура MoveTo(X, Y : Integer) – переміщує поточний вказівник коорди-нат в точку вікна з координатами (X, Y). Ця процедура еквівалентна процедурі GotoXY для текстового екрану.
Процедура MoveRel(Dx, Dy : Integer) – переміщує поточний вказівник координат на задане зміщення Dx, Dy.
Процедура LineTo(X, Y : Integer) – проводить лінію з поточної позиції поточного кольору в точку з заданими координатами (X, Y).
Процедура LineRel(Dx, Dy : Integer) – проводить лінію з поточної позиції поточного кольору в точку, зсунуту на зміщення Dx, Dy.
8.1.3. Вибір кольорів в графічному режимі
Перед тим, як почати створювати графічні образи, необхідно очистити екран, задати кольори фону та зображення. Для роботи з кольоровою палітрою в графічному режимі Tutbo Pascal використовуються такі процедури і функції:
ClearDevice – процедура, яка очищує екран.
SetColor(Color: Word) – процедура, яка задає колір пікселів для рисування. Параметр Color задає номер кольру в палітрі.
SetBkColor(Color: Word) – процедура, яка задає колір фону.
GetColor – функція, яка повертає номер кольору в палітрі зображень, який задається процедурою SetColor.
GetBkColor(Цвет) – функція, яка повертає номер кольору для фону в палітрі зоображень, який задається процедурою SetBkColor.
CloseGraph – закриває графічний режим і завантажує текстовой режим.
Константи, які використовуються для завдання кольорів:
Black = 0 – чорний.
Blue = 1 – синій.
Green = 2 – зелений.
Cyan = 3 – голубий.
Red = 4 – червоний.
Magenta = 5 – фіолетовий.
Brown = 6 – коричневий.
LightGray = 7 – світло-сірий.
DarkGray = 8 – темно-сірий.
LightBlue = 9 – світло-синій.
LightGreen = 10 – світло-зелений.
LightCyan = 11 – світло-голубий.
LightRed = 12 – світло-червоний.
LightMagenta = 13 – світло-фіолетовий.
Yellow = 14 – жовтий.
While =14 – білий.
8.1.4. Завдання стилів ліній та заливки контурів
Графічний режим Turbo Pascal підтримує різноманітні засоби для рисування та заповнення фігур, включаючи точку, лінії, кола, дуги еліпси, прямокутники, діаграми, трьохвимірні та секторні діаграми.
Для установлення товщини і стилю (суцільна, пунктирна чи нарисована) лінії використовується процедура:
SetLineStyle(LineStyle:Word; Pattern: Word; Thickness: Word);
Thickness – товщина лінії. Якщо Thickness рівний ThickWidth, то линії будуть товстими, якщо NormWidth, то звичайними.
LineStyle – стиль лінії, який може мати значення:
SolidLn = 0 – звичайна, суцільна.
DotteLn = 1 – пунктирна.
CenterLn = 2 – осьова.
DashedLn = 3 – штрихова.
UseBitLn = 4 – задана користувачем.
Pattern – шаблон лінії – задається лише в тому випадку, якщо LineStyl=UseBitLn.
Подається у вигляді двохбайтового числа, кожен біт якого рівний 1, якщо черговий піксель слід висвітлити, і нуль – у противному випадку.
Процедура:
SetFillStyle(Pattern:Word; Color:Word);
встановлює стиль і колір заливки. Якщо Pattern равно UserFill, то використовується визначений користувачем стиль, описаний процедурою SetFillPattern.
Наведемо значення найчастіше використовуваних параметрів стилю заливки:
EmptyFill = 0 – заповнення кольором фону.
SolifFill = 1 – однорідне заповнення заданим кольором.
LineFill = 2 – штрихування горизонтальними лініям.
LtSlashFill = 3 – штрихування косими лініями.
HatcheFill = 7 – штрихування символом +.
CloseDotFill = 11 – густе штрихування крапками.
Процедура:
SetFillPattern(Pattern:FillPatternType; Color:Word);
встановлює визначений користувачем стиль і колір заливки, де
FillPatternType=Array [1..8] of Byte;
