Інформація про новину
  • Переглядів: 2696
  • Дата: 2-09-2020, 21:34
2-09-2020, 21:34

26. Scratch. Логічні величини. Вказівки розгалуження

Категорія: Інформатика





Попередня сторінка:  25. Практична робота №5. «Розв'язування...
Наступна сторінка:   27. Scratch. Вкладені розгалуження

26.1.

ПОНЯТТЯ ЛОГІЧНОГО ВИРАЗУ

У минулому році ви дізналися про існування таких конструкцій алгоритмів, як розгалуження та цикли, і про те, що саме вони дають змогу керувати порядком виконання програм. У цьому параграфі ми детальніше розглянемо використання розгалуження.

У реальному житті нам часто доводиться погоджуватися з тим чи іншим твердженням, подією або фактом чи заперечувати їх. Так, твердження «Сума чисел 3 і 5 більша за 7» ми визнаємо істинним, а «Сума чисел 3 і 5 менша від 7» — хибним. З точки зору логіки подібні висловлювання припускають лише два варіанти відповіді: «так» (ІСТИНА) та «ні» (ХИБНІСТЬ).

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

Логічні оператори використовують в усіх мовах програмування. Не є виключенням і Scratch. Для створення логічних виразів в Scratch використовують оператори порівняння:

лівий параметр більший за правий;

лівий параметр менший від правого;

параметри є рівними.

Логічні оператори у Scratch зазвичай використовують всередині С-блоків при створенні розгалужень і циклів — конструкцій алгоритмів, що керують порядком виконання програм і здатні формувати ілюзію розумної поведінки спрайтів. На рисунку 3.77 наведено приклади логічних блоків.

26.2.

ПОНЯТТЯ УМОВНОГО ОПЕРАТОРА

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

Отже, умовний оператор, або як його ще називають оператор розгалуження, — це оператор, у якому здійснюється вибір однієї з двох дій в залежності від виконання або невиконання умови.

Слід зазначити, що оператори розгалуження використовуються майже в усіх мовах програмування. У більшості з них умовний оператор розпочинається ключовим словом If (якщо) і може бути поданий у двох формах — повній (умовний оператор з двома гілками) та скороченій (умовний оператор з однією гілкою).

У мові програмування Scratch теж є такі оператори.

26.3.

НЕПОВНА ФОРМА РОЗГАЛУЖЕННЯ

На рис. 3.79 зображено блок-схему умовного оператора з однією гілкою та відповідний оператор мови Scratch. Під час виконання цього оператора перевіряється деякий логічний вираз (умова) і, коли він набуває значення істина, виконується команда (чи команди) всередині С-блока; інакше виконуються команди, що йдуть одразу за ним.

ВПРАВА 13

Завдання. Виконавши це завдання, ви створите проект, у якому поведінкою об’єктів керуватиме блок умовного оператора з однією гілкою.

У цьому проекті дівчинка після запитання про відвідування кінотеатру та отримання відповіді «так» на радощах має підстрибнути та вигукнути «Ура!», при одержанні інших відповідей вона ніяких дій не виконує.

Розглянемо блок-схему алгоритму, відповідно до якого будуть відбуватися події в проекті.

1. Спочатку ми одержимо відповідь на запитання дівчини «Ми йдемо сьогодні до театру?».

2. Якщо відповідь буде «так», то дівчинка підстрибне та вигукне «Ура!», при цьому зміниться її образ, далі здійсниться

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

3. Якщо ж відповідь буде якоюсь іншою, жодна подія в алгоритмі не буде виконуватися.

Переходимо до реалізації самого проекту.

1. Розташуйте на сцені спрайт із зображенням дівчинки та її мами. Додайте фон сцени.

2. Залиште для спрайта дівчинки лише перші її два образи.

3. Створіть скрипт для спрайта дівчинки відповідно до бпок-схеми.

а) Додайте команду запитати ... і чекати. Введіть до неї запитання «Ми йдемо до кінотеатру?».

б) Додайте команду якщо...то.... Як умову сформуйте блок відповідь = так (рис. 3.82).

в) Всередині С-блоку додайте команди, що будуть виконуватися, якщо вказана умова буде істинною:

• для підстрибування дівчинки застосуйте команду змінити у на 100 (рис. 3.83);

• додайте команду говорити «Ура!» (рис. 3.84);

• нижче додайте команду наступний образ (рис. 3.85);

• для затримки образу дівчинки додайте команду чекати 1 секунд (рис. 3.86);

• наступною додайте команду змінити у на -100 (в результаті чого дівчинка має опуститися на землю) (рис. 3.87).

• останньою додайте команду наступний образ (рис. 3.88).

4. Запустіть скрипт на виконання та введіть відповідь так. В результаті дівчинка має підстрибнути, змінюючи свій зовнішній вигляд.

5. Ще раз запустіть проект і введіть відповідь авжеж. Цього разу нічого не повинно відбуватися, адже відповідь має бути саме такою, як указано в команді програми.

6. Ще раз запустіть проект і введіть відповідь Так (з великої літери). І знову дівчинка не повинна виконувати ніяких дій.

