- •Міністерство освіти і науки україни
- •Розділ 1. Арифметичні основи обчислювальних машин
- •1.1. Позиційні системи числення. Переведення числа з однієї системи числення в іншу
- •1.2. Форма представлення чисел. Кодування чисел
- •1.3. Арифметичні операції над двійковими числами. Машинні одиниці інформації
- •Контрольні питання
- •Завдання
- •Розділ 2. Основи алгоритмізації обчислювальних процесів
- •2.1. Поняття і властивості алгоритму
- •2.2. Засоби представлення алгоритмів
- •2.3. Типи алгоритмічних процесів. Приклади
- •Контрольні питання
- •Завдання
- •3.1. Загальна характеристика програми
- •3.3. Кроки для створення та виконання програми
- •3.4. Змінні та константи
- •3.5. Директиви препроцесора
- •Контрольні питання
- •Розділ 4. Введення-виведення даних
- •4.1. Об’єкт виведення даних cout
- •4.2. Функція виведення даних printf
- •4.3. Об’єкт введення даних cin
- •4.4. Функція введення даних scanf
- •Контрольні питання
- •5.2. Операції відношення
- •5.3. Логічні операції
- •5.4. Додаткові операції
- •5.5. Порозрядні операції
- •Контрольні питання
- •Завдання Лінійний обчислювальний процес
- •1. Визначити значення функції y
- •2. Геометричні завдання
- •Розгалужений обчислювальний процес
- •1. Визначити значення функції y
- •3. Перевірити, чи міститься точка з заданими координатами усередині заштрихованої області.
- •Розділ 6. Організація циклів
- •6.1. Організація арифметичних циклів з використанням оператору for
- •6.2. Організація ітераційних циклів з передумовою while та післяумовою do...While
- •6.3. Оператори switch та goto
- •Контрольні питання
- •Завдання Арифметичний цикл
- •Вкладені цикли
- •Ітераційний цикл
- •Суміщення розгалуженого та циклічного процесів
- •Розділ 7. Зовнішні пристрої та символьне введення/виведення. Рядкові, числові функції та функції роботи з датою та часом
- •7.1. Загальна концепція та функції символьного введення-виведення
- •7.2. Символьні функції
- •7.3. Рядкові функції
- •7.4. Числові функції
- •7.5. Функції роботи з датою та часом
- •Контрольні питання
- •Завдання
- •Розділ 8. Вказівки, посилання та масиви
- •8.1. Вказівки
- •8.2. Посилання
- •8.3. Одновимірні масиви
- •8.4. Багатовимірні масиви
- •8.5. Символьні масиви
- •Контрольні питання
- •Завдання Одновимірні масиви
- •Двовимірні масиви
- •Розділ 9. Робота з функціями
- •9.1. Засоби створення функцій
- •9.2. Видимість змінних
- •9.3. Параметри функції та передача значень
- •9.4. Передача масивів в якості параметрів функцій
- •9.5. Функції та вказівки
- •9.6. Перевантаження та шаблони функцій
- •Контрольні питання
- •Завдання
- •Розділ 10. Рекурсивне програмування
- •10.1. Основні поняття рекурсії. Визначення факторіалу числа
- •10.2. Приклади рекурсій
- •Контрольні питання
- •Розділ 11. Робота з файлами
- •11.1. Робота з текстовими та бінарними файлами
- •Можливі режими доступу
- •11.2. Довільний доступ у файлах
- •11.3. Файли потокового введення/виведення з використанням структури file.
- •Контрольні питання
- •Завдання
- •Розділ 12. Структури
- •12.1. Загальна характеристика структури
- •12.2. Масиви структур
- •12.3. Використання масивів, як елементів структур
- •3. Робота зі структурами є універсальною, передбачено додавання записів до файлу (флаг ios:app). Для підрахунку кількості структур на диску приведемо наступні рядки програми:
- •Контрольні питання
- •Завдання
- •Розділ 13. Об’єднання та інші типи даних. Обробка виключних ситуацій
- •13.1. Об’єднання
- •13.2. Перелічені типи даних (enum)
- •13.3. Бітові поля
- •13.4. Обробка виключних ситуацій
- •Контрольні питання
- •Розділ 14. Динамічні структури даних
- •14.1. Стек
- •14.2. Черга
- •14.3. Лінійний список
- •Контрольні питання
- •Завдання
- •Розділ 15. Типові методи сортування масивів
- •15.1. Бульбашкове сортування (bubble sort)
- •15.2. Сортування за допомогою вибору (choice sort)
- •15.3. Сортування вставками (insert sort)
- •15.4. Сортування Шелла
- •15.5. Швидке сортування (quick sort)
- •Контрольні питання
- •Завдання
- •Розділ 16. Чисельне диференціювання та інтегрування
- •16.1. Методи правих та центральних різниць чисельного диференціювання
- •16.2. Методи прямокутників, трапецій, Сімпсона (парабол) чисельного інтегрування
- •Контрольні питання
- •Завдання Чисельне диференціювання
- •Чисельне інтегрування
- •Розділ 17. Чисельні методи розв’язання алгебраїчних рівнянь
- •17.1. Метод половинного ділення (дихотомія)
- •17.2. Метод Ньютона (метод дотичних)
- •17.3. Метод Рибакова
- •Контрольні питання
- •Завдання
- •Розділ 18. Чисельні методи розв’язання системи лінійних алгебраїчних рівнянь
- •18.1. Визначник. Дії над матрицями. Обчислення оберненої матриці
- •18.2. Метод оберненої матриці.
- •18.3. Метод Крамера
- •18.4. Метод Гауса
- •Контрольні питання
- •Завдання
- •1. Розв’язати систему алгебраїчних рівнянь.
- •2. Обчислити добуток матриць.
- •3. Розв’язати матричні рівняння.
- •Список літератури
Контрольні питання
Що таке програма?
Опишіть процес створення програми.
Які стандартні типи даних є у мові C++?
Які відмінності існують між сучасним стандартом С++ та його попереднім стандартом?
Які типи констант ви знаєте?
Які директиви препроцесора ви знаєте?
Призначення директиви #include.
Призначення директиви #define.
Перелічите символи Escape-послідовності.
Яким чином можна перевизначити тип даних.
Яким чином можна задати 8-і та 16-і константи?
Рядкові та символьні константи.
Які ви знаєте засоби ініціалізації масиву символів (рядка)?
Розкрийте призначення ASCII-нуля ‘\0’?
Розділ 4. Введення-виведення даних
4.1. Об’єкт виведення даних cout
Об’єкт cout виводить дані на заданий пристрій.
Синтаксис:
cout << data[ << data ],
де data – змінні, константи, вирази.
Приклад:
cout << "Привіт";
cout << "Коля"; //ПривітКоля
cout<< "\n Привіт\n";
cout << "Коля";
//Привіт
//Коля
# include <iostream>
using namespace std;
void main()
{
cout << "Петро \tВася\n";
cout << "3\t2\n";
cout << "4\t5\n";
}
Виведення:
Петро Вася
3 2
4 5
\t - табуляція через 8 символів.
Для cout використовуються різноманітні маніпулятори. Наприклад, маніпулятори hex і oct використовуються для виведення відповідно, 16-х та 8-х чисел.
Приклад:
# include <iostream>
using namespace std;
void main()
{
int num = 0x4c, num_2 = 012, num_s;
num_s = num + num_2;
cout << "Виведення у 16-х кодах " << hex << num_s;
//Виведення у 16-х кодах 56
}
Маніпулятор установлює виведення 8 та 16–річних чисел, поки не зустрінеться інший маніпулятор oct, hex, dec.
Маніпулятори setw(), setprecision() і setfill() – це функції-члени які змінюють стан об’єкта cout.
setw() – вирівнює число виведення в межах заданої ширини.
setfill() – заповнює незаповнені позиції встановленим символом. При цьому формуються пробіли зліва.
setprecision(n) – маніпулятор виведення зазначеної кількості знаків n.
Приклад:
#include <iostream>
#include <iomanip>
using namespace std;
void main()
{
cout << 456 <<456 <<456<<"\n";
//456456456
cout << setw(5) << 456 << setw(5) << 456<< 456;
// 456 456456
cout<<"\n"<<setw(10)<<setprecision(6)<<12.47888;
// 12.4789
cout << "\n"<< setw(10) << setfill('+')<< 12.47;
//+++++12.47
}
Маніпулятори setiosflags і resetiosflags використовуються для установки певних глобальних прапорів, які клас C++ iostream використовує при визначенні поведінки по умовчанню при введенні та виведенні. На ці прапори посилаються як на змінні стану. Функція setiosflags() встановлює зазначені в ній прапори, а resetiosflags() очищує (або скидає) їх. Ці маніпулятори в якості аргументів використовують значення, приведені в таблиці 4.1.
Таблиця 4.1
Аргументи для setiosflags і resetiosflags
Значення |
Результат, якщо значення встановлене |
ios::skipws |
Ігнорує порожній простір при введенні |
ios::left |
Виведення із вирівнюванням зліва |
ios::right |
Виведення із вирівнюванням справа |
ios::dec |
Виведення у десятковому форматі |
ios::oct |
Виведення у восьмеричному форматі |
ios::hex |
Виведення у шістнадцятирічному форматі |
Продовження таблиці 4.1. | |
Значення |
Результат, якщо значення встановлене |
ios::showbase |
Виводити основу системи числення |
ios::showpoint |
Виводити десяткову точку |
ios::suppercase |
Виводити шістнадцятирічне число заголовними буквами |
ios::showpos |
Виводити “+” перед додатними цілими числами |
ios::scientific |
Використовувати наукову форму виведення чисел із плаваючою точкою |
ios::fixed |
Використовувати форму виведення чисел із фіксованою точкою |
Наприклад:
cout<<setw(10)<<"Привіт\n";
cout<<setw(10)<<setiosflags(ios::left)<<"Привіт";
Результат виконання:
Привіт
Привіт