Лабораторна робота №3
Тема: Типи даних. Оператори.
Мета: отримання практичних навичок у роботі з умовним оператором, оператором варіантів.
Контрольні запитання:
Перелічити всі ситуації, коли в програмах на C++ використовується складений оператор.
Чи еквівалентні наступні фрагменти програми:
if (e1) if (e2) S1; else S2;
if (e1) { if (e2) S1; else S2; }
if (e1) { if (e2) S1; } else S2;
if (e1) if (e2) S1; else ; else S2;
if (e1) if (e2) S1; else S2; else ;
Зауваження: тут e1 і e2 - вирази припустимого в цьому випадку типу; S1 і S2 - довільні оператори.
Чи Вірні наступні твердження:
a) «будь-який вираз в C++ може бути перетворений в оператор додаванням до нього крапки з коми ( ; ) »
b) «порожній оператор у C++ - це відсутність яких-небудь символів у тому місці конструкції, де по синтаксису може знаходитися оператор»
c) «складений оператор ( блок ) у C++ - це сукупність операторів, укладена у фігурні дужки { }»
d) «оператор присвоювання в C++ - це вираз виду
змінна = вираз»
e) «тип вираз в умовному операторі if , в умові завершення циклу в операторах циклу може бути скалярним (тобто будь-яким цілочисельним, будь-яким дійсним або покажчиком )»
f) «у блоці опис/оголошення і оператори можуть розташовуватися в будь-якому порядку; єдина вимога - використання не повинне передувати опису/оголошенню»
g) «кожна гілка в операторі switch повинна бути позначена однією чи кількома різними цілочисельними константами чи константними виразами»
h) «якщо в операторі switch немає гілки default, то значення виразу вибору повинне збігатися з однієї з констант гілок case»
i) «в операторі switch вітки case і вітку default можна розташовувати в будь-якому порядку»
чи Вірно твердження: « дія оператора continue; у приведених нижче прикладах еквівалентно дії оператора go to next; ».
switch ( E ) { case C1: S;
case C2: S; continue;
case C3: S; }
next:; ...
switch ( E ) { case C1: S;
case C2: S; continue;
case C3: next: S; }
next: switch ( E ) { case C1: S;
case C2: S; continue;
case C3: S; }
Зауваження: тут E, E1, E2, E3 - вираз припустимого в цьому випадку типу ; S - довільний оператор; C1, C2 C3 - константи відповідного типу.
чи Вірно твердження: « дія оператора break; у приведених нижче прикладах еквівалентна дії оператора go to next; ».
a) switch ( E ) { case C1: S;
case C2: S; break;
case C3: S; }
next:; ...
b) switch ( E ) { case C1: S;
case C2: S; break; S;
case C3: next: S; }
Зауваження: тут E, E1, E2, E3 - вираз припустимого в цьому випадку типу; S - довільний оператор; C1, C2 C3 - константи придатного типу.
Завдання:
Дано ціле число. Знайти "найменший" тип, якого достатньо для збереження числа. Використати константи границь типів, визначені у файлі limits.h
З клавіатури вводиться вираз вигляду c op c ( c-цифра, op- знак операції). Обчислити значення виразу. Використати оператор варіантів.
Завдання для індивідуального виконання:
Задано координати точки (x, y) на площині, визначити чи потрапляє точка у заштриховану область на малюнку, який відповідає Вашому варіанту. Належність точки границі розуміти як належність області.
В
аріант
1 Варіант 2
Варіант 3 Варіант 4
Варіант 5 Варіант 6
Варіант 7 Варіант 8
Варіант 9 Варіант 10
Варіант 11 Варіант 12
Варіант 13 Варіант 14
Варіант 15 Варіант 16
