- •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.5. Виведення тексту в графічному режимі
Для виведення тексту використовуються дві процедури:
Procedure OutText(TextString: String);
виводить на екран послідовність символів, починаючи з поточної позиції. Поточний колір тексту задається процедурою SetColor. Параметри шрифту – процедурами SetTextStyle та SetTextJustify. Ширину та висоту рядка визначають за допомогою функцій TextWidth, TextHight.
Procedure OutTextXY(X, Y: Integer; TextString: String);
виводить на екран послідовність символів, починаючи з заданих координатою (X, Y). Параметри тексту задаються так само, як і для процедури OutText.
Текст виводиться стилем, що задається процедурою:
Procedure SetTextStyle(Font: Word: Direction: Word; CharSize: Word);
встановлюється поточний тип шрифта, напрямку тексту і розмір символів.
В модулі Graph визначені такі константи для параметру Font:
DefaultFont = 0 – матричний шрифт.
TriplexFont =1 – жирний шрифт.
SmallFont = 2 – тонкий шрифт.
SansSerifFont = 3 – прямий шрифт.
GothicFont = 4 – готичний шрифт.
Для всіх видів шрифтів, крім першого, є відповідні файли Trip.chr, Litt.chr, Sans.chr, Goth.chr. Матричний (або стандартний) шрифт входить до складу модуля Graph, тобто завжди доступний.
Виводити можна коди ASCII від 32 до 127. Для того, щоб використовувати символи з кодами від 128 до 255 треба мати додаткову програму їх підтримки.
Параметр Direct приймає одне із двох значень:
Horizdir = 0 – визначає напрямок виведення тексту зліва направо.
VertDir = 1 – визначає вертикальний напрям виведення тексту.
Останній параметр CharSize регулює розмір відображуваний символів. Це своєрідний коефіцієнт збільшення розміру символу по ширині та висоті. Якщо він рівний 1, символ має розміри 8х8 пікселів, якщо 2 – 16х16 пікселів і т.п. Найбільше значення коефіцієнту – 10.
Спосіб вирівнювання тексту при виведенні його з використанням процедур OutText та OutTextXY задається процедурою:
Procedure SetTextJustify(Horiz, Vert: Word);
Тут Horiz, Vert – параметри вирівнювання по горизонталі і вертикалі, що можуть приймати значення:
LeftText = 0 – ліве вирівнювання.
CenterText = 1 – вирівнювання по центру.
RightText = 2 – праве вирівнювання.
BottomText =3 – нижнє вирівнювання.
TopText = 4 – верхнє вирівнювання.
8.1. 6. Процедури для рисування фігур
Для рисування фігур в модулі Graph використовуються такі процедури:
Procedure PutPixel(X, Y: Integer; Pixel: Word);
Рисує на екрані точку p з координатами (X, Y) кольором Pixel.
Procedure Line(X1, Y1, X2, Y2: Integer);
Рисує на екрані відрізок прямої від точки (X1, Y1) до точки (X2, Y2).
Procedure Rectangle(X1, Y1, X2, Y2: Integer);
Рисує на екрані прямокутник с верхнім лівим кутом в точці (X1, Y1) і нижнім правим кутом в точці (X2, Y2).
Procedure Bar(X1, Y1, X2, Y2: Integer);
Рисує на екрані залитий прямокутник з верхнім лівим кутом в точці (X1, Y1) і нижнім правим кутом в точці (X2, Y2). Стиль і колір заливки задаються процедурою SetFillStyle.
Procedure Bar3D(X1, Y1, X2, Y2: Integer; Depth: Word; Top: Boolean);
Рисує на екрані паралелепіпед с залитою передньою гранню. Глибина фігуры – Depth. Якщо Top рівне TopOn, то паралелепіпед рисується з верхньою гранню, якщо TopOff – то без верхньої грані. Стиль і колір заливки передньої грані зада-ються процедурою SetFillStyle.
Procedure Circle(X, Y: Integer; Radius: Word);
Рисує на екрані коло з центром в точці (X, Y) радіусом Radius.
Procedure Ellipse(X, Y: Integer; StAngle, EndAngle: Word; XRadius, YRadius: Word);
Рисує на екрані еліптичну дугу з центром в точце (X, Y), радіусами XRadius, YRadius. StAngle, EndAngle – початкові і кінцеві кути.
Procedure Arc(X, Y: Integer; StAngle, EndAngle: Word; Radius: Word);
Рисує на екрані дугу кола з центром в точце (X,Y), радіусом Radius. StAngle, EndAngle – початковий і кінцевий кути.
Procedure FillEllipse(X, Y: Integer; XRadius,YRadius: Word);
Рисує на екране залитий еліпс з центром в точці (X, Y), радіусами XRadius, YRadius. Стиль і колір заливки задаються процедурой SetFillStyle.
Procedure Sector(X, Y: Integer; StAngle, EndAngle: Word; XRadius, YRadius: Word);
Рисує на екрані замальований сектор еліпса з центром в точці (X, Y), радіусами XRadius, YRadius. StAngle, EndAngle – початковий і кінцевий кути. Стиль і колір заливки задаються процедурою SetFillStyle.
Procedure PieSlice(X, Y: Integer; StAngle, EndAngle: Word; Radius: Word);
Рисує на екрані замальований сектор круга з центром в точці (X, Y), радіусом Radius. StAngle, EndAngle – початковий і кінцевий кути. Стиль і колір заливки задаються процедурою SetFillStyle.
