- •Лабораторна робота 13. Робота з множинними типами даних . . . 76 Лабораторна робота 14. Створення й обробка файлів . . . . . . . . . . 79
- •Порядок виконання лабораторних робіт
- •Типи даних
- •Оператор привласнювання
- •Оператори уводу-виводу
- •Завдання до лабораторної роботи
- •Умовний оператор
- •Завдання до лабораторної роботи
- •Завдання до лабораторної роботи
- •Лабораторна робота 4 нестандартні й обмежені типи даних. Оператор варіанта
- •Нестандартні типи даних
- •Обмежені типи даних
- •Оператор вибору варіанта
- •Оператор циклу for
- •Приклади виконання завдання лабораторної роботи
- •Завдання до лабораторної роботи
- •Лабораторна робота 5 регулярні типи даних. Селективна обробка масивів
- •Регулярні типи даних
- •Приклади виконання завдання лабораторної роботи
- •Завдання до лабораторної роботи
- •Завдання до лабораторної роботи
- •Лабораторна робота 7 вкладені цикли. Обробка двовимірних масивів
- •Загальні вказівки
- •Завдання до лабораторної роботи
- •Лабораторна робота 8 процедури і функції
- •Процедури
- •Функції
- •Завдання до лабораторної роботи
- •Лабораторна робота 9 обробка символьних даних
- •Символьний тип даних
- •Завдання до лабораторної роботи
- •Лабораторна робота 10 обробка строкових даних
- •Строковий тип даних
- •Процедури
- •Функції
- •Завдання до лабораторної роботи
- •Лабораторна робота 11 комбіновані типи даних
- •Приклади виконання завдання лабораторної роботи
- •Завдання до лабораторної роботи
- •Лабораторна робота 12 файли і файлові типи даних
- •Файловий тип даних
- •Процедури обробки файлів
- •Завдання до лабораторної роботи
- •Лабораторна робота 13 робота з множинними типами даних
- •Завдання до лабораторної роботи
- •Лабораторна робота 14 створення й оброблення файлів
- •Файли з типом
- •Процедури для роботи з файлами з типом
- •Функції для обробки файлів з типом
- •Завдання до лабораторної роботи
- •Лабораторна робота 15 коректування файлів
- •Завдання до лабораторної роботи
- •Процедури роботи з екраном
- •Процедури установлення текстових режимів I управління кольором
- •Процедури управління курсором
- •Процедура установлення текстових вікон
- •Завдання до лабораторної роботи
- •Лабораторна робота 17 перевірка достовірності даних
- •Вибір критеріїв достовірності
- •Типові алгоритми уводу I перевірки достовірності даних
- •Завдання до лабораторної роботи
- •Лабораторна робота 18 графічні засоби мови паскаль
- •Графічні процедури мови Паскаль
- •Завдання до лабораторної роботи
- •Порядок виконання лабораторної роботи
- •Розрахунок масштабу I зрушення графіка
- •Процедура для креслення графіка
- •Завдання до лабораторної роботи
- •Порядок виконання роботи
- •Список рекомендованої літератури
- •Додаток а
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ДОНБАСЬКА ДЕРЖАВНА МАШИНОБУДІВНА АКАДЕМІЯ
О.В.Веремій, В.В. Зоненко
МЕТОДИЧНИЙ ПОСІБНИК
ДО ЛАБОРАТОРНИХ ТА САМОСТІЙНИХ РОБІТ З ДИСЦИПЛІНИ
«АЛГОРИТМІЗАЦІЯ ТА ПРОГРАМУВАННЯ»
(для студентів спеціальності 6.050101)
З А Т В Е Р Д Ж Е Н О
на засіданні Вченої ради
Протокол N від
Краматорськ 2008
ББК
УДК 681.31:001.8
Рецензенти:
Рей Р.І., д.т.н., проф. Східноукраїнського національного університету ім. В. Даля;
Бойко В.Г., к.т.н., доц., зав. каф. прикладної математики та обчислювальної техніки КЕГІ;
Топтунова Л.М., к.т.н., доц. каф. прикладної математики ДДМА.
Веремій О.В., Зоненко В.В.
Методичний посібник до лабораторних та самостійних робіт з дисципліни ”Алгоритмізація та програмування”. (для студентів спеціальності 6.050101). - Краматорськ: ДДМА, 2008. - 104 с.
ISBN
Посібник призначений для навчання основним конструкціям мови Паскаль. Він побудований у вигляді завдань, кожне з яких присвячене конкретній темі. Містить основні типи задач, що дозволяють самостійно освоїти прийоми і методи алгоритмізації, одержати навички в складанні блок-схем. Завдання розташовані в порядку зростання складності. Велика кількість варіантів дозволяє використовувати посібник для проведення лабораторних, самостійних, (контрольних) робот в аудиторії і видачі індивідуальних домашніх завдань. Кожному завданню передує теоретична частина та методична розробка, що включає різні підходи до рішення поставленої задачі.
ISBN ББК
© О.В. Веремій,
В.В. Зоненко, 2008
© ДДМА, 2008
З М І С Т
Вступ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Порядок виконання лабораторних робіт. . . . . . . . . . . . . . . . . . . 5
Зміст звіту . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Лабораторна робота 1. Оператори привласнення, введення,
виводу. Програмування лінійного обчислювального процесу. 5
Лабораторна робота 2. Програмування розгалуженого
обчислювального процесу . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Лабораторна робота 3.Програмування розгалуженого циклічного
обчислювального процесу. Табулювання функцій. .. . . . . . . . . . . . 22
Лабораторна робота 4. Нестандартні й обмежені типи даних.
Оператор варіанта. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Лабораторна робота 5. Регулярні типи даних.
Селективна обробка масивів . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Лабораторна робота 6. Формування робочих масивів
за допомогою операції селекції вихідного масиву . . . . . . . . . . . . . 39
Лабораторна робота 7. Вкладені цикли. Обробка
двовимірних масивів . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Лабораторна робота 8. Процедури і функції. . . . . . . . . . . . . . . . 53
Лабораторна робота 9. Обробка символьних даних. . . . . . . . . . 57
Лабораторна робота 10. Обробка строкових даних . . . . . . . . . . 62
Лабораторна робота 11. Комбіновані типи даних . . . . . . . . . . . 67
Лабораторна робота 12. Файли і файлові типи даних . . . . . . . . 72
Лабораторна робота 13. Робота з множинними типами даних . . . 76 Лабораторна робота 14. Створення й обробка файлів . . . . . . . . . . 79
Лабораторна робота 15. Коректування файлів . . . . . . . . . . . . . . . . 84
Лабораторна робота 16. Робота з екраном в текстовому
режимі засобами мови Паскаль . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Лабораторна робота 17. Перевірка достовірності даних . . . . . . . . 93
Лабораторна робота 18. Графічні засоби мови Паскаль . . . . . . . . 99
Лабораторна робота 19. Програмування із виводом результатів
у вигляді графіків на екран дисплея . . . . . . . . . . . . . . . . . . . . . . . . .110
Список рекомендованої літератури . . . . . . . . . . . . . . . . . . . . . .. . 118
Додаток А. Завдання до лабораторної роботи 18 . . . . . . . . . . . . 119
ВСТУП
Рішення будь-якої задачі на ЕОМ складається з декількох етапів, серед яких основними є наступні: 1) постановка задачі; 2) формалізація (математична постановка задачі); 3) вибір (чи розробка) методу рішення; 4) розробка алгоритму (алгоритмізація); 5) складання програми (програмування); 6) налагодження програми; 7) обчислення й обробка результатів.
Дана методична розробка умовно поділена на 2 частини. Перша частина розглядає перші чотири етапи рішення задачі та призначена для прищеплювання практичних навичок розробки алгоритмів (блок-схем) будь-якої задачі.
Друга частина розглядає останні три етапи рішення задачі та призначена для:
- оволодіння однією з найбільш розповсюджених мов програмування – Паскаль;
- вивчення й освоєння основних методів і прийомів програмування;
- одержання практичних навичок роботи з терміналом, з налагодження і тестування програм.
При підготовці до лабораторної роботи студент повинний розробити алгоритм розв’язку задачі та написати програму мовою Паскаль. У процесі виконання лабораторної роботи студент готує вхідні дані для виконання індивідуального завдання, вводить програму та вхідні дані в діалоговому режимі, здійснює налагодження і тестування програми, розв’язування задачі на ЕОМ і обробку результатів.
Порядок виконання лабораторних робіт
1 Вивчіть теоретичний матеріал до лабораторної роботи.
2 Ознайомтеся з прикладами Паскаль-програм.
3 Складіть алгоритм і Паскаль-програму за зазначеним варіантом завдання (у випадку утруднення дивіться методичні вказівки до рішення задач).
4 Налагодьте програму і виконайте розрахунки на ЕОМ.
5 Оформіть звіт про виконану роботу.
Зміст звіту
Звіт повинний містити:
1) мету роботи;
2) умову задачі;
3) блок-схему алгоритму розв’язання задачі та контрольний приклад;
4) Паскаль-програму;
5) розв’язання задачі на ЕОМ;
6) короткі висновки з роботи.
Лабораторна робота 1
ОПЕРАТОРИ ПРИВЛАСНЕННЯ, ВВЕДЕННЯ, ВИВоду.
ПРОГРАМУВАННЯ ЛІНІЙНОГО ОБЧИСЛЮВАЛЬНОГО
ПРОЦЕСУ
Мета роботи: виробити практичні навички у написанні та налагодженні простих Паскаль-програм на лінійний обчислювальний процес.
Типи даних
Кожна змінна, яка використовується в Паскаль-програмі, має бути описана в такий спосіб:
X:type1; Y,Z:type2; ...
Тут X,Y,Z - ідентифікатори змінних; type1, type2 - типи змінних. Ідентифікатором (ім'ям, назвою) може бути будь-яка послідовність букв і цифр, що починається з букви.
У мові Паскаль є наступні види типів даних:
- цілий – integer, shortint, longint, bute, word;
- дійсний – real, single, double, extended,comp;
- булевський (логічний)- boolean;
- символьний – char,
- строковий - string.
Змінні типу integer описуються в такий спосіб:
var a,b,x : integer;
До операндів цілого типу застосовуються операції: * (множення), + (додавання), - (віднімання), div (ділення без округлення - ціла частина частки), mod (залишок від ділення), inc(a) (збільшення a на 1) та dec(a) (зменшення a на 1).
Наприклад:
14 div 4 = 3; 15 mod 2 = 1, inc(1)=2; dec(2)=1.
Дійсні змінні описуються в такий спосіб:
var a,b : real;
Якщо хоча б один операнд дійсний, то операції +, -, *, / дають дійсний результат. Операція ділення / дає дійсний результат і у випадку ділення двох цілих елементів.
Для цілих і дійсних змінних можуть бути використані наступні функції:
sinx - sin(x), cosx - cos(x), arctgx - arctan(x), lnx - ln(x)
ex - exp(x), - sqrt(x), x2 - sqr(x), |x| - abs(x),
ціла частина([x]) - trunc(x), округлення - round(x).
Зауваження. Для одержання інших зворотних тригонометричних функцій можна використовувати формули:
У мові Паскаль є наступні константи:
maxint, яка дорівнює 32767 і є максимально можливим цілим числом; PI, яка дорівнює 3,1415.
Змінні типу boolean описуються в такий спосіб:
var a,b : boolean;
Змінні цього типу набувають тільки одного з двох значень, true або false. Вони займають в пам’яті один байт.
Перемінні типу char описуються в такий спосіб:
var a,b : char;