Розгалуження в алгоритмах і програмах Алгоритми з розгалуженням
Задача 1. Обчислити значення виразу z=(а - b) / (с - d), де a, b, с, d - дійсні числа. Якщо значення різниці с - d дорівнює нулю, то значення виразу (а - b) І (с - d) обчислити не можна, а якщо не дорівнює, то можна. Така команда є прикладом команди перевірки умови. Результатом виконання команди перевірки умови може бути або істина (умова виконується), або хиба (умова не виконується).
Алгоритм розв'язування задачі 1 виглядатиме так: 1. Увести значення змінних а, Ь, с, d. 2. х :=с- d. 3. Обчислити значення логічного виразу х = Якщо обчислене значення логічного виразу true, то вивести повідомлення «Вираз значення не має: ділення на нуль», після чого виконати команду 8, якщо false, то виконати команду у := а-b. 6. z := у/х. 7. Вивести значення змінної z. 8. Закінчити виконання алгоритму.
Розгалуження Виконання повного розгалуження відбувається так: виконавець виконує команду перевірки умови; якщо результат виконання цієї команди true, то виконавець виконує послідовність команд 1, після чого переходить до виконання першої команди наступного фрагмента алгоритму; якщо ж результат виконання цієї команди false, то виконавець виконує послідовність команд 2, після чого також переходить до виконання першої команди наступного фрагмента алгоритму. Виконання неповного розгалуження відрізняється від виконання повного розгалуження тим, що при результаті виконання команди перевірки умови false виконавець одразу переходить до виконання першої команди наступного фрагмента алгоритму.
Виконання завдання 1 КомандаРезультат виконання Виконання для першого набору даних Увести значення змінних а, b, с, dа = 5, b = 6, с = -3, d = 5 х := с - dх = = -8 Обчислити значення логічного виразу х = 0 (-8 = 0) = false у :=а-bу=5-6=-1 z :=у/хz = -l/(-8) = 0,125 Вивести значення змінної zz = 0,125 Виконання для другого набору даних Увести значення змінних а, b, с, dа= 12,3, b = -1, с = 8,2, d = 8,2 х := с - dх = 8,2 -8,2 = 0 Обчислити значення логічного виразу х = 0 (0 = 0) = true Вивести повідомлення: «Вираз значення не має: ділення на нуль» Повідомлення: «Вираз значення не має: ділення на нуль»
Задача 2. Дано два числа. Визначити, чи рівні вони. Якщо ні, то яке з них більше? Блок-схема алгоритму розв'язування цієї задачі представлена на рисунку 2.42.
Висновки У математичних виразах найчастіше команда розгалуження використовується для уточнення області визначення виразу (знаменник виразу не дорівнює нулю, підкореневий вираз завжди додатній і ін.)
Домашнє завдання Побудувати алгоритм розв'язку задачі (блок схему) 1.Знайти значення виразу для довільних Х