10 клас(4) Урок №11-12 (21.09.2026) Тема уроку: Послідовні та вкладені розгалуження. Тестування розгалужених алгоритмів

Додано: 20 вересня
Предмет: Інформатика, 10 клас
10 запитань
Запитання 1

У чому принципова різниця між використанням ланцюжка if-elif-else та кількома послідовними незалежними операторами if?

варіанти відповідей

Послідовні if вимагають обов'язкового використання оператора else в кінці, а if-elif-else — ні.

У ланцюжку if-elif-else виконується лише перша гілка, умова якої істинна, тоді як незалежні if перевіряють кожну умову окремо.


Ланцюжок if-elif-else працює значно повільніше через відсутність синтаксичних відступів.


Ланцюжок if-elif-else дозволяє працювати лише з числовими змінними.


Запитання 2

Яким буде результат виразу в Python: x = 3; y = 7; print(not(x > 5) and y == 7 or x > y)?


варіанти відповідей

False

TypeError

True

None

Запитання 3

Що виведе на екран наступний фрагмент коду при значенні x = -4 та y = 2?

python

if x > 0:

if y > 0: print("A")

else: print("B")

else:

if y > 0: print("C")

else: print("D")


варіанти відповідей

С

А

В

D

Запитання 4

Чому під час виконання коду x = 0; if x != 0 and 10 / x > 2: не виникає помилки ZeroDivisionError?

варіанти відповідей

Python автоматично ігнорує будь-яке ділення на нуль в умовних виразах.


Оператор and має вищий пріоритет, ніж операція ділення.


Змінна x перед перевіркою автоматично оновлюється безпечним значенням.


Завдяки короткому замиканню (short-circuit evaluation): перша умова x != 0 хибна, тому другу частину виразу Python не обчислює.


Запитання 5

Ви тестуєте умову if 10 <= age < 18: за методом аналізу граничних значень (Boundary Value Analysis). Які набори тестових значень є ключовими для перевірки межі діапазону?

варіанти відповідей

0, 50, 100

9, 10, 11 та 17, 18, 19

10, 18

10.5, 17.5


Запитання 6

Що означає критерій покриття гілок (Branch Coverage) під час тестування коду з розгалуженнями?

варіанти відповідей

Усі змінні в програмі мають хоча б раз змінити своє значення на протилежне

Кількість написаних тестів має в точності дорівнювати кількості рядків коду в програмі.

Кожне рішення (істинна та хибна гілка) в усіх операторах if/elif/else має бути виконане хоча б один раз.

Кожен рядок програми має бути виконаний хоча б один раз (Statement coverage).


Запитання 7

Яка умова в Python є еквівалентною запереченню виразу not (x > 5 or y <= 2) відповідно до законів Де Моргана?

варіанти відповідей

x <= 5 and y > 2

x <= 5 or y > 2

x > 5 and y <= 2

not x <= 5 and not y > 2


Запитання 8

Яка помилка виникне в інтерпретаторі Python, якщо написати оператор else перед if або без попереднього парного if?

варіанти відповідей

IndentationError: unexpected indent

LogicError

Код виконається успішно, сприйнявши else як самостійний блок виконання.

SyntaxError: invalid syntax

Запитання 9

У чому головна перевага перетворення глибоко вкладених умовних операторів на плоску структуру з логічними операторами чи раннім виходом (guard clauses)?

варіанти відповідей

Програма гарантовано починає виконуватися в рази швидше через зниження навантаження на кеш процесора.

Зникає потреба в будь-якому тестуванні граничних значень для таких функцій.


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

Це єдиний спосіб уникнути нескінченних рекурсій в алгоритмах.


Запитання 10

Функція оцінювання балів містить конструкцію: якщо бал >= 90, то "Відмінно", якщо >= 70, то "Добре", інакше "Задовільно". Яка мінімальна кількість тест-кейсів необхідна для покриття всіх гілок виконання цієї функції?

варіанти відповідей

1 тестовий набір (достатньо перевірити середнє значення)

3 тестові набори (наприклад, значення 95, 75 та 50)

2 тестові набори

101 тестовий набір (для кожного цілого числа від 0 до 100)


Створюйте онлайн-тести
для контролю знань і залучення учнів
до активної роботи у класі та вдома

Створити тест
В прямому ефірі
Інтернет-конференція: Інклюзія та робота з дітьми з ООП: команда психолого-педагогічного супроводу