基本情報技術者試験 (FE) 科目 B — 擬似言語
条件分岐 (if / elseif / else) の書き方
擬似言語の条件分岐は if (条件) から始まり、endif で閉じる。else if (中間分岐) は elseif、else (それ以外) は else を挟む。条件式は必ず () で囲む。
if / elseif / else / endif の 4 点セット
基本情報の条件分岐は、次の 4 つのキーワードで組み立てます。
if (条件A)
// 条件A が true のときの処理
elseif (条件B)
// 条件A が false かつ 条件B が true のときの処理
else
// 上のどれにも当てはまらないときの処理
endif条件式は必ず (...) で囲みます。elseif と else は省略可能で、 「true のときだけ何かをやる」用途なら if と endif だけでも書けます。 一方 endif は絶対に必要で、これがないとどこまでが if の中身か分からず構文エラーになります。
ブラウザで動かしてみる
点数によって成績を「優 / 良 / 不可」に分ける典型例です。一行ずつ実行 を押していくと、どの分岐に入るかを目で追えます。
変数
出力
点数 を 90 や 55 に書き換えて再実行すると、 出力が 優 や 不可 に変わります。境界値 (60, 80) をまたぐ変更を試すと、> と ≧ の違いが実感できます。
比較演算子は 6 種類
=等しい (代入の←と混同しないこと)≠等しくない (半角!=でも可)<,>より小さい / より大きい≦,≧以下 / 以上 (境界値を含む。半角<=,>=でも可)
試験では「以上」なのか「より大きい」なのかを引っかけてくる問題が多く出ます。「以上・以下は境界値を含む」 を常に意識しましょう。
and / or / not で条件を組み合わせる
複数の条件を組み合わせるには and (かつ)、or (または)、not (でない) を使います。 例えば「気温が 15℃ 以上かつ 30℃ 未満」は次のように書けます。
変数
出力
条件式は左から順に評価されます。and は両方が真のときだけ真、or はどちらかが真なら真、not は真偽をひっくり返す — この 3 つを覚えれば大抵の分岐は表現できます。
試験でつまずきやすいポイント
- 括弧忘れ:
if 点数 > 80のように括弧を書き忘れると構文エラー - endif 忘れ: ネストした if で内側の endif を書き忘れて外側が閉じない、というミスがよくある
- = と ← の混同: 比較で
点数 ← 80と書くと代入になり、条件式にならない - elseif は 1 語:
else ifと分けて書くと構文エラー
条件分岐が読めるようになったら、次は 繰り返し (while) で「同じ処理を何度も実行する書き方」に進みましょう。
よくある疑問
理解できたか試す / 自由に動かす
この構文をもっと練習する(おすすめ書籍)
擬似言語の記法の読み方から、トレースして答えを出すまでを一冊で通せる科目B特化本。手を動かして追う練習量を確保したいときの定番。
プログラミング未経験を前提に、記号の意味とアルゴリズムの考え方を最小単位から積み上げる入門書。変数や条件分岐で手が止まる段階に向く。
科目Bの出題パターンを網羅的に演習できる対策書。構文を理解した後、解法の型を身につける段階で効く。
本セクションはAmazonアソシエイトのリンクを含みます。
プログラムの読み方でつまずいたら。
たいてっくが、アルゴリズムの追い方から SQL・データベース設計まで、1対1で学習をサポートします。「コードを目で追っても何をしているか分からない」段階からで大丈夫です。まずは無料相談から。
「教え方も上手で、お人柄も良いメンターです。DB周りの知識はもちろん、何より、しっかり教えてあげようという姿勢がとてもありがたかったです。データベース、SQLの学習を考えている方にはおススメです。」
— H 様(DB・SQL コース受講)「体系的に知識を教えてくださり、実際の業務でも大変役立っております。特に短い時間で効率よく知識の習得や、練習をできているのは期待以上でした。」
— M 様(DB・SQL コース受講)「大変充実したコンテンツでわかりやすいご説明をありがとうございました。基本的な質問にも丁寧にご説明いただき、また業務のご相談にも乗って頂き大変有意義な時間でした。」
— K 様(DB・SQL コース受講)