Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Methods_AP_PZ

.pdf
Скачиваний:
17
Добавлен:
17.03.2016
Размер:
846.96 Кб
Скачать

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ

НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ УКРАЇНИ

«КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ»

Електронне видання

Програмування – 1. Алгоритмічне програмування

Методичні вказівки до виконання практичних занять Для студентів напряму підготовки

6.050201 «Системна інженерія» кафедри автоматики та управління в технічних системах

денної форми навчання

Рекомендовано Вченою радою факультету

інформатики та обчислювальної техніки НТУУ «КПІ» Протокол №__ від «__»___20__ р.

Київ НТУУ «КПІ»

2012

Програмування – 1. Алгоритмічне програмування. Методичні вказівки до виконання практичних занять. [Електронне видання] / Уклад.: Я.Ю.

Дорогий, О.М. Борцова. – К.: НТУУ «КПІ», 2012. – 76 с.

Методичні вказівки призначені для студентів напряму підготовки

6.050201 «Системна інженерія» кафедри автоматики та управління в технічних системах денної форми навчання. В посібнику наведена тематика практичних робіт, теоретичні відомості, завдання для виконання робіт,

список літератури.

Укладачі

Я.Ю. Дорогий, асистент

 

О.М. Борцова, асистент

Відповідальний редактор

С.Ф. Теленик, д.т.н., проф.

Рецензент

М.М. Ткач, к.т.н., доцент

 

кафедри технічної кібернетики

За редакцією укладачів

2

 

ЗМІСТ

 

ВСТУП..................................................................................................................

5

1 Мета та завдання дисципліни ...........................................................................

6

2 Практичні роботи ..............................................................................................

8

Практична робота № 1 .........................................................................................

8

1.1

Теоретичні відомості...................................................................................

8

1.2

Завдання на практичну роботу .................................................................

10

Практична робота № 2 .......................................................................................

13

2.1

Теоретичні відомості.................................................................................

13

2.2

Завдання на практичну роботу .................................................................

16

Практична робота № 3 .......................................................................................

19

3.1

Теоретичні відомості.................................................................................

19

3.2

Завдання на практичну роботу .................................................................

25

Практична робота № 4. ......................................................................................

29

4.1

Теоретичні відомості.................................................................................

29

4.2

Завдання на практичне завдання ..............................................................

30

Практична робота № 5 .......................................................................................

31

5.1

Теоретичні відомості.................................................................................

31

5.2

Завдання на практичну роботу .................................................................

35

Практична робота № 6 .......................................................................................

40

6.1

Теоретичні відомості.................................................................................

40

 

 

3

6.2

Завдання на практичну роботу .................................................................

43

Практична робота № 7 .......................................................................................

48

7.1

Теоретичні відомості.................................................................................

48

7.2

Завдання на практичну роботу .................................................................

52

Практична робота № 8 .......................................................................................

54

8.1

Теоретичні відомості.................................................................................

54

8.2

Завдання на практичну роботу .................................................................

65

Практична робота №9 ........................................................................................

67

9.1

Теоретичні відомості.................................................................................

67

9.2

Завдання на практичну роботу .................................................................

70

3 Загальні рекомендації та вимоги до роботи...................................................

72

3.1

Загальні рекомендації до виконання роботи............................................

72

3.2

Вимоги до виконання практичних робіт ..................................................

72

СПИСОК РЕКОМЕНДОВАНОЇ ЛІТЕРАТУРИ...............................................

73

ПРИМІТКИ.........................................................................................................

74

4

ВСТУП

Методичні вказівки до виконання практичних робіт використовуються при вивченні кредитного модуля «Програмування – 1. Алгоритмічне програмування» студентами всіх форм навчання і включають додаткові практичні завдання, що стосуються саме алгоритмізації, а також вимоги до оформлення цих робіт.

5

1 Мета та завдання дисципліни

Навчальна дисципліна МПН 05 «Програмування» (ПРОГ-1. АП)

відноситься до циклу математичної природничо-наукової підготовки нормативної частини навчальної програми бакалавра напряму підготовки

6.050201 «Системна інженерія».

