Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
все лабы.doc
Скачиваний:
9
Добавлен:
05.11.2018
Размер:
1.86 Mб
Скачать

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

ДОНБАСЬКА ДЕРЖАВНА МАШИНОБУДІВНА АКАДЕМІЯ

О.В.Веремій, В.В. Зоненко

МЕТОДИЧНИЙ ПОСІБНИК

ДО ЛАБОРАТОРНИХ ТА САМОСТІЙНИХ РОБІТ З ДИСЦИПЛІНИ

«АЛГОРИТМІЗАЦІЯ ТА ПРОГРАМУВАННЯ»

(для студентів спеціальності 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;