Локальне зображення обкладинки
Локальне зображення обкладинки

Алгоритмізація та програмування підручник Т. В. Ковалюк

За: Мова: українська Серія: Комп'ютингПублікація: Магнолія 2006 2018 ЛьвівОпис: 400 сISBN:
  • 9786175740699
Тематика(и):
Вміст:
Стислий зміст Передмова.......................................................................................................................... 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
Зведення: У підручнику розглядаються основні поняття алгоритмізації: поняття та властивості алгоритмів, базові алгоритмічні структури, типи алгоритмів, структури даних. У підручнику розв’язана велика кількість різноманітних задач з обробки масивів, рядків, структур, файлів і списків. Велика увага приділяється важливим алгоритмам матричної та векторної алгебри, обробці динамічних структур даних і обчисленням на графах. Подані програмні реалізації типових класичних алгоритмів сортування та пошуку. Усі коди супроводжуються детальними коментарями, описом алго- ритмів та застосованої техніки програмування. Окремий розділ книги присвячено теоретичним засадам структурного програмування. Як робоча мова програмування у підручнику використовуються мови С/С++. Підручник призначений для студентів вищих навчальних закладів, які навчаються за напрямами підготовки «Комп’ютерні науки», «Комп’ютерна інженерія», «Програмна інженерія» і вивчають сучасні інформаційні технології в рамках дисциплін «Алгоритмізація та програмування», «Основи програмування та алгоритмічні мови», а також для викладачів зазначених дисциплін.
Тип одиниці: Книги Списки з цим бібзаписом: Комп'ютерні науки та технології
Мітки з цієї бібліотеки: Немає міток з цієї бібліотеки для цієї назви. Ввійдіть, щоб додавати мітки.
Оцінки зірочками
    Середня оцінка: 0.0 (0 голос.)
Фонди
Поточна бібліотека Шифр зберігання Стан Штрих-код
ЧЗ - Читальна зала 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

У підручнику розглядаються основні поняття алгоритмізації: поняття та властивості алгоритмів, базові алгоритмічні структури, типи алгоритмів, структури даних. У підручнику розв’язана велика кількість різноманітних задач з обробки масивів, рядків, структур, файлів і списків. Велика увага приділяється важливим алгоритмам матричної та векторної алгебри, обробці динамічних структур даних і обчисленням на графах. Подані програмні реалізації типових класичних алгоритмів сортування та пошуку. Усі коди супроводжуються детальними коментарями, описом алго- ритмів та застосованої техніки програмування. Окремий розділ книги присвячено теоретичним засадам структурного програмування. Як робоча мова програмування у підручнику використовуються мови С/С++.
Підручник призначений для студентів вищих навчальних закладів, які навчаються за напрямами підготовки «Комп’ютерні науки», «Комп’ютерна інженерія», «Програмна інженерія» і вивчають сучасні інформаційні технології в рамках дисциплін «Алгоритмізація та програмування», «Основи програмування та алгоритмічні мови», а також для викладачів зазначених дисциплін.

Немає коментарів для цієї одиниці.

для можливості публікувати коментарі.

Натисніть на зображення, щоб переглянути його в оглядачі зображень

Локальне зображення обкладинки