
- •Базовий курс програмування у середовищі 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?
Які правила передачі параметрів-значень?
Які правила передачі параметрів-змінних?
Які правила передачі параметрів-констант?
У чому особливість безтипових параметрів?
У чому особливість передачі відкритих та фіксованих параметрів-масивів?
Що таке глобальні та локальні змінні?
Які існують правила визначення області дії для ідентифікаторів процедур та функцій?
Що таке рекурсивна процедура?
У чому полягає міцність рекурсивних визначень?
Що необхідно для реалізації рекурсій в програмі?
Що називається глибиною рекурсії?
Що називається поточним рівнем рекурсії?
У чому полягає головна вимога до рекурсивних процедур?
Які форми може приймати структура рекурсивної процедури?
Практична робота №6
Символьні та рядкові змінні
Мета роботи: ознайомитись з прийомами роботи із символьними та рядковими змінними.
Теоретичні відомості
1 Символьні змінні
Символьний тип char (від character – символ) – це тип змінних (даних), які складаються лише з одного символу (знаку, букви, цифри). Як і всі змінні, символьні змінні, оголошуються в розділі var:
Var
Ch_1, Ch_2:char;
В тілі програми їм можна присвоювати значення відповідного типу:
Ch_1:='A';
Ch_2:='?';
Ch_1:='7';
Кожному символу в комп'ютері відповідає одне ціле число з діапазону 0...255. Це число, виражене в двійковій системі числення, служить кодом машинного представлення символу. Всі символи зведені в таблицю кодів. Для кодування використовується стандартний американський код для обміну інформацією – ASCII(American Standard Code for Information Interchange). Перша половина згаданої таблиці символів з кодами 0...127 відповідає стандарту ASCII. Друга половина символів таблиці – це національні алфавіти.
Визначити номер коду будь-якого символу (або літери) в його десятковому поданні можна за допомогою стандартної функції Ord (Ordinal Value – порядкове значення):
Ord('A')=65;
Ord('a')=97;
Важливо відзначити, що всі заголовні літери розміщуються під меншими кодовими номерами.
Функція Chr (від Char) перетворює десятковий код символу в сам символ:
Chr(65)='A'
Chr(97)='a'
Цю функцію можна замінити символом «#» (знак дієза):
#65='А'
#97='а'
Цілочисельний параметр функції Chr (і #) має тип byte і тому повинен знаходитись в діапазоні значень 0...255.
Тип змінних Chr належить порядковому типу. Дані порядкового типу мають кінцеве число можливих значень, ці значення певним чином впорядковані (тому тип називається порядковим) і кожне з них має свій порядковий номер. Для змінних цього типу застосовуються функції Pred (Predecessor – попередник) та Succ (Successor – наступник):
Pred('b')='a'
Succ('a')='b'
Pred('3')='2',Pred(3)=2
Succ('3')='4',Succ(3)=4
Змінні цього типу можуть використовуватися також, наприклад, в циклі for:
for Ch_1:='a' to 'z' do
writeln=('Код літери ',Ch_1,' рівний ',Ord(Ch_1);
Функції Ord і Chr є взаємозворотними:
Ord(Chr(65))=65
Chr(Ord('A'))='A'