
- •Базовий курс програмування у середовищі 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 Спадкування
- •Індивідуальні завдання
- •Контрольні питання
- •Список літератури
- •Зразок оформлення результатів виконання практичного завдання
Індивідуальні завдання
Варіанти.
Побудувати графік Y = X*SIN(X) на проміжку [-π; π].
Побудувати графік Y = X2*SIN(X) на проміжку [-2 π; 2 π].
Побудувати графік Y = X3*SIN(X) на проміжку [-2 π; 2 π].
Побудувати графік Y = SIN2(X)/X на проміжку [0; 2 π].
Побудувати графік Y = SIN3(X)/X на проміжку [-π; π].
Побудувати графік Y = E1-X2 на проміжку [-2; 5].
Побудувати графік Y = 1/E1-X2 на проміжку [-2; 2].
Побудувати графік Y = X*EX/(1+X)2 на проміжку [-4; 4].
Побудувати графік Y = EX/X3 на проміжку [-4; 4].
Побудувати графік Y = X3/EX на проміжку [-4; 4].
Побудувати графік Y = Sh(X) на проміжку [-1; 1].
Побудувати графік Y = Sh3(X) на проміжку [-1; 1].
Побудувати графік Y = X/(Sh(X)+1) на проміжку [-3; 4].
Побудувати графік Y = (Sh(X)+1)/X на проміжку [-3; 4].
Побудувати графік Y = X/Ch3(X) на проміжку [0; 10].
Побудувати графік Y = X*Ln(X) на проміжку [0.1; 5].
Побудувати графік Y = 1/X*Ln(X) на проміжку [0.1; 5].
Побудувати графік Y = Ln2(X) на проміжку [0.1; 5].
Побудувати графік Y = Ln(X)/(X-1) на проміжку [0.1; 5].
Побудувати графік Y = (X-1)/Ln(X) на проміжку [0.1; 5].
Побудувати гістограму частотного аналізу файлу.
Побудувати кругову об’ємну діаграму.
Побудувати кругову плоску діаграму.
Побудувати горизонтальну об’ємну діаграму.
Побудувати вертикальну об’ємну діаграму.
Побудувати графік Y = ARCSIN(X) на проміжку [-π/2; π/2].
Побудувати графік Y = ARCCOS(X) на проміжку [-π/2; π/2].
Побудувати графік Y = X*ARCSIN(X) на проміжку [0; 1].
Побудувати графік Y = X*ARCCOS(X) на проміжку [0; 1].
Побудувати графік Y = 0.5Ln((X+1)/(X-1))-ARCTh(X) на проміжку [-5; 5].
У трикутній піраміді побудувати перетин, що проходить через бічне ребро і медіану основи.
У трикутній піраміді провести перетин, що проходить через сторону основи і нахилений до основи під кутом 30°.
У правильній чотирикутній піраміді провести перетин, що проходить через діагональ основи і вершину піраміди.
Основа чотирикутної піраміди – ромб. Вершина піраміди проектується в центр симетрії ромба. Провести перетин, що проходить через висоту основи, яку опущено з тупого кута ромба, і бічне ребро, яке проходить через цю ж вершину.
У прямокутному паралелепіпеді провести діагональний перетин.
Контрольні питання
Які три основні показники, що визначають ергономічні якість дисплею?
З яких частин складається та які функції виконує відеоадаптер?
Для чого потрібні драйвери відеоадаптера?
Яким чином забезпечити співвідношення елементів геометричних фігур та розміру всього зображення на дисплеях з різним розширенням та різними розмірами пік селів по горизонталі та вертикалі?
Які значення можуть приймати константи для символів?
Який вигляд має система координат екрану у графічному режимі?
Яка процедура призначена для ініціалізації графічного режиму і які у неї параметри?
Яка процедура призначена для відображення прямої лінії між двома точками і які у неї параметри?
Яка процедура визначає шаблон і колір заповнення?
Яка процедура переміщає вказівник поточної позиції в точку із заданими координатами?
Практична робота №11
Динамічні змінні
Мета роботи: отримати навички щодо застосування динамічної пам’яті при створенні програм в TurboPascal.
Теоретичні відомості
Всі змінні, які використовувалися до теперішнього часу, є статичними змінними. Необхідна пам'ять під такі змінні виділяється компілятором в сегменті даних ще до початку роботи програми (в процесі її компіляції), і при роботі програми об'єм цієї пам'яті не змінюється.
Динамічні ж змінні можуть розміщуватися в пам'яті комп'ютера і вилучатися з неї в процесі роботи програми. Так, наприклад, якщо введені динамічні змінні вже оброблені і до кінця програми використовуватися не будуть, то їх можна вилучити з пам'яті комп'ютера, а на місці, що звільнилося, розмістити інші динамічні змінні, необхідні в ході виконання вирішуваної задачі. Саме за цією властивістю динамічні змінні і одержали свою назву. Очевидно, що вказана властивість таких змінних вельми корисна при обробці крупних масивів даних. Область пам'яті, в якій розміщуються динамічні змінні, називається купою (hеар) максимальний її об'єм складає близько 400 Кбайт.
Це не означає, що окремі змінні (запис або масив) можуть мати такий великий розмір. Звичайно ж, ні: жодна змінна в Turbo Pascal не може перевищувати об'єм 65520 байт. Проте розподілити складові запису або масиву по різних сегментах пам'яті виявляється цілком можливим. При цьому загальний об'єм «розподіленої» змінної може істотно перевищити об'єм окремого сегменту. Розподіл змінної по різних сегментах купи особливо корисний, коли її об'єм наперед передбачити не можливо. Динамічні змінні рекомендується застосовувати в таких випадках:
Необхідні змінні, що мають великий об'єм і звільняють пам'ять після їх використання.
Розмір змінної важко передбачити.
Розмір змінної перевищує 64 Кбайт.