13:23 § 10. Алгоритми з розгалуженням | |
§ 10. Алгоритми з розгалуженнямАлгоритми з розгалуженням - це такі алгоритми, у яких, залежно від результату перевірки умови, виконується одна група команд, або інша.Приклади. Якщо футбольний матч завершився нічийним результатом, то обом командам нараховується по одному очку, інакше переможець отримає три очки, а команда, що програла - нуль очок. Якщо сторони трикутника мають значення 3, 4, 5, то робиться висновок, що трикутник прямокутний, інакше - трикутник не прямокутний. Якщо на перехресті у світлофорі ввімкнене зелене світло, то автомобіль може рухатися, інакше він зупиняється. Для описання алгоритмів з розгалуженням використовується оператор умовного переходу, який перевіряє умову і видає значення істинно (так), якщо умова виконується, і значення хибно (ні), якщо умова не виконується. Наприклад, у результаті перевірки Замови 13=21 буде видано значення хибно, а результатом перевірки Замови 37>24 є значення істинно. ▼ Для перевірки замови використовзтоться два типи операторів з'мовного переходу. Оператор умовного переходу першого типу зображено на рисзтшу 3.65. Після слова якщо встановлюється одна з команд-репортерів перевірки умови, що розташовані у категорії Оператори. У даному випадку тут перевіряється умова х_1>3. Якщо умова виконується, тобто якщо значення змінної х_1 більше 3, то виконуються усі команди, що вставлені у рядок після слова якщо. У випадку, коли х_1 не більше 3, команди у рядку після слова якщо не виконуються, а виконуються всі команди, що вставлені у рядок після слова інакше. У будь-якому випадку наступною виконується команда, розташована безпосередньо за цією командою. Приклад. За допомогою клавіатури вводиться значення сторони квадрата (а має бути парним числом). Необхідно розробити програму визначення, чи можна у цей квадрат вписати коло радіусом г. Нижче подано алгоритм у словесної формі розв'язання цієї задачі. 1. Увести сторону квадрата а. 2. Якщо а/2 = г, виконати інструкцію 3, інакше - інструкцію 5. 3. Вписати можна. 4. Виконати інструкцію 6. 5. Вписати не можна. 6. Кінець. Програма, що реалізує цей алгоритм, наведена на рисунку 3.66. У процесі виконання програми після висвітлення повідомлення «Увести значення сторони квадрата», а також після висвітлення повідомлення "Увести радіус кола" програма призупиняє своє виконання й очікує введення відповідей. Відповідь уводиться у поле, розташоване у нижній частині сцени. Для продовження виконання програми після уведення відповідних значень слід натиснути клавішу Enter. Приклад. Провізор аптеки запитує у пацієнта «Які потрібні Вам ліки?». Пацієнт називає потрібний перелік. Провізор переглядає базу даних аптеки. Якщо він знаходить необхідні, називає їхню вартість, інакше говорить «Відсутні». Нехай база даних аптеки має назву ліки і містить: піносол, анальгін, панкреатин, нітрогліцерин. У змінній а будемо зберігати відповідь пацієнта. Програма аналізу вмісту бази аптеки і відповіді провізора наведена на рисунку 3.67. У операторах умовного переходу часто застосовують логічні дані й логічні вирази, що забезпечує розроблення більш компактних програм. Приклад. Три сторони трикутника вводяться за допомогою клавіатури. Визначити, чи є цей трикутник рівнобедреним. Позначимо ці сторони змінними а, Ь, с. Фрагмент алгоритму розв'язання цієї задачі у словесній формі можна записати так. 1. Увести значення змінних а, Ь, с. 2. Якщо а=6 або а=с або Ь=с, то виконати інструкцію 3, інакше - інструкцію 4 3. Висновок - трикутник рівнобедрений. Перейти до інструкції 5. 4. Висновок - трикутник не рівнобедрений. 5. Кінець. Програма реалізації алгоритму наведена на рисунку 3.71. Перевіряємо себе 1. Поясніть, як виконується алгоритм з розгалуженням. 2. Накресліть графічну схему оператора умовного переходу першого типу. 3. Яка команда Скретч реалізує оператор умовного переходу першого типу? 4. Накресліть графічну схему оператора умовного переходу другого типу. 5. Поясніть, як виконується команда Скретч якщо <умова> інакше. 6. Поясніть, як виконується команда Скретч якщо <умова>. 7. Наведіть приклад алгоритму з розгалуженням, 8. Яка команда Скретч реалізує оператор замовного переходу другого типу? 9. Наведіть приклад логічного виразу в командах середовища Скретч. Решебник ответы 7 класс по украинскому языку Новые учебники 7 класс 2015 алгебре | |