| Сьогодні | Разом | |
| Відвідувань | 187 | 5403770 |
| Авторізацій | 10 | 434260 |
| Користувачів | 5 | 2731 |
5. Розгалуження
7. Розгалуження в Pascal
if <умова> then <Дія 1> else <Дія 2>Оператор розгалуження можна використовувати і у скороченій формі:
if <умова> then <Дія 1>У цьому випадку, якщо умова виконується (результат логічного виразу true), то виконується додаткова "Дія 1", яка не виконувалася б у разі помилкового значення логічного виразу.
8. Простий приклад
var x, y: Real;
begin
readln(x);
if x < 0
then writeln('Обчислити неможливо')
else begin
y := sqrt(x);
writeln(y:0:3)
end
end.
9. Вкладені оператори розгалуження
if <умова 1>
then <Дія 1.1>
else if <умова 2>
then <Дія 2.1>
else <Дія 2.2>
10. Увага!
if <умова 1>
then if <умова 2>
then <Дія 2.1>
else <Дія 2>
На перший погляд, гілка else відноситься до зовнішнього оператора розгалуження і повинна виконатися у разі помилкового значення "умови 1". Але це не так: дотримуючись правила "else завжди відноситься до найближчого вище if", виконання "Дія 2" можливе лише при помилковому значенні "умова" 2". Щоб уникнути таких неоднозначних інтерпретацій, слід розставляти операторні дужки.
if <умова 1>
then begin
if <умова 2>
then <Дія 2.1>
end
else <Дія 2>
182. Розгалуження C/C++
if (<умова>) <Дія 1>; else <Дія 2>;Оператор розгалуження можна використовувати і у скороченій формі:
if (<умова>) <Дія 1>;У цьому випадку, якщо умова виконується (результат логічного виразу true), то виконується додаткова "Дія 1", яка не виконувалася б у разі помилкового значення логічного виразу.
183. Простий приклад
#include#include < math.h > int main() { double x; scanf("%lf", &x); if (x < 0) printf('Обчислити неможливо'); else { double y = sqrt (x); printf("%.3lf", y); } }
184. Вкладені оператори розгалуження
if (<умова 1>)
<Дія 1.1>;
else if (<умова 2>)
<Дія 2.1>;
else <Дія 2.2>;
Увага!if (<умова 1>) if (<умова 2>) <Дія 2.1>; else <Дія 2>;На перший погляд, гілка else відноситься до зовнішнього оператора розгалуження і повинна виконатися у разі помилкового значення "умови 1". Але це не так: дотримуючись правила "else завжди відноситься до найближчого вище if", виконання "Дія 2" можливе лише при помилковому значенні "умова" 2". Щоб уникнути таких неоднозначних інтерпретацій, слід розставляти операторні дужки.
if (<умова 1>) {
if (<умова 2>)
<Дія 2.1>;
}
else <Дія 2>;