СТРУКТУРНЕ ПРОГРАМУВАННЯ

Get Started. It's Free
or sign up with your email address
СТРУКТУРНЕ ПРОГРАМУВАННЯ by Mind Map: СТРУКТУРНЕ ПРОГРАМУВАННЯ

1. Функції

1.1. Функції - це блоки коду, що виконують певні операції

1.1.1. При оголошенні функції необхідно вказати: 1. Повертаний тип, що є типом значення, повертаного функцією. Якщо повертати значення не вимагається, вкажіть void. Наприклад, в C 11 можна використати повертаний тип auto, що віддає компілятору команду визначати тип відповідно до оператора return. Тип decltype(auto) також використовується в C 14. Додаткові відомості см в підрозділі "Виведення повертаних типів" нижче. 2. Ім'я функції, яке повинне розпочинатися з букви або символу підкреслення і не повинно містити пропусків. У стандартній бібліотеці зі знаку підкреслення зазвичай розпочинаються імена закритих функцій-членів або функцій, що не є членами і не призначених для використання у вашому коді. 3. Список параметрів, поміщений в дужки. У цьому списку через кому вказується потрібне(можливо, нульове) число параметрів, задаючих тип і, при необхідності, локальне ім'я, по якому до значень можна отримати доступ в тілі

1.2. тип ім’я_функції(список_параметрів або void) { тіло_функції [return] (вираз); }

2. Масиви

2.1. впорядкований набір фіксованої кількості однотипних елементів, що зберігаються в послідовно розташованих комірках оперативної пам'яті, мають порядковий номер і спільне ім'я, що надає користувач.

2.1.1. Одновимірні масиви

2.1.2. Багатовимірні масиви

2.1.3. Динамічні масиви

3. ТИПИ ДАНИХ

3.1. Основні типи даних

3.1.1. int (цілий); char (символьний); bool (логічний); float (дійсний); double (дійсний з подвійною точністю); void (порожній, не має значення).

3.2. Специфікатори типу

3.2.1. short (короткий); long (довгий); signed (знаковий); unsigned (беззнаковий).

4. змінні

4.1. глобальні

4.2. локальні

5. Вектор

5.1. Типова реалізація вектора — це вказівник на динамічний масив. Розмір вектора — це кількість елементів, а об'єм — кількість використаної ним пам'яті.

5.1.1. #include <vector> int main() { std::vector<int> v(1); // Створюємо вектор, що складається з одного елемента типу int, значення якого рівне 0 int& first = *v.begin(); // Створюємо посилання на перший елемент v.insert(v.end(), v.capacity(), 0); // Додаємо нові елементи int i = first; // Невизначена поведінка. Посилання може бути недійсним. }

5.2. це абстрактна модель, яка імітує динамічний масив.

5.2.1. Клас vector — це контейнер. Згідно з стандартом С++, будь-який контейнер повинен мати такі методи begin(), end(), size(), max_size(), empty() і swap()

5.2.2. В додаток до функцій прямого доступу до елементів, описаних вище, елементи вектора можна отримати за допомогою ітераторів.

5.2.3. Ітератори зазвичай використовуються парами, один з яких використовується для вказівки поточної ітерації, а другий слугує для позначення кінця контейнера. Ітератори створюються за допомогою таких стандартних методів, як begin() і end(). Функція begin() повертає вказівник на перший елемент, а end() — на уявний неіснуючий елемент, що є наступним після останнього.

5.2.3.1. vector<int> the_vector; vector<int>::iterator the_iterator; for (int i=0; i < 10; i++) { the_vector.push_back(i); } int total = 0; the_iterator = the_vector.begin(); while (the_iterator != the_vector.end()) { total += *the_iterator; /* Зверніть увагу, що доступ до елемента можна отримати за допомогою розіменування ітератора */ ++the_iterator; } cout << "Сума=" << total << endl;

6. String

6.1. В мові програмування C++, std::string є стандартним класом, який представляє текстовий рядок. Цей клас вирішує багато проблем, що виникають при роботі з рядками Cі-стилю

6.1.1. #include <iostream> #include <string> using namespace std; int main() { string foo = "fighters"; string bar = "stool"; // "!=" порівнює вміст рядків на рівність, навіть якщо це різні об'єкти. if (foo != bar) { cout << "The strings are different." << endl; } // Друкує рядок "stool fighters" створюючи тимчасовий рядок, який буде знищено автоматично. cout << bar + " " + foo << endl; return 0; }

6.1.2. методи size_t size () const noexcept Повертає поточну кількість символів в рядку [1]. size_t length () const noexcept Повертає поточну кількість символів в рядку [1]. size_t max_size () const noexcept Повертає максимально можливу довжину рядка [1]. void resize (size_t n); Змінює розмір довжини рядка [1]. void resize (size_t n, char c); Змінює розмір довжини рядка і заповнює рядок зазначеним символом [1]. size_t capacity () const noexcept Повертає довжину рядка виділеної пам'яті [1]. void reserve (size_t n = 0) Резервує пам'ять для n символів [1]. void clear () noexcept Очищає рядок [1]. bool empty () const noexcept Повертає логічний прапор про те, порожня рядок [1]. shrink_to_fit ()

7. ЦИКЛИ

7.1. Безумовні цикли

7.1.1. while true do for(;;) while (1)

7.1.2. Цинкл вихід в якому не передбачений логікою програми. Для забезпечення нескінченного повторення перевірка умови в такому циклі відсутня.

7.2. Цикл з передумовою

7.2.1. while (<умова>) { <Тіло циклу> }

7.2.2. Цикл з передумовою — цикл, що виконується доки істинна деяка умова, вказана перед його початком. Ця умова перевіряється до початку виконання тіла циклу, тому тіло може бути не виконане жодного разу (якщо умова з початку хибна). У більшості процедурних мов програмування здійснюється за допомогою інструкції while

7.3. Цикл з післяумовою

7.3.1. Цикл з післяумовою — цикл, в якому умова перевіряється після виконання тіла циклу.

7.3.2. do { <тіло циклу> } while(<умова>)

7.4. Цикл з лічильником

7.4.1. Цикл з лічильником — цикл, в якому деяка змінна змінює своє значення від заданого початкового значення до кінцевого значення з деяким кроком, і для кожного значення цієї змінної тіло циклу виконується один раз

7.4.2. i = 0; while (i <10) { ... тіло циклу ++ i; }

8. СОРТУВАННЯ

8.1. базові

8.1.1. обмінне

8.1.2. вибором

8.1.3. вставками

8.2. Швидкі

8.2.1. швидке

8.2.2. пірамідальне

8.2.3. злиття

9. Структура

9.1. об'єднання різних змінних (навіть з різними типами даних), якому можна присвоїти ім'я.

9.2. struct building { char *owner char *city; int amountRooms; float price; }apartment1; //объявление объекта типа building

10. оператори

10.1. порівняння

10.2. арифметичні

10.3. логічні

10.4. складені оператори присвоення