Структурне програмування С++

Get Started. It's Free
or sign up with your email address
Структурне програмування С++ by Mind Map: Структурне програмування С++

1. Оператори повторення. Цикли

1.1. Цикл - це форма організації дій, при якій одна і та ж послідовність дій виконується кілька разів. Один прохід циклу називають Ітерація.

1.1.1. Цикли бувають:

1.1.1.1. З лічильником. Виконується, якщо заздалегідь відомо, скільки разів необхідно виконати тіло циклу.

1.1.1.2. З передумовою

1.1.1.3. З післяумовою

1.1.2. Цикл - for(вираз1; логічний_вираз2;ітератор або лічильник) {... тіло циклу ...}

1.1.2.1. Вираз1 - початкове значення (точка відліку

1.1.2.2. Логічний_вираз2 - кінцеве значення (при досягненні якого відбувається вихід із циклу)

1.1.2.3. Ітератор - "крок"(зміна параметра) циклу.

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

1.1.3. Оператори керування

1.1.3.1. Continue - припиняє роботу поточної ітерації циклу, переходячи до іншої

1.1.3.2. Break - припиняє роботу циклу і передає керування операції, що йде одразу після циклу

2. Математичні операціЇ

2.1. Унарні (операція тільки з одним операндом, інакше операція з єдиним входом, або функція від однієї змінної)

2.2. Бінарні (приймають два аргументи та повертають один результат)

2.3. Математичні дії

2.3.1. "( )" - Дужки.

2.3.2. "*, /, %" - Множення, ділення та остача від ділення

2.3.3. "+, -" - додавання, віднімання

2.3.4. "==, !=, <, <=, >, >=" - порівняння/відношення

2.3.5. Спрощення математичних дій

2.3.5.1. а=а+2 можна записати як а+=2. Аналогічно а=а*2 записують як а*=2 і т.д.

2.4. Інкремент/Декремент

2.4.1. Інкремент - це приріст. Приклад: а=а+1 записують як а++ або ++а

2.4.2. Декремент - це протилежність інкремента. Записують як а-- або --а

2.5. ТЕРНАРНІ ОПЕРАЦІЇ if (a>b) cout<<a<<endl; else cout<<b<<endl; (Відбувався пошук більшого з двох чисел)

2.5.1. Можна замінити на: "a > b ? cout<<a : cout<<b;"

3. Основні функції

3.1. #include - дозволяє підключити заголовкові файли до файлів коду

3.1.1. #include <iostream> - заголовковий файл, що організує введення та виведення інформації через консоль

3.2. using namespace std; - підключає засоби стандартної бібліотеки, використовуючи скорочений запис імен

3.3. int main( ) { ..... } - головна функція. Функції потрібні для проведення обчислень. Усі дії, що виконуються кодом, виконуються у функціях.

3.3.1. Функція складається з:

3.3.1.1. int - тип даних, що їх повертає функція

3.3.1.2. main - ім'я функції

3.3.1.3. ( ) - у круглих дужках знаходяться параметри функції.

3.3.1.4. Return 0; - повертає значення 0. Завершує програму.

3.3.1.5. { ... } - у фігурних дужках знаходиться саме тіло функції.

3.3.1.6. ОБОВ'ЯЗКОВО КІЛЬКІСТЬ ВІДКРИТИХ ДУЖОК МАЄ СПІВПАДАТИ З КІЛЬКІСТЮ ЗАКРИТИХ ДУЖОК!

4. Потоки

4.1. cin>>

4.1.1. Забезпечує введення інформації з клавіатури

4.1.1.1. Вводити значення можна послідовно. В кінці обов'язково крапка з комою! Приклад: cin>>a>>b;

4.1.2. ОБОВ'ЯЗКОВО з цхєю командою використовюється оператор введення ">>"

4.2. cout<<

4.2.1. Забезпечує вивід інформації на консоль

4.2.1.1. Після команди cout<< краще використовувати опретатор переходу на новий рядок "endl". В кінці обов'язково крапка з комою! Приклад: cout<<a<<endl;

4.2.1.2. Для виведення не значення змінної, а просто якогось тексту, його треба взяти в лапки. Приклад: cou<<"TEXT"<<endl;

4.2.2. ОБОВ'ЯЗКОВО з цхєю командою використовюється оператор виведення "<<"

5. Змінні та константи

5.1. Величина - одиниця даних якими оперує програма

5.2. ВЛАСТИВОСТІ

5.2.1. Тип (визначає обсяг відведеної пам'яті, можливі дії)

5.2.2. Назва (ідентифікатор, на початку ОБОВ'ЯЗКОВО ЛІТЕРА)

5.2.3. Значення (елемент множини допустимих значень величини)

5.2.4. УВАГА!!! РЕГІСТР І ПРОПУСКИ ВРАХОВУЮТЬСЯ ( sum i Sum - різні назви!)

5.3. Константа - ділянка пам'яті, що має ім'я, де зберігається значення величини яке не змінюється в процесі виконання програми. Приклад: const int b=0;

6. Розгалуження

6.1. Логічні операції

6.1.1. "&&" - означає "і". Приклад: (а==3)&&(b>4)

6.1.2. "||" - означає "або". Приклад: (а==3)||(b>4)

6.1.3. "!" - означає "не (заперечення)". Приклад: !(а==3)

6.2. Логічні вирази

6.2.1. Простий - 2 арифметичні вирази, з'єднані символом відношення. (а==7) , (а!=4) і т.д.

6.2.2. Складений - прості логічні вирази, з'єднані логічними операціями. ((а==3)&&(b>4)) , !(а==3) і т.д.

6.2.3. УВАГА! Логічним виразом може бути ціле число. Якщо воно НЕ дорівнює нулю, то значення логічного виразу буде true. Якщо це число 0, буде false.

6.3. Повне - "if (умова) оператор1; else оператор2;"

6.4. Неповне - "if (умова) оператор1;"

7. Функція користувача

7.1. Загальний вигляд: int func ( ) { ... ... ... return parameter; } Тип_повернення ім'я_функції (параметри) { тіло_функції; return значення; }

8. Локальні та глобальні змінні. Генерування випадкових чисел.

8.1. НЕОБХІДНО ПІДКЛЮЧИТИ ФАЙЛ <cstdlib>

8.1.1. Випадкові числа (потребує підключення <ctime>

8.1.1.1. RAND_MAX - максимальне значення

8.1.1.2. rand( ) - генератор випадкових чисел

8.1.1.3. rand( )%a - маштабування діапазону генерації

8.1.1.4. srand(time(o)); - автоматичний режим

8.1.1.5. srand(а); - ручний режим

8.1.2. Змінні

8.1.2.1. Локальні

8.1.2.2. Глобальні

9. Файли

9.1. Файл - це впорядкована сукупність даних, що займає іменовану область зовнішньої пам'яті.

9.2. Алгоритм роботи з файлами:

9.2.1. Відкрити;

9.2.2. Виконати певні дії;

9.2.3. Закрити;

9.3. УВАГА! Для того, щоб можна було працювати з файлами, необхідно підключити заголовковий файл "fstream"!!!

9.4. Оператори роботи з файлами:

9.4.1. "ifstream" - читання файлу

9.4.2. "ofstream" - запис у файл

9.5. Порядок запису у файл: "ofstream f_out ("output.txt");

9.5.1. Створити об'єкт класу "ofstream" ("ofstream f_out")

9.5.2. Зв'язати об'єкт з файлом, у який відбуватиметься запис "("output.txt")"

9.5.3. Записати рядок у файл командою "fout<<"Hello world!";"

9.5.4. Закрити файл командою "f_out.close( );"

9.6. Порядок зчитування з файлу: "ifstream f_in ("input.txt");"

9.6.1. Створити об'єкт класу "ifstream" ("ifstream f_in")

9.6.2. Зв'язати об'єкт з файлом, з якого відбуватиметься зчитування "("(input.txt")"

9.6.3. Зчитування (в даному випадку у змінну "а") відбувається за допомогою оператора ">>" ("f_in >> a;")

9.6.4. Закрити файл командою "f_in.close( );"

9.7. ifstream ("ім'я файлу", режим відкриття файлу);

9.8. ofstream ("ім'я файлу", режим відкриття файлу);

9.9. Режими відкриття:

9.9.1. "ios::in" - відкрити для зчитування

9.9.2. "ios::out" - відкрити для запису

9.9.3. "ios::app" - відкрити для додавання в кінець

9.9.4. "ios::trunc" - видалити вміст файлу

9.10. is_open();

9.10.1. 1 - Файл успішно відкрито

9.10.2. 0 - файл не відкрито

10. Оператори вибору

10.1. Switch

10.1.1. Switch(вираз) { case константний вираз1: оператори1; break; case константний вираз2: оператори2; break; ... case константний виразN: операториN; break; default: оператори; }

10.1.2. Увага! Враз та константні вирази повинні мати цілочисельний тип або тип char.

11. Передавання параметрів у функцію

11.1. За значенням

11.2. За вказівником

11.3. За посиланням

12. Масиви, вектори, сортування

12.1. Масиви

12.1.1. Одновимірні. Оголошуються як змінні, тобто спочатку тип, потім назва, а далі у КВАДРАТНИХ ДУЖКАХ записується кількість елементів масиву, або змінна, що цю кількість елементів задає. Приклад: int mas [f];

12.1.1.1. МАСИВИ ОБОВ'ЯЗКОВО ЗАПОВНЮЮТЬСЯ ЧЕРЕЗ ЦИКЛ!

12.1.2. Багатовимірні - аналогічно з одновимірним, але виглядають приблизно так: int mas[f][b]; Тобто, змінних, або чисел, що задають розмірність масиву може бути нескінченна кількість.

12.1.2.1. ДВОВИМІРНІ МАСИВИ ОБОВ'ЯЗКОВО ЗАПОВНЮЮТЬСЯ ЗВ'ЯЗКОЮ З ДВОХ ЦИКЛІВ. СКІЛЬКИ ВИМІРІВ - СТІЛЬКИ І ЦИКЛІВ !!

12.1.3. Динамічні - string. вимагають підключення заголовкового файлу <string>. Являють собою рядкову величину, яка може містити як числові дані, так і символьні. Заповнюються через цикли, можуть бути багатовимірними.

12.2. Вектори

12.2.1. Вектор — це абстрактна модель, яка імітує динамічний масив. Вимагає підключення заголовкового файлу <vector>.

12.2.2. Як і всі стандартні компоненти, він розміщений у просторі імен std. Даний інтерфейс емулює роботу стандартного масиву мови C (наприклад швидкий довільний доступ до елементів), а також деякі додаткові можливості, такі, як автоматична зміни розміру вектора при вставці або видаленні елемента.

12.2.3. Організація: vector <int> f; vector <int> - тип vector - шаблон а - ім'я

12.2.4. vector <int> a1; vector <int> a2(a1);

12.2.5. ОПЕРАЦІЇ З ВЕКТОРАМИ

12.2.5.1. v.empty повертає true, якщо ветор v пустий

12.2.5.2. v.size визначає кількість елементів вектора

12.2.5.3. v.push_back(t) додає елемент в кінець

12.2.5.4. v.clear( ) очищує вектор

12.2.5.5. v.pop_back видаляє останній елемент

12.2.5.6. ІТЕРАТОРИ

12.2.5.6.1. Використовуються з векторами.

12.3. Сортування та типи сортування

12.3.1. Базові

12.3.1.1. Обмінне

12.3.1.2. Сортування вибором

12.3.1.3. Сортування вставкою

12.3.2. Швидкі

12.3.2.1. Злиття

12.3.2.2. Пірамідальне

12.3.2.3. Швидке сортування

13. Структури

13.1. Структура дозволяє групувати інформацію різних типів, що складає елементи ( поля) структури, в одній змінній.

13.1.1. struct uchen { char name[64]; int riknar; float serbal; char phone[10]; };

13.2. Щоб присвоїти значення елементу або звернутися до значення елемента, використовують операцію "вибір елемента - крапка (.)

13.3. Якщо функція змінює параметр, його належить передавати у неї за допомогою вказівника. Для передачі змінної типу структури за допомогою вказівника перед ім'ям змінної ставлять знак взяття адреси (&)

13.4. Зміна значень змінної функції відбувається за допомогою оператора "->"