Основна мета дисципліни – придбання знань, навичок і умінь застосування методів і засобів сучасного програмування для подальшого використання в задачах дослідження і формалізації об'єктів управління в автоматичних та/або автоматизованих системах управління технічними об'єктами, аналізу і синтезу цих систем, а також організації робочого місця інженера (конструювання, проектування, менеджмент і маркетинг систем автоматичного (автоматизованого) управління в технічних системах).

Курс «Програмування – 1. Алгоритмічне програмування» забезпечує засвоєння студентами наступних дисциплін бакалаврату:

ПП 15 «Математичне програмування та дослідження операцій».

ПП 20 «Основи теорії інформаційних процесів»;

ПП 17 «Цифрова обробка сигналів та зображень»;

ПП 26 «Комп’ютерна криптографія»;

ПП 04 «Операційні системи»;

ПП 06 «Архітектура комп’ютерних систем»;

ПП 07 «Комп’ютерні мережі»;

ПП 08 «Системи управління базами даних»;

ПП 09 «Теорія систем та системний аналіз».

Цей курс забезпечує засвоєння студентами наступних дисциплін

спеціальності та спеціалізації:

«Методи створення інформаційно-телекомунікаційних систем та мереж»;

«Проектування комп’ютеризованих систем управління»;

«Управління інформаційно-телекомунікаційними системами»;

«Інтегровані корпоративні інформаційно-управляючі системи»;

6

– «Технології штучного інтелекту в управлінні».

Цей курс також забезпечує засвоєння студентами таких дисциплін

магістерської підготовки:

«Методи створення інформаційно-телекомунікаційних систем та мереж»;

«Проектування комп'ютеризованих систем управління»;

«Сучасні технології створення програмних систем»;

«Сучасні технології програмування».

Для засвоєння дисципліни необхідні знання математики на рівні основної школи, основ програмування, алгоритмічних мов в обсязі,

передбаченому програмою випускних класів школи.

В результаті вивчення дисципліни студенти повинні

ЗНАТИ:

роль та місце ПРОГ1 в задачах управління технічними системами;

основні етапи розробки програм;

мови представлення алгоритмів;

методи проектування програм;

основні елементи мови;

структуру програм;

основи об’єктно-орієнтованого аналізу.

ВМІТИ:

вибирати та застосовувати адекватні та ефективні алгоритми та програмні продукти;

розробляти власні програми з використанням процедурної парадигми;

розробляти власні програми з використанням об’єктної парадигми;

виконувати об’єктно-орієнтований аналіз;

виконувати декомпозицію систем;

супроводжувати свої та куповані програмні продукти.

7

2 Практичні роботи Практична робота № 1

Структурне програмування. Розробка та аналіз алгоритмів

1.1 Теоретичні відомості

Структурне програмування зверху вниз (СПЗВ) – це така методологія проектування програм, яка передбачає вирішення завдання від загального до конкретного з використанням тільки типових (композиції, вибору і циклу)

елементарних структурних елементів алгоритму. Іншими словами, в СПЗВ твердження "зверху вниз" припускає послідовну декомпозицію задачі на все більш дрібні смислові частини модулів, блоків, кроків і т.д. до тих пір, поки досягнутий ступінь деталізації рішення забезпечить для кожного окремого кроку очевидність і однозначність, з одного боку, призначення, структуру та логіку роботи цього кроку і, з іншого боку, способу кодування

(програмування) цього кроку на вибраній або заданій алгоритмічній мові.

Сенс першого твердження "структурне програмування" в СПЗВ відображає правило "один вхід один вихід", що вимагає щоб в будь-якому модулі, блоці або кроці алгоритму і у всьому алгоритмі в цілому зберігався природний порядок виконання команд і операторів.

В рамках СПЗВ розроблено дві схеми підготовки завдання до вирішення на ЕОМ: узагальнена і скорочена.

Узагальнена схема підготовки завдання до рішення:

1.Постановка завдання.

2.Розробка логіко-математичної моделі.

3.Вибір методу обчислення.

4.Розробка алгоритмів.

5.Перевірка правильності та оцінки ефективності алгоритмів.

6.Кодування алгоритмів і перевірка правильності програми.

