if文の読み方(選択処理と条件の書き方)
更新日:
用語解説
if文は、条件式が真か偽かによって実行する処理を選ぶ構文です。擬似言語では if(条件式)から endif までが一つのまとまりで、else・elseif で偽の場合や別の条件の場合の処理を書きます。
■ 試験で押さえるポイント
if(条件式)の直後の処理は、条件式が真のときだけ実行されます。else の後の処理は、条件式が偽のときに実行されます。
elseif(条件式2)がある場合は上から順に判定し、最初に真になった1か所の処理だけを実行します。どれも真でなければ else の処理を実行します。
if の中に if を書く(入れ子)と、外側の条件で絞り込んだ後に内側の条件で分けられます。条件の組合せごとの結果を図や表に書き出すと読み違えません。
条件は日本語で書かれることが多く、「より小さい」「以下」のように境界の値を含むかどうかが選択肢の違いになります。
複数の条件は and(かつ)、or(又は)、not(でない)で組み合わせます。
擬似言語の書き方 | 記号 | 境界の値を含むか |
|---|---|---|
a が b より小さい | a < b | 含まない |
a が b 以下 | a ≦ b | 含む |
a が b と等しい | a = b | ― |
a が b と等しくない | a ≠ b | ― |
a が b 以上 | a ≧ b | 含む |
a が b より大きい | a > b | 含まない |
if(improvement が 100000 より小さい)
if(period が 7 より小さい)
prize ← 500
else
prize ← 1000
endif
else
if(period が 7 より小さい)
prize ← 2000
else
prize ← 5000
endif
endif■ 選択肢での判断ポイント
選択肢の条件に、境界ちょうどの値(例:7日、num=2)を当てはめて、どちらの処理に進むかを確かめます。空欄の条件を選ぶ問題では、真のときに実行される処理が問題文の意図と合うかを確認します。
例: 素数判定で「num が 2 より小さい」なら false を返す、とすると 1 は素数でないと判定され、2 は else 側に進みます。「2 以下」にすると 2 まで素数でないと判定してしまいます。
この用語に関連する過去問
令和4年度 基本情報技術者試験 科目B サンプル問題 問10
単方向リストからの要素削除
令和4年度 基本情報技術者試験 科目B サンプル問題 問9
2分木の探索
令和4年度 基本情報技術者試験 科目B サンプル問題 問2
FizzBuzz問題の条件分岐
令和8年度 基本情報技術者試験 科目B 問5
カテゴリカルデータのOne-Hotエンコーディング変換
令和8年度 基本情報技術者試験 科目B 問3
再帰関数の動的計画法(ループ配列)への書き換え
令和4年度 基本情報技術者試験 科目B サンプル問題 問7
階乗を求める再帰関数
令和4年度 基本情報技術者試験 科目B サンプル問題 問4
最大公約数を求めるプログラム
令和5年度 公開問題 基本情報技術者試験 科目B 問4
ハッシュ表での衝突解決トレース
令和5年度 公開問題 基本情報技術者試験 科目B 問3
クイックソートアルゴリズムのトレース
令和5年度 公開問題 基本情報技術者試験 科目B 問1
素数判定プログラムのトレース
令和6年度 公開問題 基本情報技術者試験 科目B 問5
注文データからの商品の関連度計算
令和6年度 公開問題 基本情報技術者試験 科目B 問4
配列のマージ処理のトレース