Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Робочий зошит_КІ.doc
Скачиваний:
12
Добавлен:
09.11.2018
Размер:
2.72 Mб
Скачать

Команда розгалуження if (якщо).

Команда розгалуження if має дві форми: повну та коротку. Повна така:

if (<логічний вираз>) <команда 1>; else <команда 2>;

Дія команди. Обчислюється значення логічного виразу. Якщо це значення істинне, то виконується команда 1, у протилежному випадку – команда 2. Команда 1 та команда 2 можуть бути порожніми, простими або складеними.

Приклад 2. Нехай х = 9. Унаслідок виконання команд

if (x > 7) y = pow(x, 2); else y = sgrt(x);

if (x <= 5) z = exp(x);

else z = ++x;

отримаємо у = ___, z = ____, х = ____.

Розглянемо команди

if (x) y = x – 10;

if (y) y += 2;

else y = 15;

Спочатку у дорівнюватиме 0 (оскільки х ≠ 0), а потім змінна у набуде значення 15.

Приклад 3. Проаналізуємо команди

if (0) cout << “Hello!”; - виведення на екран не буде

if (5) cout << “Hello!”; - буде виведене слово Hello!

if (!5) cout << “Hello!”; - ________________________

if (!0) cout << “Hello!”; - _________________________

if (log(1)) cout << “Hello!”; - __________________________

Задача 1 (про обчислення складеної функції). Обчислити і вивести на екран значення складеної функції у у деякій заданій користувачем точці х, якщо

// Обчислення виразу

#include ___________________________

#include ___________________________

#include <conio.h>

void main()

{

float x, y;

cout << “Vvedit x \n”;___________________________________________________

cin >> x;

if (x < 0) y = tan(fabs(x));________________________________________________

else________________________________________________________________

if (0 <= x && x < 5) y = pow(x, 3);________________________________________

else y = log(x) / log(5);___________________________________________________

cout << “\n y =” << y;___________________________________________________

getch();

}

Задача 2 (про обчислення складеної функції). Обчислити і вивести на екран значення складеної функції у у деякій заданій користувачем точці х, якщо

Коротка команда розгалуження if має вигляд

іf (<логічний вираз>) <команда 1>;

Дія команди. Обчислюється значення логічного виразу. Якщо воно істинне, то виконується команда 1, інакше виконується команда, яка записана після команди if.

Приклад 3. Нехай а = 7. Розглянемо команди

if (a > 7)

{

y = a++;

z = a + 5;

}

if (a<= 9) z = ++a / 2; y = z +a;

Оскільки значення виразу a > 7 – false, то відразу виконуватиметься друга команда if. Значення виразу a<= 9 – true, тому z = (a + 1) / 2 = ________ = ___, а значення а = ________________, отже, у = __________________, а = ___________.

Команда ?. Команда ? є аналогом команди розгалуження if. Загальний вигляд команди ? такий:

<логічний вираз> ? <команда або вираз 1> : <команда або вираз 2>

Дія команди. Обчислюється значення логічного виразу. Якщо воно істинне, то виконується команда 1 або обчислюється вираз 1, інакше – команда або вираз 2.

Задача 3 (про два числа). Ввести два цілі числа. Знайти більше з них.

// Визначення більшого числа

#include <iostream.h>

#include <conio.h>

void main()

{

int x, y;____________________________________________________________

cout << “Vvedit x, y \n”;_______________________________________________

cin >> x >> y;__________________________________________________________

cout << “Max =”;_____________________________________________________

x > y ? cout << x : cout << y;____________________________________________

getch();

}

Команда ? у разі потреби трактується компілятором як вираз, тому її зручно

Приклад 4. Нехай с = 10. Тоді після виконання команди

х = (с == 3) ? 2 * с : с – 2;

отримаємо х = 8, оскільки с не дорівнює 3, і тому тут обчислюється значення виразу 2.