7.Складання документації.

8.Підготовка вихідних даних.

8

9.Оформлення завдання або підготовка ЕОМ до виконання програми.

10.Супровід програми.

11.Змістовна інтерпретація отриманих результатів.

Структурне програмування - це метод програмування, що передбачає створення зрозумілих, простих та зручних для прочитання програмних модулів та програмних комплексів на мовах програмування.

Для кодування програмних модулів використовуються уніфіковані

(базові) структури. Доведено, что будь-яка программа може бути написана з використанням лише трьох канонічних структур (лінійна, розгалужена,

циклічна).

Технології структурного програмування зверху вниз:

1)структурований алгоритм складається з двох логічних частин:

шапки, тобто керуючого модуля (диспетчера, збирача), що підтримує інтерфейс з користувачем і викликає (включає) в

роботу інші (виконувані) модулі;

виконуваних модулів, що вирішують окремі задачі, підзадачі і т.д. у відповідності з призначенням і логікою роботи даного алгоритму;

2)у структурованому алгоритм модуль будь-якої складності і призначення, в тому числі керуючий має тільки один вхід і тільки один вихід;

3)у структурованому алгоритмі будь-який модуль, в тому числі і керуючий має структуру відповідно 1) і 2) і розробляється зверху вниз,

тобто від загального до приватного шляхом декомпозиції (розбиття)

загальної задачі на приватні задачі, підзадачі і т. д.; 4) у структурованому алгоритм будь-якої його модуль повинен бути

правильним, доступним для огляду і зрозумілим.

Приклад 1.1. Потрібно обчислити A0 + A1 * X + A2 * X2+ A3 * X3.

Рішення.

9

1) рішення "в лоб" – це безпосереднє програмування полінома A0 + A1 * X + A2 * X2 + A3 * X3, яке, однак, ігнорує питання систематичних

(логарифмування і потенціювання при обчисленні степенів) та операційних помилок і помилок округлення, а також трудомісткість алгоритму (по 3

операції додавання і множення і 2 операції піднесення до степеня). Крім того,

це рішення не універсальна і не придатне для обчислення полінома,

наприклад, 2-й або 5-го ступеня;

2) варіант програмування A0 + A1 * X + A2 * X * X + A3 * X * X * X

усуває систематичні, але не мінімізуються операційні помилки і помилки округлення (6 операцій множення та 3 операції додавання). Крім того,

проблема універсальності алгоритму як і раніше не вирішується;

3) рішення по схемі Горнера x (x (ax + b) + c) + d мінімізує помилки і трудомісткість (по 3 операції додавання і множення), виключає операції піднесення до степеня і забезпечує універсальність алгоритму.

1.2 Завдання на практичну роботу

Порахувати та вивести на екран у вигляді таблиці значення функції,

заданої за допомогою ряду Тейлора на інтервалі від хпоч до хкін з кроком dx=0.1 з точністю =0.001 згідно свого варіанту (таблиця 1.1).

Таблиця 1.1 – Варіанти завдань

№вар.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Завдання

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

x 1

 

 

 

1

 

 

 

 

 

 

 

1

 

 

 

 

 

1

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ln

 

 

2

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

...

 

x

 

1

 

x 1

 

(2n 1)x2n 1

 

 

 

 

 

 

3x3

 

5x5

 

 

 

 

n 0

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

( 1)n xn

x2

 

 

 

 

x3

 

 

 

 

 

x4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e x

 

 

 

 

1 x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

...

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n 0

 

n!

2!

 

 

 

 

3!

 

 

 

 

4!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

( 1)n xn 1

 

 

 

x2

 

 

 

 

x3

 

x4

 

 

 

 

 

 

 

 

 

 

 

 

ln(x 1)

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

... 1 x 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n 0

 

n 1

 

 

2

 

 

 

 

 

 

 

3

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

1 x

 

 

 

 

x2n 1

 

x3

 

 

 

 

 

x5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ln

 

 

2

 

 

 

 

2(x

 

 

 

 

 

 

 

 

 

 

 

...)

x

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 x

 

 

n 0

 

2n 1

 

3

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]