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

2.1.5. Оброблення синтаксичних помилок

Кожному програмісту відомо, наскільки легко під час введення коду програми в комп'ютер вносяться випадкові помилки (друкарські огріхи). На щастя, під час компілювання такої програми компілятор "сигналить" повідомленням про наявність синтаксичних помилок. Більшість С++-компіляторів спробують "побачити" сенс в початковому коді програми, незалежно від того, що Ви ввели. Тому повідомлення про помилку не завжди відображає дійсну причину проблеми. Наприклад, якщо в попередній програмі випадково опустити відкриту фігурну дужку після імені функції main(), компілятор вкаже як джерело помилки настанову cout. Тому під час отримання повідомлення про помилку прогляньте два-три рядки коду програми, які безпосередньо передують рядку з "виявленою" помилкою. Адже іноді компілятор починає виявляти збої тільки через декілька рядків після реальної помилки.

Багато С++-компіляторів видають як результати своєї роботи не тільки повідомлення про помилки, але і попередження (warning). У мову програмування C++ "від народження" закладено доброзичливе ставлення до програміста, тобто вона дає змогу програмісту чинити практично все, що коректно з погляду синтаксису. Проте навіть "всепрощаючим" С++-компіляторам деякі синтаксично правильні речі можуть видатися підозрілими. У таких ситуаціях і видається попередження. Тоді програміст сам повинен оцінити, наскільки справедливі підозри компілятора. Відверто кажучи, деякі компілятори дуже пильні, тобто попереджають з приводу абсолютно коректних настанов. Окрім того, компілятори дають змогу використовувати різні опції, які можуть інформувати про речі, що цікавлять Вас. Іноді така інформація має форму застережливого повідомлення навіть незважаючи на відсутність "складу" попередження. Програми, наведені у посібнику, написані відповідно до стандарту мови програмування C++ і при коректному введенні не повинні генерувати ніяких застережливих повідомлень.

Варто знати! Більшість С++-компіляторів пропонують декілька рівнів повідомлень (і попереджень) про помилки. У загальному випадку можна вибрати тип помилок, про наявність яких Ви хотіли б отримувати повідомлення. Наприклад, більшість компіляторів за бажанням програміста можуть інформувати про використання неефективних конструкцій або застарілих засобів. Для прикладів цього навчального посібника достатньо використовувати звичайне налаштування компілятора. Але програмісту все ж таки доцільно заглянути в документацію, що додається до компілятора, і поцікавитися, які можливості з керування процесом компілювання є у його розпорядженні. Багато компіляторів достатньо "інтелектуальні" і можуть допомогти у виявленні неочевидних помилок ще до того, як вони спричинять великі проблеми. Знання принципів, що використовуються компілятором під час складання звіту про помилки, вимагає часу і зусиль, які потрібно програмісту на їх засвоєння.

2.2. Розроблення реальної навчальної програми

2.2.1. Присвоєнням значень змінним

Можливо, найважливішою конструкцією в будь-якій мові програмування є присвоєння змінній деякого значення. Змінна – це іменована область пам'яті, у якій можуть зберігатися різні значення. При цьому значення змінної у процесі виконання програми можна змінити один або кілька разів. Іншими словами, вміст змінної є змінним, а не фіксованим.

У наведеному нижче коді програми створюється змінна з іменем х, якій присвоюється значення 1023, а потім на екрані з'являється таке повідомлення:

Ця програма виводить значення змінної х: 1023.

Код програми 2.2. Демонстрація розроблення другої С++ програми

// Програма №2 – Використання змінної.

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

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

int main()

{

int х; // Тут визначається змінна

х = 1023; // Тут змінній х присвоюється число 1023.

cout << "Ця програма виводить значення змінної х: ";

cout << х; // Відображення числа 1023.

getch(); return 0;

}

Що ж нового у цій програмі? По-перше, настанова:

int х; // Тут визначається змінна.

оголошує змінну з іменем х цілочисельного типу. У мові програмування C++ всі змінні мають бути оголошені до їх використання. У визначенні змінної, окрім її імені, треба вказати, значення якого типу вона може зберігати. Тим самим оголошується тип змінної. У цьому випадку змінна х може зберігати цілочисельні значення, тобто цілі числа, що знаходяться в діапазоні -32 768  +32 767. У мові програмування C++ для оголошення змінної цілочисельного типу достатньо поставити перед її іменем ключове слово int. Таким чином, настанова int х; оголошує змінну х типу int. Нижче дізнаємося, що мова програмування C++ підтримує широкий діапазон вбудованих типів змінних1.

По-друге, у процесі виконання такої настанови змінній присвоюється конкретне значення:

х = 1023; // Тут змінній х присвоюється число 1023.

У мові програмування C++ оператор присвоєння позначають одиночним знаком рівності (=). Його дія полягає в копіюванні значення, розташованого праворуч від оператора, у змінну, вказану зліва від нього. Після виконання цієї настанови присвоєння змінна х міститиме число 1023.

Результати, що були видані цією програмою, відображаються на екрані за допомогою двох настанов cout. Звернемо Вашу увагу на використання такої настанови для виведення значення змінної х:

cout << х; // Відображення числа 1023.

У загальному випадку для відображення значення змінної достатньо в настанові cout помістити її ім'я праворуч від оператора "<<":

cout << "Ця програма виводить значення змінної х: " << х;

Оскільки у цьому конкретному випадку змінна х містить число 1023, то його і буде відображено на екрані.

Перед останнім оператором return в секції main()знаходиться функція getch();, за допомогою якої Ви зможете побачити результати роботи програми на екрані.

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