Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
+ООП_Навч_посібник.doc
Скачиваний:
8
Добавлен:
01.07.2025
Размер:
6.58 Mб
Скачать

3.6.4. Використання пропусків і круглих дужок

Будь-який вираз у мові програмування C++ для підвищення читабельності може містити пропуски (або символи табуляції). Наприклад, наступні два вирази достатньо однакові, але другий прочитати набагато легше:

х=10/y*(127/х);

х = 10 / y * (127/х);

Круглі дужки (так само, як у алгебрі) підвищують пріоритет операцій, що містяться усередині них. Використання надлишкових або додаткових круглих дужок не приведе до помилки або уповільнення обчислення виразу. Іншими словами, від них не буде ніякої шкоди, та зате скільки корисності! Адже вони допоможуть проясняти (у першу чергу для Вас самих, не говорячи вже про тих, кому доведеться розбиратися у цьому без Вас) точний порядок обчислень. Скажіть, наприклад, який з таких двох виразів легше зрозуміти?:

х = y/3-34*tmp+127;

x = (y/3) – (34*tmp) + 127;

Розділ 4. Поняття про настанови керування ходом виконання С++-програми

У цьому розділі Ви дізнаєтеся, як керувати ходом виконання С++-програми. Існує три категорії керівних настанов: настанови вибору (if, switch), ітераційні настанови (що складаються з for-, while- і do-while-циклів) і настанови переходу (break, continue, return і goto). За винятком return, всі решта перераховані вище настанови описано у цьому розділі.

4.1. Використання настанови вибору if

Настанова if дає змогу зробити вибір між двома виконуваними гілками програми.

Настанова if була представлена у розд. 2, але тут розглянемо її детальніше. Повний формат її запису є таким:

if(вираз) настанова;

else настанова;

У цьому записі під елементом настанова розуміємо одну настанову мови програмування C++. Частина else необов'язкова. Замість елемента настанова може бути використаний блок настанов. У цьому випадку формат запису if-настанови набуде такого вигляду:

if(вираз) {

послідовність настанов

}

else {

послідовність настанов

}

Якщо елемент вираз, який є умовним виразом, під час обчислення дасть значення ІСТИНА, то буде виконана if-настанова; інакше – else-настанова (якщо така існує). Обидві настанови ніколи одночасно не виконуються. Умовний вираз, що керує виконанням if-настанови, може мати будь-який тип, що є дійсним для С++-виразів, але головне, щоб результат його обчислення можна було інтерпретувати як значення ІСТИНА або ФАЛЬШ.

Використання if-настанови розглянемо на прикладі коду програми, яка є версією гри "Вгадай магічне число". Програма відображає випадкове число і пропонує його вгадати. Якщо Ви відгадуєте число, то програма виводить на екран повідомлення схвалення ** Правильно **. У цій програмі представлена ще одна бібліотечна функція rand(), яка повертає випадково вибране ціле число від нуля до RAND_MAX. Для використання цієї функції необхідно приєднати до програми заголовок <cstdlib>.

Код програми 4.1. Демонстрація програми "Вгадай магічне число"

#include <iostream> // Для потокового введення-виведення

#include <cstdlib> // Для використання бібліотечних функцій

using namespace std; // Використання стандартного простору імен

int main()

{

int magic; // Магічне число

int guess; // Варіант користувача

magic = rand(); // Отримуємо випадкове число.

cout << "Введіть свій варіант магічного числа: ";

cin >> guess;

if(guess == magic) cout << "** Правильно **";

getch(); return 0;

}

У цій програмі для перевірки того, чи збігається з "магічним числом" варіант, запропонований користувачем, використовують оператор відношення "==". У випадку збігу чисел на екран виводиться повідомлення ** Правильно **.

Спробуємо удосконалити нашу програму, тобто в її нову версію включимо else-гілку для виведення повідомлення про те, що припущення користувача виявилося неправильним.

Код програми 4.2. Демонстрація програми "Вгадай магічне число": перше удосконалення

#include <iostream> // Для потокового введення-виведення

#include <cstdlib> // Для використання бібліотечних функцій

using namespace std; // Використання стандартного простору імен

int main()

{

int magic; // магічне число

int guess; // варіант користувача

magic = rand(); // Отримуємо випадкове число.

cout << "Введіть свій варіант магічного числа: ";

cin >> guess;

if(guess == magic) cout << "** Правильно **";

else cout << "... Дуже шкода, але Ви помилилися.";

getch(); return 0;

}