Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Відповіді на питання по мові С++по лекціям.docx
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
265 Кб
Скачать
☆
  1. Аналіз умови циклу:

while ((ch = cin.get ()) != EOF)

Дужки, в які розміщений вираз cin.get (), вимушує програму обчислювати програму його з початку. Щоб виконати обчислення, програма спочатку викликає функцію cin.get (). Потім вона присвоює повернене значення функції змінної ch. Оскільки значення оператора присвоєння є значення лівого операнда, то повний під вираз зводиться до значення ch. Коли це значення дорівнює EOF, цикл перевіряється, а у протилежному випадку – продовжується. Коли вилучимо пару дужок:

while (ch = cin.get () != EOF)

Операція != має більш високий пріоритет, чим =, тому спочатку програма порівняє значення cin.get (), що повертається, з EOF. Порівняння дає значення true або false; значення bool перетворюється в 1 або 0, і це присвоюється ch.

  1. Порівняння cin.get (char) і cin.get ()

  1. Двовимірні масиви

Двовимірний масив можна розглядати як таблицю, яка складається з рядків і стовпчиків. У С++ при створені двовимірного масиву кожний його елемент є масивом. Наприклад:

int maxtemps [4][5];

Це визначає, що maxtemps – це масив із 4-х елементів. Кожний з цих елементів має масив із 5-ти елементів. Масив maxtemps можно розглядати як чотири рядка, по п’ять значень у кожному. Вираз maxtemps [0] визначає перший елемент масиву maxtemps, який має в собі масив із п’яти int. Перший елемент масиву maxtemps [0] – maxtemps [0] [0], і цей елемент має тип int. Таким чином, потрібно використовувати два індекси для доступу до елементів int. Перший індекс визначає рядок таблиці, а другий – стовпчик.Коли потрібно роздрукувати усі елементи двовимірного масиву дmaxtemps [4][5], то можна використовувати цикл for для проходу по рядкам, в другий вбудований цикл for – для проходу по стовпчикам:

for (int row = 0; row < 4; row++)

{

for (int col = 0; col < 5; col++)

cout << maxtemps [row][col] << “\t”;

cout << end1;

}

Символ табуляції \t у нотації керуючих символів С++.

  1. Можливість ініціалізації кожного елемента.

Коли створюється двовимірний масив, то є можливість ініціалізувати його кожний елемент. Ця техніка заснована на способі ініціалізації одновимірного масиву. Це робиться списком елементів, значення яких розділені комами і оточені фігурними дужками:

//ініціалізація одновимірного масиву

int btus [5] = {3, 7, 2, 27, 5};

У двовимірному масиві ініціалізація складається із розділених комами серії одновимірних ініціалізацій, кожна з яких розташована у фігурних дужках:

int maxtemps [4][5] = двовимірний масив

{

{25, 33, 45, 76, 99}, //значення для maxtemps [0]

{12, 32, 43, 77, 87}, //значення для maxtemps [1]

{22, 13, 90, 17, 35}, //значення для maxtemps [2]

{98, 100, 5, 88, 17} //значення для maxtemps [3]

};

ЛЕКЦІЯ 15.

  1. Оператор if.

Одним ключем до проектування інтелектуальних програм є дана ім можливість прийняття рішень. Коли програма С++ повинна прийняти рішення про те, який вибір дії слід виконати, то зазвичай це реалізується оператором if і if else. Оператор if дозволяє програмі виконати оператор або блок операторів при умові, коли ця умова істинна, та пропускає цій оператор або блок, коли ця умова хибна. Перевірочна умова if має тип bool, де 0 трактується як false, а усе що відрізняється від 0 – як true. Уся конструкція if розглядається як один оператор.

  1. Оператор if else.

Оператор if else дозволяє з’ясувати, який з двох операторів або блоків слід виконувати. Наприклад, запропонуємо перетворення вхідного тексту, шифруючи букви і залишати непорушними символи переводу рядка. Це визначає, що потрібно заставити програму виконувати одну дію для переведення рядка і другу – для усіх інших символів.

  1. Робота оператора if else.

Можна замінити ++ch на ch+1, щоб побачити цікавий ефект. Зверніть увагу, що cout обробляє різні типи аргументів.

Зверніть увагу, що дві альтернативи в операторі if else повинноі бути одинокими операторами. Коли потрібно біль одного оператора у кожній логічній гілці, то слід застосовувати фігурні дужки, щоб зібрати їх в єдиний блок. С++ не сприймає автоматично усе, що знаходиться між if і else, як один блок, тому треба використовувати фігурні дужки для об’єднання операторів у блок. Це виглядає як нова керуюча структура – if else if else. Але це один оператор if else вбудований в іншій. Вся ця конструкція трактується як єдиний оператор.