7. Аби програма не реагувала на регістр уведеної відповіді, змініть умову програми наступним чином (рис. 3.89):

8. Ще раз запустіть проект і введіть Так (з великої літери), на цей раз дівчинка має відреагувати на введену відповідь.

9. Збережіть проект з ім’ям Вправа_13.

26.4.

ПОВНА ФОРМА РОЗГАЛУЖЕННЯ

Функцію умовного оператора з двома гілками у Скретчі виконує команда якщо...то...інакше... . На рис. 3.90 ви бачите блок-схему такого оператора та відповідний Е-блок, що використовується в середовищі Скретч.

Під час виконання цього оператора перевіряється задана умова і, коли вона стає істинною, виконується блок команди 1, який розташований після гілки то. У протилежному випадку виконується блок команди 2 після гілки інакше.

Далі розглянемо створення проекту, в якому поведінкою об’єкта керує блок умовного оператора з двома гілками.

ВПРАВА 14

Завдання. У програмі необхідно ввести два числа, що визначають довжини прилеглих сторін прямокутника. Якщо числа є рівними, то програма має повідомити, що ця фігура є квадрат, у протилежному випадку має вивести повідомлення «Це прямокутник».

Реалізацію проекту в середовищі Скретч виконайте за наведеною нижче блок-схемою.

З бпок-скеми видно, що спочатку слід увести два числа, значення яких буде присвоєно змінним а і b. Потім необхідно перевірити, чи дорівнюють значення цих змінних. Якщо це так, то вивести повідомлення «Це квадрат», в протилежному випадку вивести «Це прямокутник».

1. У вікні нового проекту створіть дві змінні а і b.

2. За допомогою команд запитати ... і чекати та надати змінній ... значення відповідь створіть скрипт присвоєння змінним а і b числових значень (рис. 3.93).

3. Додайте блок якщо...то...інакше....

4. Уведіть умову a=b (рис. 3.94).

5. Після команди то введіть дію, яка має виконатися у разі виконання умови, а саме, говорити Це квадрат (рис. 3.95).

6. Після гілки інакше додайте команду говорити Це прямокутник (рис. 3.96).

7. Додайте команду коли прапорець натиснуто.

8. Запустіть проект на виконання.

9. Спробуйте ввести спочатку два однакових числа. В результаті кіт має повідомити, що це буде квадрат.

10. Ще раз запустіть проект і введіть два різних числа, тепер повідомлення буде «Це прямокутник».

11. Збережіть файл з ім’ям Вправа_14.

ВПРАВА 15

Завдання. Створити проект, у якому кіт дізнаватиметься в дітей про їхню вагу, порівнюватиме ці значення та повідомлятиме, хто з дітей важчий (рис. 3.97).

Для створення даного проекту скористаємося алгоритмом знаходження більшого числа з-поміж двох заданих. На рис. 3.98 представлено блок-схему такого алгоритму.

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

1. До проекту додайте спрайти хлопчика і дівчинки з бібліотеки програми та розташуйте їх біля спрайта кота.

2. Після цього створіть змінні а і b.

3. Складіть скрипт для спрайта кота.

а) Яків попередньому проекті, введення значень змінних а і b виконайте з допомогою команд запитати ... і чекати та надати змінній значення відповідь.

б) Далі додайте блокякщо...то...інакше....

в) Уведіть умову а>Ь (рис. 3.99).

г) Після команди то введіть дію, яка має виконатися у разі істинної умови, а саме, говорити Богдан важчий, він важить а кг (рис. 3.100).

ґ) Після гілки інакше додайте команду говорити Оксанка важча, вона важить b кг (рис. 3.101).

д) Додайте команду коли прапорець натиснуто.

4. Запустіть проект на виконання.

5. Уведіть спочатку перше число, яке буде більше ніж друге, наприклад, 45 і 40. В результаті кіт має повідомити: «Богдан важчий, він важить 45 кг».

6. Ще раз запустіть проект і введіть числа 35 і 40. Кіт має вивести повідомлення «Оксанка важча, вона важить 40 кг».

7. Самостійно додайте до цього скрипта команди, що змусять кота під час уведення даних повертатися у бік того персонажа проекту, до якого він звертається.

8. Збережіть файл з ім’ям Вправа_15.

Висновки

Вираз, результатом обчислення якого може бути лише значення істина або хибність, називають логічним.

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

Неповна форма умовного оператора в Scratch реалізована командою ЯКЩО...ТО... .

Функцію умовного оператора з двома гілками у Scratch виконує команда якщо...то...інакше....

Контрольні запитання та завдання

1. Що таке логічний вираз? Наведіть приклади логічних виразів.

2. Що таке оператор розгалуження?

3. Які є форми оператора розгалуження?

4. Наведіть приклад алгоритму зі скороченою формою розгалуження.

5. Наведіть приклад алгоритму з повною формою розгалуження.

6. Які команди розгалуження використовують у середовищі Scratch?

 

Це матеріал з підручника Інформатика за 7 клас Казанцева, Стеценко 

 




Попередня сторінка:  25. Практична робота №5. «Розв'язування...
Наступна сторінка:   27. Scratch. Вкладені розгалуження



^