条件分岐
条件分岐(IF文)
基本
IF 条件 THEN 文;
書き方
age = 20;
IF age >= 18 THEN
PUT SKIP LIST('成人です');
※ageが18歳以上なら、「成人です」と出力。
ELSEを含む
IF 条件 THEN 文1;
ELSE 文2;
書き方
IF age >= 18 THEN
PUT SKIP LIST('成人です');
ELSE
PUT SKIP LIST('未成年です');
※ageが18歳以上なら「成人です」と出力。それ以外は「未成年です」と出力
複数の処理をまとめて書きたいとき(DO〜END)
IF 条件 THEN DO;
文1;
文2;
END;
書き方
IF age >= 18 THEN DO;
PUT SKIP LIST('成人');
PUT SKIP LIST('お酒OK');
END;
ELSE DO;
PUT SKIP LIST('未成年');
PUT SKIP LIST('飲酒NG');
END;
※ageが18以上の時「成人」「お酒OK」を出力。それ以外は「未成年」「飲酒NG」を出力。
組み合わせ
IF age >= 18 THEN
IF age < 65 THEN
PUT SKIP LIST('現役世代');
ELSE
PUT SKIP LIST('高齢者');
ELSE
PUT SKIP LIST('未成年');
ageが18以上で、65より小さいとき「現役世代」と出力。それ以外は「高齢者」と出力
ageが18以上でない時は「未成年」と出力
繰り返し文(DO文)
回数指定の繰り返し文
DO i = 初期値 TO 終了値 BY 増分;
繰り返したい処理;
END;
例文
DECLARE i FIXED;
DO i = 1 TO 5;
PUT SKIP LIST('i =', i);
END;
iに1〜5までを順番に出力する。
BY句 指定された数を引く処理
DO i = 10 TO 0 BY -2;
PUT SKIP LIST('カウントダウン:', i);
END;
10から-2ずつ0になるまで繰り返して、出力する。
条件による繰り返し
DO WHILE (条件式);
処理;
END;
例文
DECLARE x FIXED;
x = 1;
DO WHILE (x <= 3);
PUT SKIP LIST('x =', x);
x = x + 1;
END;
「x <= 3」でxが3以上になったら下の繰り返し処理が終了。
1,2,3と出力されるが、4は条件を超えてしまっているので3で終了。