
- •Базовий курс програмування у середовищі 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 Спадкування
- •Індивідуальні завдання
- •Контрольні питання
- •Список літератури
- •Зразок оформлення результатів виконання практичного завдання
Контрольні питання
Якими бувають логічні вирази?
Яким чином поділяються операції Turbo Pascal за пріоритетом?
Чому в програмах не рекомендують використовувати команду безумовного переходу goto?
Яким чином відбувається робота команди розгалуження if?
Яка команда дозволяє виконувати одну з багатьох дій в залежності від результату обчислення виразу?
Які циклічні конструкції підтримуються мовою Turbo Pascal?
Яким чином працює циклічна структура while/do?
У чому відмінності між циклічними структурами while/do та repeat/until?
Які обмеження виконуються при використанні циклічної структури з параметром?
Які існують відмінності та особливості при роботі з циклічними структурами for, while/do та repeat/until?
Практична робота №3
Одновимірні масиви. Сортування
Мета роботи: ознайомитись з поняттям одновимірних масивів та діями над ними, навчитися застосовувати різні методи сортування для розв’язку математичних і технічних задач.
Теоретичні відомості
1 Одновимірні масиви
Масив – тип даних, який складається з фіксованого числа однотипних елементів. Число елементів та їх тип фіксуються при описі масиву і в процесі виконання програми не змінюються. Для зберігання кожного елементу масиву виділяється окремий елемент пам'яті, всі комірки мають однаковий розмір. Для зберігання масиву треба резервувати послідовність комірок, на відміну від зберігання змінних простих типів, коли треба резервувати окремі елементи пам'яті. Для визначення масивів використовується зарезервоване слово array.
…
var
T: array [1..n] of integer; {місце для зберігання n значень}
…
Після слова array в квадратних дужках вказаний початковий і кінцевий номер елементів масиву, а після службового слова of – тип його елементів. Кожна комірка масиву має свій індекс (номер). Масив ще називають змінними з індексами.
Знайшовши такий тип даних, компілятор для змінної з ім'ям T виокремить n послідовних елементів пам'яті розміром 2 байти кожна (real – 6 байт). Після виокремлення місця у всі числові комірки записується 0. Для введення в комірку з номером i якого-небудь іншого значення треба зразу ж після імені змінної вказати її індекс в квадратних дужках та виконати операцію присвоєння: T[i]:=5;.
При використанні масивів необхідно приймати до уваги наступні обмеження:
Індекси масиву можуть мати будь-який порядковий тип даних, крім типу longint.
Максимально можливе число елементів масиву n визначається за формулою
, де
– розмір елемента масиву в байтах.
Ця залежність зумовлена наступними обставинами. Справа в тому, що всі змінні та константи програми знаходяться в спеціальній області пам’яті комп’ютера , яка називається сегментом даних. Його об’єм дорівнює 64 Кбайт (65536 байт). Максимальний розмір змінної (і будь-якого типу) в Turbo Pascal не може перевищувати 65520 байт. Тому тільки в тому випадку, коли сумарний об’єм пам’яті на всі константи та інші змінні буде менше за 16 байт (65536 – 65520 = 16 байт), ви зможете використовувати максимальне число n.
Згідно
з наведеною формулою, максимально
можливе значення n
спостерігається при
байт ( це такі прості типи, як byte,
shortint,
char)
і складає 65520. Це число значно менше
розміру типу longint.
1.1 Додавання елементів масиву
Блок програми, що виконує підсумовування:
…
S:=0; {очищення змінної, яка призначена для зберігання суми}
for i:=1 to n do
S:=S+T[i];
…
На першому кроці циклу for, коли i=1, в комірці з ім'ям S знаходитиметься сума початкового значення змінної і значення температури з комірки T[1]. На другому кроці, при i=2, в S вже буде записана сума значень, що знаходяться в змінній S на першому кроці (S=T[1]) і клітинці T[2]. При i=n в S буде накопичена сума всіх елементів масиву T.