КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
ТА ЧАСОМ... 897.1. Загальна концепція та функції символьного введення-виведення. 89 7.2. Символьні функції 94 7.3. Рядкові функції 95 7.4. Числові функції 96 7.5. Функції роботи з датою та часом.. 97 Контрольні питання. 100 Завдання. 100 РОЗДІЛ 8. ВКАЗІВКИ, ПОСИЛАННЯ ТА МАСИВИ.. 104 8.1. Вказівки. 104 8.2. Посилання. 112 8.3. Одновимірні масиви. 113 8.4. Багатовимірні масиви. 119 8.5. Символьні масиви. 124 Контрольні питання. 129 Завдання. 129 РОЗДІЛ 9. РОБОТА З ФУНКЦІЯМИ.. 138 9.1. Засоби створення функцій. 138 9.2. Видимість змінних. 139 9.3. Параметри функції та передача значень. 143 9.4. Передача масивів в якості параметрів функцій. 146 9.5. Функції та вказівки. 149 9.6. Перевантаження та шаблони функцій. 153 Контрольні питання. 156 Завдання. 157 РОЗДІЛ 10. РЕКУРСИВНЕ ПРОГРАМУВАННЯ.. 160 10.1. Основні поняття рекурсії. Визначення факторіалу числа. 160 10.2. Приклади рекурсій. 160 Контрольні питання. 163 РОЗДІЛ 11. РОБОТА З ФАЙЛАМИ.. 164 11.1. Робота з текстовими та бінарними файлами. 164 11.2. Довільний доступ у файлах. 168 11.3. Файли потокового введення/виведення з використанням структури FILE. 173 Контрольні питання. 178 Завдання. 179 РОЗДІЛ 12. СТРУКТУРИ.. 183 12.1. Загальна характеристика структури. 183 12.2. Масиви структур. 187 12.3. Використання масивів, як елементів структур. 189 Контрольні питання. 199 Завдання. 199 РОЗДІЛ 13. ОБ’ЄДНАННЯ ТА ІНШІ ТИПИ ДАНИХ. ОБРОБКА ВИКЛЮЧНИХ СИТУАЦІЙ.. 200 13.1. Об’єднання. 200 13.2. Перелічені типи даних (enum). 201 13.3. Бітові поля. 201 13.4. Обробка виключних ситуацій. 202 Контрольні питання. 203 РОЗДІЛ 14. ДИНАМІЧНІ СТРУКТУРИ ДАНИХ.. 208 14.1. Стек. 208 14.2. Черга. 210 14.3. Лінійний список. 211 Контрольні питання. 215 Завдання. 216 РОЗДІЛ 15. ТИПОВІ МЕТОДИ СОРТУВАННЯ МАСИВІВ.. 218 15.1. Бульбашкове сортування (bubble sort). 218 15.2. Сортування за допомогою вибору (choice sort). 219 15.3. Сортування вставками (insert sort). 220 15.4. Сортування Шелла. 222 15.5. Швидке сортування (quick sort). 223 Контрольні питання. 225 Завдання. 226 РОЗДІЛ 16. ЧИСЕЛЬНЕ ДИФЕРЕНЦІЮВАННЯ ТА ІНТЕГРУВАННЯ.. 228 16.1. Методи правих та центральних різниць чисельного диференціювання. 228 16.2. Методи прямокутників, трапецій, Сімпсона (парабол) чисельного інтегрування. 229 Контрольні питання. 232 Завдання. 232 РОЗДІЛ 17. ЧИСЕЛЬНІ МЕТОДИ РОЗВ’ЯЗАННЯ АЛГЕБРАЇЧНИХ РІВНЯНЬ.. 236 17.1. Метод половинного ділення (дихотомія). 236 17.2. Метод Ньютона (метод дотичних). 237 17.3. Метод Рибакова. 240 Контрольні питання. 242 Завдання. 242 РОЗДІЛ 18. ЧИСЕЛЬНІ МЕТОДИ РОЗВ’ЯЗАННЯ СИСТЕМИ ЛІНІЙНИХ АЛГЕБРАЇЧНИХ РІВНЯНЬ.. 244 18.1. Визначник. Дії над матрицями. Обчислення оберненої матриці 244 18.2. Метод оберненої матриці. 252 18.3. Метод Крамера. 253 18.4. Метод Гауса. 254 Контрольні питання. 257 Завдання. 258 СПИСОК ЛІТЕРАТУРИ.. 263 ДОДАТКИ.. 264 ВСТУП
Навчальний посібник з дисципліни «Основи програмування» призначений для поглибленого вивчення студентами основ класичного програмування на мові C++. В якості основ розглядається структурне програмування, яке є базисом для подальшого вивчення об’єктно-орієнтованого програмування. На конкретних прикладах розглянуті алгоритми та програми по основним розділам структурного програмування. У кожному розділі наводиться реалізація прикладів та виведення відповідних результатів. Значна увага приділяється структурам даних, обробці виключних ситуацій, родовим функціям, масивам та роботі з вказівками. У окремих розділах приведені типові алгоритми сортування даних, а також чисельні методи вирішення задач (чисельне диференціювання та інтегрування, чисельне вирішення рівнянь та систем рівнянь). При реалізації прикладів мають місце декілька варіантів виконання певних операцій, на яких треба зупинитися. У цьому випадку всі варіанти окрім першого коментуються (символи коментарю "//" або "/*…*/"). Зміст навчального посібника охоплює наступні розділи: 1. Арифметичні основи обчислювальних машин. 2. Основи алгоритмізації обчислювальних процесів. 3. Основні відомості C++. 4. Введення-виведення даних. 5. Операції в С++. 6. Організація циклів. 7. Зовнішні пристрої та символьне введення/виведення. Рядкові, числові функції та функції роботи з датою та часом. 8. Вказівки, посилання та масиви. 9. Робота з функціями. 10. Рекурсивне програмування. 11. Робота з файлами. 12. Структури. 13. Об’єднання та інші типи даних. Обробка виключних ситуацій. 14. Динамічні структури даних. 15. Типові методи сортування масивів. 16. Чисельне диференціювання та інтегрування. 17. Чисельні методи розв’язання алгебраїчних рівнянь. 18. Чисельні методи розв’язання системи лінійних алгебраїчних рівнянь. Приклади, приведені в посібнику розроблені для режиму Console (тип проекту Win32 Console Application) з використанням сучасного стандарту С++ (ISO/IEC 14882). Даний стандарт застосовується у мовах програмування Visual C++, починаючи з 1998 року. У Visual C++ 2002-2010 років підтримується тільки сучасний стандарт і лише в Visual C++ 1998 року підтримується попередній та сучасний стандарти програмування. Відмінності між попереднім і сучасним стандартами програмування включають дві нові риси: змінився стиль оформлення заголовків (headers) і з'явилася інструкція namespace. Заголовки (headers), які пов’язані з потоками введення/виведення даних пишуться без розширення h, всі ж інші заголовки залишаються без змін. Це такі хайдери, як <iostream>, <fstream>, <istream>, <ostream>, <iomanip> та інші хайдери, пов’язані з потоками. Коли в програму включається заголовок нового стилю, зміст цього заголовка знаходиться в просторі імен std. Простір імен (namespace) – це оголошувана область, необхідна для того, щоб уникнути конфліктів імен ідентифікаторів. Щоб простір імен std став видимим, необхідно використовувати наступну інструкцію: using namespace std. Навчальний посібник адресований студентам, слухачам магістратури, аспірантам, викладачам. Може бути використаний як самовчитель.
|