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

27. Scratch. Вкладені розгалуження

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





Попередня сторінка:  26. Scratch. Логічні величини. Вказівки роз...
Наступна сторінка:   28. Практична робота №6. «Складання та в...

27.1.

ФОРМУВАННЯ ВКЛАДЕНИХ РОЗГАЛУЖЕНЬ

Іноді при розв’язуванні задач необхідно розглянути більше ніж два варіанти вибору — в цих випадках можна застосувати вкладення блоків розгалуження. Саме вкладені розгалуження ми і розглянемо в цьому уроці.

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

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

Розглянемо проекти з використанням вкладених розгалужень.

ВПРАВА 18

Завдання. Створити проект, який за значенням температури виводив би назву стану, в якому перебуває вода за цієї температури: рідкий, твердий або газоподібний, тобто вода, лід або пара (рис. 3.103).

На рис. 3.104 представлено блок-схему розв’язання задачі.

1. Спочатку спід увести температуру води та надати її значення змінній х.

2. Далі перевірити умову х>100.

3. Якщо умова виконується, то слід вивести повідомлення «пара».

4. У протилежному випадку розглянути умову х<0.

5. Якщо ця умова виконується, то вивести «лід» і в протилежному випадку — «вода».

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

На блок-схемі її позначено червоним кольором.

Створіть проект за поданим алгоритмом.

1. Створіть змінну х для введення температури води.

2. Для введення значення цієї змінної скористайтеся командами запитати Уведіть температуру і чекати і надати х значення відповідь

(рис. 3.105).

3. Для перевірки умови додайте команду якщо... то...інакше....

4. Сформуйте умову х>100.

5. Після гілки то додайте команду говорити пара.

6. Після гілки інакше додайте ще одну команду якщо... то...інакше.... Тут як умову введіть х<0.

7. Якщо умова виконується, додайте команду говорити лід, інакше говорити вода (рис. 3.106).

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

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

Так, розглянемо проект, в якому необхідно використати ці оператори.

ВПРАВА 19

Завдання. Створити проект, у якому за даними трьома сторонами трикутника необхідно визначити, яким він буде: рівностороннім, рівнобедреним чи різностороннім (рис. 3.107).

При створенні проекту будемо керуватися блок-схемою, представленою на рис. 3.108.

1. Спочатку введемо значення змінних а, b і с, що відповідають значенням довжин сторін трикутника.

2. Наступний крок алгоритму — це перевірка рівності сторін між собою (а=Ь=с).

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

4. У протилежному випадку розглянемо умову рівності між собою лише двох сторін (це буде умова а=Ь або а=с, або b=c).

5. Якщо принаймні одна з рівностей виконується, то буде виведено повідомлення про те, що трикутник є рівнобедреним, у протилежному випадку буде виведено повідомлення, що трикутник є різностороннім.

Створіть проект, що відповідає розглянутій блок-схемі.

1. Створіть змінні a, b і с, що відповідають сторонам трикутника.

2. Додайте команди для введення значення цих змінних за допомогою блоків запитати ... і чекати та надати змінній ... значення відповідь (рис. 3.109).

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

4. Сформуйте у ньому умову а=Ь=с.

5. У разі виконання відразу обох виразів порівняння буде виведено повідомлення, що трикутник є рівно-стороннім. Для виведення цього повідомлення після гілки то додайте команду говорити рівносторонній.

6. До гілки інакше знову додайте команду якщо...то...інакше, оскільки відповідно до блок-схеми ми маємо справу із вкладеним розгалуженням (рис. 3.110).

7. У цьому блоці сформуйте умову а=Ь або Ь=с, або а=с.

8. В даному випадку у разі виконання принаймні одного з виразів порівняння буде виведено повідомлення, що трикутник є рівнобедреним.

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

9. До останньої гілки інакше додайте команду говорити різносторонній.

Рис. 3.111

10. Перевірте роботу програми. Запустіть проект. Уведіть числа 1, 1, 1. Ви маєте одержати повідомлення рівносторонній. При введенні 2, 2, 3 — рівнобедрений. Для значень 3, 4, 5 — різносторонній. її*. Самостійно додайте умову: якщо сума двох сторін трикутника менша від третьої, то вивести повідомлення «такий трикутник не існує».

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

27.2.

ЛОГІЧНІ ОПЕРАЦІЇ

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

репортер і — умова є істинною, якщо обидві умови, об’єднані репортером, є істинними, цю операцію ще називають логічне множення;

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

Згадані щойно логічні операції і, або, не найзручніше описувати з допомогою таблиць істинності. У них наведено всі можливі значення істинності результатів обчислень складних висловлювань за різних значень простих вихідних висловлювань. Прості висловлювання тут позначено буквами А і B. Значення 0 свідчить про хибність висловлювання, 1 — про його істинність.

27.3.

ВИКОРИСТАННЯ ЛОГІЧНИХ ОПЕРАЦІЙ

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

Розглянемо приклади використання логічних операцій та визначимо їхню істинність.

Приклад 1.

Рис. 3.114

Цей вираз складається з двох простих умов 3>2 та 2<1, з’єднаних операцією і.

3>2 є істинною умовою; 2<1 є хибною умовою.

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

Рис. 3.115

Приклад 2.

Рис. 3.116

Це вираз дуже схожий на попередній, але в ньому умови об’єднані оператором або.

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

Звертаємося до таблиці істинності операції або. Відповідно до неї весь вираз буде істинним.

Рис. 3.117

Приклад 3.

Рис. 3.118

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

Рис. 3.119

Приклад 4.

Рис. 3.120

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

Вона містить дві умови 4>3 та 3+4=7. Обидві ці умови є істинними. Відповідно до таблиць істинності і весь вираз, об’єднаний сполучником «і», є істинним.

Рис. 3.121

Наступним є вираз, який з’єднує сполучником або розглянутий тільки що нами вираз та умову 2*3 = 5.

Умова 2*3 = 5 є хибною, а наступний вираз, ми вже визначили, є істинним.

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

Рис. 3.122

І наостанок, оператор не, розташований зовні усього виразу, перетворює попередній вираз на хибне значення.

Рис. 3.123

ВПРАВА 20

Завдання. Довершити блок-схему та створити проект розв’язання задачі у середовищі Scratch.

Задача. Відомо вік людини — N років. Необхідно визначити її приналежність до однієї з таких вікових груп: дитина (0<=N<17), робітник (17<=N<60), пенсіонер (N>=60).

Рис. 3.124

Висновки

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

Scratch не обмежує кількість вкладених умовних операторів.

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

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

Операція або є істинною, коли принаймні одна з умов є істинною.

Оператор не робить істинною хибну умову і навпаки.

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

1. У яких випадках використовують вкладені умовні оператори?

2. Скільки може бути вкладених операторів у Scratch?

3. Які оператори порівняння використовують у Scratch? Опишіть їхні призначення.

 

 

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

 




Попередня сторінка:  26. Scratch. Логічні величини. Вказівки роз...
Наступна сторінка:   28. Практична робота №6. «Складання та в...



^