
- •Базовий курс програмування у середовищі Turbo Pascal Методичні вказівки
- •Базовий курс програмування у середовищі Turbo Pascal Методичні вказівки
- •Практична робота №1
- •Організація вводу та виводу даних
- •Мета роботи: ознайомитись з конструкціями мови Turbo Pascal, структурою програм, стандартними типами даних і процедурами вводу та виводу.
- •Теоретичні відомості
- •1 Особливості мови Turbo Pascal
- •1.1 Спеціальні символи
- •1.2 Зарезервовані (ключові) слова
- •1.3 Ідентифікатори
- •1.5 Числа
- •1.6Рядки
- •1.7 Коментарі
- •2 Структура програми
- •Індивідуальні завдання
- •Контрольні питання
- •Практична робота №2
- •Логічні та циклічні структури
- •Теоретичні відомості
- •1 Логічні структури
- •1.1 Команда розгалуження if (умовна команда)
- •1.2 Команда goto
- •1.3 Команда вибору (сase)
- •2 Циклічні структури
- •2.1 Команда циклу з параметром (for)
- •2.2 Команда циклу з передумовою (while)
- •2.3 Команда циклу з постумовою (repeat)
- •2.4 Порівняння роботи команд циклу while, repeat та for
- •Індивідуальні завдання
- •Контрольні питання
- •Практична робота №3
- •Одновимірні масиви. Сортування
- •Мета роботи: ознайомитись з поняттям одновимірних масивів та діями над ними, навчитися застосовувати різні методи сортування для розв’язку математичних і технічних задач.
- •Теоретичні відомості
- •1 Одновимірні масиви
- •1.1 Додавання елементів масиву
- •1.2 Лічильник
- •1.3 Екстремуми
- •2 Методи сортування
- •2.1 Метод лінійного сортування
- •2.2 Сортування методом «бульбашки»
- •Індивідуальні завдання
- •Контрольні питання
- •Практична робота №4
- •Багатовимірні масиви
- •Мета роботи: вивчити технологію роботи з багатовимірними масивами.
- •Теоретичні відомості
- •1 Опис багатовимірних масивів
- •2 Доступ до елементів масивів
- •3 Масиви ідентичного типу
- •4 Головна та побічна діагоналі
- •6 Ввід матриці
- •7 Виведення матриці
- •Індивідуальні завдання
- •Контрольні питання
- •Практична робота №5
- •Підпрограми
- •Мета роботи: ознайомитись з правилами використання підпрограм, вивчити відмінності між процедурами та функціями.
- •Теоретичні відомості
- •1 Процедури та функції
- •1.1 Опис процедури
- •1.2 Опис функції
- •1.3 Формальні та фактичні параметри
- •1.3.1 Передача параметрів у підпрограмах
- •1.3.2 Виклик підпрограм
- •1.4 Глобальні та локальні змінні
- •1.5 Основні відмінності між функціями і процедурами
- •2 Рекурсивні функції
- •Індивідуальні завдання
- •Контрольні питання
- •Практична робота №6
- •Символьні та рядкові змінні
- •Мета роботи: ознайомитись з прийомами роботи із символьними та рядковими змінними.
- •Теоретичні відомості
- •1 Символьні змінні
- •2 Множини
- •3 Рядкові змінні
- •3.1 Оголошення рядкових змінних
- •3.2 Доступ до окремих елементів рядка
- •3.3 Зміна поточної довжини рядка
- •3.4 Злиття рядків
- •3.5 Порівняння рядків
- •3.6 Порожній рядок
- •3.7 Рядки і символи
- •3.8 Масиви символів і рядка
- •3.9 Стандартні підпрограми для обробки рядків.
- •Індивідуальні завдання
- •Контрольні питання
- •Практична робота №7
- •Записи. Записи з варіантами
- •Мета роботи: навчитись створювати прості бази даних за допомогою записів та записів з варіантами.
- •Теоретичні відомості
- •1 Записи
- •2 Записи з варіантами.
- •Індивідуальні завдання
- •Контрольні питання
- •Практична робота №8
- •Файли: текстові, типізовані, нетипізовані
- •Мета роботи: ознайомитись з випадками використання файлів, типами файлів та методами обробки елементів файлів.
- •Теоретичні відомості
- •1 Текстові файли
- •2 Типізовані файли. Мітки
- •3 Нетипізовані файли
- •Приклад 4:
- •Приклад 5:
- •Індивідуальні завдання
- •Контрольні питання
- •Практична робота №9
- •Мета роботи: вивчити структуру та особливості роботи з модулями в Turbo Pascal.
- •Теоретичні відомості
- •1 Структура модуля
- •1.1 Заголовок модуля
- •1.2 Інтерфейс модуля
- •1.3 Виконавча частина модуля
- •1.4 Розділ ініціалізації.
- •2 Етапи розробки модуля
- •Індивідуальні завдання
- •Контрольні питання
- •Практична робота №10
- •Графіка
- •Мета роботи: ознайомитись з принципами побудови графіків функцій та інших графічних об’єктів за допомогою засобів TurboPascal.
- •Теоретичні відомості
- •1 Основні процедури і функції модуля Graph
- •2 Робота із зображеннями.
- •3 Побудова і масштабування графіків
- •Індивідуальні завдання
- •Контрольні питання
- •1 Дані динамічної структури
- •2 Вказівник
- •3 Списки
- •4 Стек. Черга
- •4.1 Алгоритм побудови стека
- •4.2 Алгоритм побудови черги
- •Індивідуальні завдання
- •Контрольні питання
- •Практична робота №12
- •Об’єктно-орієнтоване програмування
- •Мета роботи: засвоїти матеріал щодо можливостей TurboPascal при створенні об’єктів.
- •Теоретичні відомості
- •1 Поняття «об'єкт»
- •2 Спадкування
- •Індивідуальні завдання
- •Контрольні питання
- •Список літератури
- •Зразок оформлення результатів виконання практичного завдання
2 Робота із зображеннями.
Палітрою називається впорядкований набір кольорів, доступних в даному графічному режимі.
Процедура SetColor – встановлює поточний колір, взятий з палітри.
Загальний вигляд:
SetColor(color);
color має тип word.
Приклад:
...
SetColor(2);
...
SetColor(red);
...
Таблиця кольорів:
0→Black→чорний |
1→Blue→синій |
2→Green→зелений |
3→Cyan→бірюзовий |
4→Red→червоний |
5→Magenta→фіолетовий |
6→Brown→коричневий |
7→Light→Grayсвітло-сірий |
8→DarkGray→темно-сірий |
9→Light→Blueсвітло-синій |
10→LightGreen→світло-зелений |
11→LightCyan→світло-бірюзовий |
12→LightRed→світло-червоний |
13→LightMagenta→світло-фіолетовий |
14→Yellow→жовтий |
15→White→білий |
128→Blink→мерехтіння |
|
Функція GetColor – повертає код поточного кольору – значення типу word.
Приклад:
...
var I:word;
...
I:=GetColor;
...
Функція GetMaxColor – повертає найбільший код кольору, значення типу word, який може бути переданий процедурі SetColor як параметр.
Процедура SetBkColor – встановлює колір фону з палітри. Встановлюється для всього екрану.
Загальний вигляд:
SetBkColor(Color);
color – значення типу word – новий колір фону.
Приклад:
SetBkColor(red);
або
SetBkColor(4);
Функція GetBkColor – повертає значення типу word – код фону, що використовується.
Процедура SetRGBPalette – змінює компоненти палітри при використанні драйверів VGA і IBM 8514.
Загальний вигляд:
SetRGBPalette(colnum,redval,greenval,blueval);
colnum – код кольору з палітри.
redval, greenval, blueval – визначають інтенсивність відповідно червоної, зеленої і синьої складових для кольору з номером colnum.
Colnum, redval, greenval, blueval – значення типу integer.
Для драйвера IBM 8514 colnum може змінюватися в межах від 0 до 255, для VGA від 0 до 15.
Процедура SetFillStyle – визначає шаблон і колір заповнення.
Загальний вигляд:
SetFillStyle(pattern,color);
pattern – шаблон заповнення.
color – колір заповнення.
Шаблони заповнення:
Константа |
Код |
Заповнення |
EmptyFill |
0 |
Суцільне заповнення кольором фону(без узору) |
SolidFill |
1 |
Суцільне заповнення поточним кольором, який встановлюється процедурою SetColor |
LineFill |
2 |
|
LtSlashFill |
3 |
|
SlashFill |
4 |
|
BkSlashFill |
5 |
|
LtBkSlashFill |
6 |
|
HatchFill |
7 |
|
XhatchFill |
8 |
|
InterleaveFill |
9 |
|
WideDotFill |
10 |
|
CloseDotFill |
11 |
|
UserFill |
12 |
Шаблон заповнення, визначений користувачем |
За замовчуванням використовуються константа SolidFill і колір з максимальним номером з поточної палітри. Шаблон і колір, визначений процедурою SetFillStyle, застосовуються всіма процедурами і функціями, в яких використовується операція заповнення.
Функції GetX і GetY – повертають координати по горизонталі (Х) і вертикалі (Y) вказівника поточної позиції. Координати GetX і GetY відлічуються від лівого верхнього кута екрану (активного вікна), починаючи з нуля.
Приклад:
...
var x,y:integer;
...
x:=GetX;
y:=GetY;
...
Функції GetMaxX і GetMaxY – повертають поточні значення (типу integer) роздільної здатності, тобто кількість крапок (пікселів) по осях Х і Y, ці значення залежать від вибраного драйвера і роздільної здатності.
Процедура MoveTo – переміщає вказівник поточної позиції в точку із заданими координатами.
Загальний вигляд:
MoveTo(x,y);
x і y – координати точки на екрані, куди буде переміщено вказівник.
Приклад:
...
MoveTo(10,30);
...
Процедура MoveRel – переміщає вказівник на задану відстань, яка визначається приростом координат Х і Y, щодо його поточного місцеположення.
Загальний вигляд:
MoveRel(Dx,Dy);
Приклад: нехай вказівник знаходиться в точці (10,44).
...
MoveRel(5,8); {перенесе вказівник в точку (15,52)}
...
MoveRel(-10,-2); {перенесе вказівник з точки (15,52) в точку (5,50)}
...
Процедура Line – відображає пряму лінію між двома точками, координати яких задані як параметри.
Загальний вигляд:
Line(x1,y1,x2,y2);
x1, x2, y1, y2 мають тип integer.
Приклад:
var x1,x2,y1,y2:integer;
...
Line(0,0,50,67);
...
x1:=56;y1:=78;x2:=1,y2:=100;
Line(x1,y1,x2,y2);
...
Процедура LineTo – проводить пряму від поточного положення вказівника до точки заданої координатами.
Загальний вигляд:
LineTo(X,Y);
X та Y – координати точки.
Процедура LineRel – відображає пряму від поточної позиції і до точки, координати якої одержані приростом по Х і Y.
Загальний вигляд:
LineRel(Dx,Dy);
Dx, Dy – прирости по Х і Y, мають тип integer.
Приклад: нехай вказівник знаходиться в точці (45,17).
...
LineRel(40,40);{проведе пряму від точки з координатами (45,17)
до крапки з координатами (85,57)}
...
Функція GetPixel – повертає значення типу word, відповідне кольору пікселя, координати якого (X,Y).
Загальний вигляд:
GetPixel(X,Y);
Приклад:
...
var I:word;
...
I:=GetPixel(45,45);
...
Процедура PutPixel – відображає точку в заданій позиції і заданим кольором.
Загальний вигляд:
PutPixel(x,y,color);
X, Y – координати точки (типу integer).
color – колір точки (типу word).
Приклад:
...
PutPixel(23,45,4);
...
Процедура Circle – викреслює коло.
Загальний вигляд:
Circle(x,y,rad);
X, Y – координата точки.
rad – радіус кола в пікселях по горизонталі.
Приклад:
...
Circle(45,67,50);
...
Процедура Ellipse – викреслює еліпс.
Загальний вигляд:
Ellipse(X,Y,bangle,eangle,Xrad,Yrad);
X, Y – координати центру,.
bangle і eangle – початковий і кінцевий кути дуги (в радіанах!).
Xrad, Yrad – горизонтальний і вертикальних радіус еліпса.
Приклад.
...
Ellipse(200,200,50,56,30,20);
...