
- •Базовий курс програмування у середовищі 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 Спадкування
- •Індивідуальні завдання
- •Контрольні питання
- •Список літератури
- •Зразок оформлення результатів виконання практичного завдання
Контрольні питання
Що таке запис?
Де саме описують запис і яка конструкція для цього використовується?
Для чого використовуються уточнені ідентифікатори?
Які переваги надає використання оператору приєднання?
В яких випадках доцільно використовувати варіантні записи?
Який загальний вид має запис з варіантами?
Чому імена полів всіх вкладених один в одний записів можуть співпадати?
Як визначити максимальне число полів записів із заданими типами полів?
У яких випадках застосовується варіантна частина запису з порожнім полем?
Чи можливо обробляти всередині запису змінні програм, підпрограм і модулів, імена яких співпадають з ім’ям поля запису?
Що таке база даних і у чому полягає її обробка?
Чому опис вкладених записів необхідно починати із запису, що вкладений останнім?
Практична робота №8
Файли: текстові, типізовані, нетипізовані
Мета роботи: ознайомитись з випадками використання файлів, типами файлів та методами обробки елементів файлів.
Теоретичні відомості
Файл – це структура даних з однорідними компонентами, які розташовані на зовнішньому носії. Дані файлу називаються його елементами. Кількість даних на відміну від масиву, під час опису файлу не визначається. Елемент файлу не має індексу. Тип елемента може бути, як простим, так і складеним, але не може бути файлом.
Існує три типи файлів:
текстові файли, що складаються із символів і рядків;
типізовані файли, елементи, яких мають тверду структуру, найчастіше Record;
нетипізовані файли, у які можуть передаватися дані блоками розміром до 128 байт.
Файловий тип даних описується в розділі опису типів як:
type <ім'я типу>=file of <тип елементів файлу>;
або безпосередньо в розділі опису змінних:
var <список змінних>:file of <тип елементів файлу>;
Приклад 1:
type myfile=file of integer;
list=file of string[20];
var file1,file2:list;
komanda:file of boolean;
Оскільки ім’я файлу разом із шляхом доступу до нього може бути дуже довгим, то для зручності в тілі програми його заміняють короткою файловою змінною (ФЗ).
Для роботи з типізованими й текстовими файлами використовуються наступні процедури й функції:
assign(F,name) – ставить у відповідність файловій змінній F файл, розташована на зовнішньому носії у форматі рядка: 'диск:\каталог\ім'я.розширення' (тобто вказується повний шлях до файлу).
reset(F) – відкриває існуючий файл F і позиціонує вказівник елементів файлу на його початок.
rewrite(F) – створюється файл F для запису, покажчик ставиться на початок файлу.
close(F) – закриває файл F.
eof(F) – функція приймає значення true, якщо покажчик елементів досяг кінця файлу.
erase(F) – видаляється файл F, який перед цим повинен бути закритий.
rename(F,S) – перейменовує закритий файл F в файл із ім'ям S.
read(F,S1,S2) – зчитування з файлу F дані у змінні S1, S2.
write(F,S1,S2) – запис у файл F значень змінних S1, S2.
Тільки для типізованих файлів використовуються наступні процедури й функції:
seek(F,N) – позиціонування вказівника елемента файлу F на елемент із номером N.
filepos(F) – функція визначає номер елемента файлу F, на якому позиціонується вказівник.
filesize(F) – функція визначає кількість елементів у файлі F.
Для текстових файлів використовуються наступні процедури й функції:
eoln(F) – функція приймає значення true, якщо покажчик елементів файлу F позиціонується наприкінці рядка.
seekeoln(F) – аналогічно eoln.
seekeof(F) – аналогічно eof.
append(F) – відкриває файл F для додавання елементів, вказівник елементів позиціонується в eof.
readln(F,S1) – зчитує рядок файлу F в S1.
writeln(F,S1) – записує у файл F рядок S1.
Останні дві команди подібні до звичайних команд виведення на екран.