Умовний оператор h2>
Повна і неповна розвилка. Оператор вибору h2>
На
практиці вирішення більшості задач не вдається описати за допомогою програм
лінійної структури. При цьому після перевірки деякого умови виконується та
або інша послідовність операторів, однак відбувається порушення
природного порядку виконання операторів. Для цих цілей використовують
керуючі оператори. Умовний оператор використовується для реалізації
розгалужень у програмі, які відбуваються при виконанні деякого умови
і має наступну структуру p>
IF THEN серія1
ELSE серія2; p>
Якщо
логічне вираження, яка виступає в якості умови, приймає значення False,
то виконуються оператори, розташовані після else (серія2), якщо True, --
оператори, що слідують за then. Під час запису логічного виразу слід уникати
знаку = (так само) для дійсних змінних, так як вони представляються
неточно, а тому може не відбутися збігів значень виразів, що стоять
ліворуч і праворуч від знака одно. Для усунення зазначеного недоліку слід
вимагати виконання умови з заданою точністю, тобто замість відносини X = Y
рекомендується, наприклад, p>
Abs (X
- Y) <1E-8. P>
Оскільки
розвилка може бути неповною, то можлива і неповна форма запису умовного
оператора: p>
IF THEN серія; p>
Умовний
оператор реалізує розгалуження обчислювального процесу у двох напрямах,
одне з яких здійснюється при виконанні умови, інше - в іншому
випадку. Для реалізації розгалужень більш ніж по двох напрямах необхідно
використовувати декілька умовних операторів. Розглянемо приклади. P>
Завдання
1. Дано дійсні числа x, y. Якщо x і y негативні, то кожне значення
замінити модулем; якщо негативно тільки одне з них, то обидва значення
збільшити на 0,5; якщо обидва значення невід'ємні і жодна з них не
належить відрізку [0,5; 2,0], то обидва значення зменшити в 10 разів; в решті
випадках x та y залишити без зміни. p>
Розробимо
алгоритм вирішення задачі, після чого напишемо програму. p>
Алгоритм
запишемо словесно: p>
1)
ввести значення x, y; p>
2)
якщо x