Алгоритмізація та програмування підручник Т. В. Ковалюк
Мова: українська Серія: Комп'ютингПублікація: Магнолія 2006 2018 ЛьвівОпис: 400 сISBN:- 9786175740699
Книги
Списки з цим бібзаписом:
Комп'ютерні науки та технології
| Поточна бібліотека | Шифр зберігання | Стан | Штрих-код | |
|---|---|---|---|---|
| ЧЗ - Читальна зала | 004.421(075,8) К56 | Доступно | 162149 |
Стислий зміст
Передмова.......................................................................................................................... 10
ЧАСТИНА 1
ОСНОВИ ПРОЦЕДУРНОГО ПРОГРАМУВАННЯ
Розділ 1. Основні поняття та означення.......................................................................12
Розділ 2. Елементи мови С/С++....................................................................................48
Розділ 3. Керування порядком обчислень....................................................................95
Розділ 4. Процедурно-орієнтоване програмування...................................................125
Розділ 5. Покажчики та посилання............................................................................. 167
Розділ 6. Методології розробки програм.................................................................... 191
ЧАСТИНА 2
СТРУКТУРИ ДАНИХ ТА АЛГОРИТМИ
Розділ 7. Масиви..............................................................................................................216
Розділ 8. Рядки.................................................................................................................263
Розділ 9. Структури та об’єднання..................................................................................281
Розділ 10. Файлові структури даних................................................................................300
Розділ 11. Динамічні структури даних.............................................................................328
Розділ 12. Алгоритми на графах..................................................................................... 371
Задачі підвищеної складності...........................................................................................387
Література......................................................................................................................... 394
Алфавітний покажчик.......................................................................................................396
ЗМІСТ
Передмова..........................................................................................................................10
ЧАСТИНА 1 ОСНОВИ ПРОЦЕДУРНОГО ПРОГРАМУВАННЯ
Розділ 1. Основні поняття та означення............................................................................12
1.1. Поняття архітектури комп’ютера.................................................................................12
1.1.1. Принцип використання двійкової системи числення............................................. 13
1.1.2. Принцип програмного керування роботою комп ’ютера..........................................13
1.1.3. Принцип збереження програм у пай 'яті комп ’ютера...............................................14
1.1.4. Принцип адресності пам 'яті.......................................................................................14
1.2. Архітектура комп’ютерів фон Неймана..........................................................................14
1.3. Архітектура системи команд............................................................................................19
1.4. Інформація в пам’яті комп’ютера......................................................................................21
1.4.1. Позиційні системи числення...........................................................................................21
1.4.2. Зображення чисел у комп ’ютері.....................................................................................26
1.5. Типи комп’ютерів.................................................................................................................31
1.6. Програмне забезпечення....................................................................................................33
1.7. Засоби створення програм..................................................................................................35
/. 7.1. Класифікація мов програмування.....................................................................................35
/. 7.2. Технологія створення програми.........................................................................................36
1 З. Перетворення програми і система програмування.............................................................37
/. 7.4. Походження та розвиток мов С і C++..................................................................................39
1.8. Поняття алгоритму й основні алгоритмічні структури...........................................................40
1.8.1. Властивості та способи опису алгоритму............................................................................41
1.8.2. Алгоритмічна структура розгалуження................................................................................42
1.8.3. Алгоритмічна структура повторення.....................................................................................42
Висновки............................................................................................................................................44
Контрольні запитання та завдання..................................................................................................45
Вправи................................................................................................................................................46
Розділ 2. Елементи мови C/C++...................................................................................................... 48
2.1. Робота у середовищі Visual Studio .NET...................................................................................48
2. /. І. Склад системи та команди меню ..........................................................................................48
2.1.2. Створення та виконання найпростішої програми.................................................................52
2.1.3. Налагодження програм............................................................................................................56
2.2. Словник мови та загальна структура програми.......................................................................57
2.2.1. Алфавіт і словник мови......................................................................................................... 57
2.2.2. Структура програми.............................................................................................................. 59
2.3. Прості типи даних......................................................................................................................62
2.3.1. Операції над даними..............................................................................................................63
2.3.2. Цілочислові типи................................................................................................................... 63
2.3.3. Дійсні типи............................................................................................................................. 66
2.3.4. Булів тип.................................................................................................................................67
2.3.5. Символьний тип.....................................................................................................................67
2.3.6. Перечічуваний тип................................................................................................................ 68
2.4. Константи, змінні, вирази.........................................................................................................69
2.4.1. Різновиди констант.................................................................................................................69
2.4.2. Змінні.......................................................................................................................................71
2.4.3. Вирази..................................................................................................................................... 73
2.5. Операції присвоєння та функції введення-виведення........................................................... 77
2.5.1. Операція присвоєння............................................................................................................. 77
2.5.2. Основи введення-виведення в C/C++ .................................................................................79
2.5.3. Потокові функції введення-виведення.................................................................................80
.5.4. Консольні функції введення-виведення................................................................................84
2.5.5. Підсистема введення-виведення в C++ ............................................................................. 85
2.5.6. Сумісність типів...................................................................................................................88
Висновки........................................................................................................................................90
Контрольні запитання та завдання...............................................................................................91
Вправи..............................................................................................................................................92
Розділ 3. Керування порядком обчислень......................................................................................95
3.1. Алгоритмічний вибір альтернатив............................................................................................95
3.1.1. Вибір із двох альтернатив..................................................................................................... 95
3.1.2. Вкладеність конструкцій вибору...............................................................................................96
3.1.3. Операторний блок.................................................................................................................99
3.1.4. Поліваріантний вибір .........................................................................................................102
3.2. Алгоритмічна конструкція повторення.....................................................................................104
3.2.1. Цикл з передумовою............................................................................................................ 104
3.2.2. Цикл з постумовою............................................................................................................. 107
3.2.3. Цикл з лічильником..............................................................................................................109
3.2.4. Переривання циклу.............................................................................................................. 112
3.3. Деякі циклічні алгоритми та програми..................................................................................... 113
3.3.1. Рекурентні послідовності та співвідношення........................................................................ 113
3.3.2. Степеневі ряди.................................................................................................................... 115
3.3.3. Ланцюгові дроби.................................................................................................................. 117
Висновки...................................................................................................................................120
Контрольні запитання та завдання.........................................................................................121
Вправи......................................................................................................................................121
Задачі.......................................................................................................................................122
Розділ 4. Процедурно-орієнтоване програмування..............................................................125
4.1. Підпрограми, їх різновиди та способи використання....................................................125
4.1.1. Функції користувача.....................................................................................................126
4.1.2. Прототипи функцій ......................................................................................................137
4.1.3. Функції з аргументами за замовчуванням..................................................................138
4.1.4. Стандартні функції.......................................................................................................140
4.1.5. Локалізація імен..........................................................................................................142
4.1.6. Класи пам яті..............................................................................................................144
4.1.7. Різновиди параметрів................................................................................................145
4.1.8. Процес виклику підпрограми. Програмний стек.......................................................146
4.2. Додаткові можливості функцій в C++...........................................................................148
4.2.1. Перевантаження функцій...........................................................................................148
4.2.2. Вбудовані функції.......................................................................................................150
4.2.3. Шаблони функцій.......................................................................................................151
4.3. Рекурсія.........................................................................................................................154
4.3.1. Рекурсивні означення та функції.............................................................................154
4.3.2. Приклади рекурсивних програм..............................................................................157
Висновки..............................................................................................................................161
Контрольні запитання та завдання....................................................................................163
Вправи..................................................................................................................................164
Задачі...................................................................................................................................165
Розділ 5. Покажчики та посилання.....................................................................................167
5.1. Поняття посилальних типів даних...............................................................................167
5.2. Оголошення та ініціалізація змінних посилальних типів............................................168
5.3. Операції над покажчиками...........................................................................................170
5.4. Покажчики на тип void..................................................................................................172
5.5. Покажчики та функції ...................................................................................................174
5.5.1. Покажчики на функції.................................................................................................174
5.5.2. Покажчики та посилання як параметри функції.......................................................176
5.5.3. Застосування специфікатора const з покажчиками та посиланнями ....................178
5.5.4. Функції, що повертають покажчики та постання.......................................................182
5.6. Покажчики на покажчики................................................................................................185
Висновки.................................................................................. ..............................................187
Контрольні запитання та завдання......................................................................................188
Вправи...................................................................................................................................188
Задачі.....................................................................................................................................189
Розділ 6. Методології розробки програм.............................................................................191
6.1. Теорія і методи структурного програмування..............................................................191
6.1.1. Низхідне проектування програм.................................................................................191
6.1.2. Модульне програмування ...........................................................................................192
6.1.3. Методи структурування програм..................................................................................193
6.2. Багатофайлові програми у C++.......................................................................................198
6.2.1. Міжфайлова взаємодія..................................................................................................199
6.2.2. Заголовні файли..............................................................................................................202
6.2.3. Компіляція і компонування багатофайчових програм...................................................205
6.3. Основні концепції об’єктно-орієнтованої методології програмування............................206
6.3.1. Базові поняття об’єктно-орієнтованого програмування................................................206
6.3.2. Класи і об’єкти в мові C++..............................................................................................207
Висновки....................................................................................................................................210
Контрольні запитання та завдання...........................................................................................212
Вправи.........................................................................................................................................212
ЧАСТИНА 2 СТРУКТУРИ ДАНИХ ТА АЛГОРИТМИ
Розділ 7. Масиви....................................:....................................................................................216
7.1. Одновимірні масиви............................................................................................................216
7.1.1. Поняття масиву та його властивості...............................................................................216
7.1.2. Базові операції обробки одновимірних масивів.............................................................218
7.1.3. Сортування масиву...........................................................................................................231
7.1.4. Масиви як параметри.......................................................................................................240
7.1.5. Покажчики та масиви........................................................................................................244
7.2. Багатовимірні масиви ...........................................................................................................246
7.2.1. Оголошення багатовимірних масивів. Доступ до елементів...........................................246
7.2.2. Базові операції обробки двовимірних масивів.................................................................248
7.2.3. Двовимірні масиви в задачах лінійної алгебри................................................................252
Висновки.......................................................................................................................................258
Контрольні запитання та завдання.............................................................................................259
Вправи...........................................................................................................................................259
Задачі............................................................................................................................................260
Розділ 8. Рядки.............................................................................................................................263
8.1. Рядки......................................................................................................................................263
8.1.1. Поняття рядка та оголошення змінних рядкового типу....................................................263
8.1.2. Рядкові константи та ініціалізація рядків..........................................................................265
8.1.3. Масиви рядків.....................................................................................................................265
8.2. Функції обробки рядків..........................................................................................................266
8.2.1. Уведення та виведення рядків......................................................................................... 266
8.2.2. Визначення довжини рядка............................................................................................. 267
8.2.3. Копіювання рядків.............................................................................................................267
8.2.4. Порівняння рядків............................................................................................................ 268
8.2.5. Об’єднання рядків.............................................................................................................269
8.2.6. Пошук елементів рядка.................................................................................................... 271
8.2.7. Розкладання рядка на лексеми........................................................................................272
8.2.8. Перетворення рядків.........................................................................................................274
8.3. Масиви покажчиків................................................................................................................276
Висновки........................................................................................................................................278
Контрольні запитання та завдання..............................................................................................279
Вправи............................................................................................................................................279
Задачі.............................................................................................................................................279
Розділ 9. Структури та об’єднання...............................................................................................281
9.1. Структури................................................................................................................................281
9.1.1. Структура та її оголошення ...............................................................................................281
9.1.2. Доступ до полів та операції над структурами...................................................................283
9.1.3. Масиви структур.................................................................................................................285
9.1.4. Функції та структури...........................................................................................................289
9.2. Об’єднання ............................................................................................................................293
Висновки........................................................................................................................................297
Контрольні запитання та завдання..............................................................................................297
Вправи...........................................................................................................................................298
Задачі.............................................................................................................................................299
Розділ 10. Файлові структури даних............................................................................................300
10.1. Фізичний і логічний файли...................................................................................................300
10.2. Технологія роботи з файлами..............................................................................................301
10.2.1. Типи файлів і оголошення файлових змінних..................................................................301
10.2.2. Відкриття та закриття файлів............................................................................................302
10.2.3. Зчитування і запис текстових файлів...............................................................................304
10.2.4. Послідовний запис і зчитування компонентів бінарних файлів......................................312
10.2.5. Прямий доступ до компонентів бінарних файіів...............................................................315
10.2.6. Системні операції з файлами.............................................................................................320
10.3. Буферизація даних ................................................................................................................320
Висновки...........................................................................................................................................324
Контрольні запитання та завдання................................................................................................325
Вправи.............................................................................................................................................325
Задачі..............................................................................................................................................326
Розділ 11. Динамічні структури даних..........................................................................................328
11.1. Динамічні змінні та динамічна пам’ять................................................................................328
11.1.1. Розподіл оперативної пай 'яті.............................................................................................328
11.1.2. Виділення та звільнення динамічної пам ’яті....................................................................330
11.2. Спискові структури даних.......................................................................................................332
11.2.1. Визначення лінійного списку та його різновидів.................................................................332
11.2.2. Робота зі стеком .................................................................................................................. 334
11.2.3. Робота з чергою......................................................................................................................337
11.2.4. Робота з лінійним списком.................................................................................................... 340
11.3. Дерева........................................................................................................................................346
11.3.1. Основні поняття ......................................................................................................................346
11.3.2. Алгоритми роботи з бінарними деревами..............................................................................347
11.4. Масиви в динамічній пам’яті.......................................................................................................364
Висновки............................................................................................................................................... 366
Контрольні запитання та завдання..................................................................................................... 368
Вправи....................................................................................................................................................368
Задачі..................................................................................................................................................... 369
Розділ 12. Алгоритми на графах............................................................................................................371
12.1. Поняття графа та його зображення в пам’яті комп’ютера...........................................................371
12.2. Найкоротші шляхи у графі............................................................................................................. 373
12.3. Обхід графу......................................................................................................................................377
12.3.1. Пошук вглибину.............................................................................................................................377
12.3.2. Пошук ушир....................................................................................................................................381
Висновки.....................................................................................................................................................385
Контрольні запитання та завдання............................................................................................................385
Задачі...........................................................................................................................................................386
Задачі підвищеної складності.....................................................................................................................387
Література................................................................................................................................................... 394
Алфавітний покажчик..................................................................................................................................396
У підручнику розглядаються основні поняття алгоритмізації: поняття та властивості алгоритмів, базові алгоритмічні структури, типи алгоритмів, структури даних. У підручнику розв’язана велика кількість різноманітних задач з обробки масивів, рядків, структур, файлів і списків. Велика увага приділяється важливим алгоритмам матричної та векторної алгебри, обробці динамічних структур даних і обчисленням на графах. Подані програмні реалізації типових класичних алгоритмів сортування та пошуку. Усі коди супроводжуються детальними коментарями, описом алго- ритмів та застосованої техніки програмування. Окремий розділ книги присвячено теоретичним засадам структурного програмування. Як робоча мова програмування у підручнику використовуються мови С/С++.
Підручник призначений для студентів вищих навчальних закладів, які навчаються за напрямами підготовки «Комп’ютерні науки», «Комп’ютерна інженерія», «Програмна інженерія» і вивчають сучасні інформаційні технології в рамках дисциплін «Алгоритмізація та програмування», «Основи програмування та алгоритмічні мови», а також для викладачів зазначених дисциплін.
Немає коментарів для цієї одиниці.