【中学技術】条件分岐(if文)とは?例題2問でわかる書き方とテスト対策

はじめに

プログラムは、書いた命令を上から順番に実行していくのが基本です。
でも、ゲームのライフがゼロになるとゲームオーバーの画面が出たり、人が近づくと自動ドアが開いたりしますよね。
あれは、プログラムが「いまの状況」を調べて、実施する処理を自分で選んでいるからなんです。
この「状況を調べて道を選ぶしくみ」が、今回学ぶ条件分岐です。

中学技術の「情報」では、条件分岐は順次・反復と並ぶプログラムの三本柱として登場します。
定期テストでも、if文を使った例題やフローチャートの読み取りがよく出題されます。
この記事では、条件とは何か、if文の書き方、三つ以上に分ける方法、そして例題二問までを順番に整理しました。
変数と代入を学んだ人なら、きっとスムーズに読み進められますよ。

この記事で分かること
  • 条件分岐とは:条件を調べて、実施する処理を選ぶしくみです。
  • if文の書き方:「もし〜なら、そうでなければ」の形と、点数の例です。
  • 三つ以上に分ける方法:条件を並べる順番のコツと、例題二問です。

条件分岐とif文の全体像

条件分岐の学習は、三つの段階で進めると迷いません。
まず、条件とは何かを知り、答えが「真」か「偽」のどちらかになることをつかみます。
次に、その結果で道を選ぶif文の形を覚えます。
最後に、道が三つ以上あるときの並べ方と、よくあるまちがいを確認します。
この順番で見ていけば、if文は決してむずかしくありません。

条件分岐の全体像
  • 条件:「はい」か「いいえ」で答えられる問いで、答えは真か偽になります。
  • if文:条件が真なら処理A、偽なら処理Bを実施する書き方です。
  • 三つ以上の分岐:条件を上から順に調べて、最初に当てはまった道だけ進みます。

ポイント1:条件分岐とは何か(条件・真と偽)

最初のポイントは、条件分岐の考え方そのものです。
プログラムは、順番どおりに動くだけでは、いつも同じ結果しか出せません。
そこで、条件を調べて道を選ぶしくみが必要になります。
ここでは、分岐が必要な理由と、条件の意味、真と偽の関係を整理します。

HeatKeep
HeatKeep

条件と真偽のポイントを紹介します

順番どおりだけでは同じことしかできない

プログラムの基本は、順次・分岐・反復の三つです。
順次は、書いた命令を上から順番に一つずつ実行する流れのことでしたね。
ところが順次だけだと、いつ動かしても同じ結果になってしまいます。
ゲームでライフが残っていても、ゼロになっていても、同じ画面しか出せません。
そこで必要になるのが、そのときの状況を調べて進む道を選ぶ分岐です。
この分岐を、条件分岐と呼びます。
テストでは、三つの名前と意味がセットで問われます。

条件分岐は、道の分かれ目に立って看板を見るイメージです。
看板に「雨なら右、晴れなら左」と書いてあれば、天気を見て進む方向を決められますよね。
プログラムも同じで、変数の値などを調べた結果によって、実施する処理を選びます。
この「調べる」部分が条件で、「選ぶ」部分が分岐なんです。

条件によって道が分かれるプログラムの流れを表した図

条件は「はい・いいえ」で答えられる問い

条件とは、答えが「はい」か「いいえ」のどちらかになる問いのことです。
たとえば「気温は三十度以上か」「点数は六十以上か」は、どちらも条件になります。
反対に「今日の気温はどうか」のように、数や言葉で自由に答えられる問いは、条件としては使えません。
プログラムが道を選ぶには、答えがはっきり二つに分かれる問いが必要だからです。
変数に入っている値と、ある数を比べる形にすると、条件を作りやすくなります。
条件を作るときは、まず「はいかいいえで答えられるか」を確かめましょう。

身の回りにも条件はたくさんあります。
エアコンの「室温が設定より高いか」、信号機の「歩行者のボタンが押されたか」などです。
どれも、はいかいいえで答えられますよね。
プログラムの条件も、こうした身近な問いと同じ考え方で作ります。
条件の形が決まれば、あとはその答えに合わせて動きを割り当てるだけです。

真と偽、どちらか一つの道だけ進む

条件を調べた結果が「はい」のとき、これを真と呼びます。
結果が「いいえ」のときは偽と呼びます。
条件の答えは、必ず真か偽のどちらか一つで、その中間はありません。
たとえば点数が五十九のとき、「六十以上か」という条件の答えは偽です。
そして、真のときの道と偽のときの道は、同時には進めません。
必ずどちらか一方だけが実施される、というのが条件分岐の大きな特徴です。
テストでは、真と偽の二つの言葉を漢字で書かせる問題もよく出ます。
真は条件が成り立つとき、偽は成り立たないときと、セットで覚えておきましょう。

ここでよくある勘ちがいが、「両方の道を少しずつ進む」と考えてしまうことです。
実際には、条件が真なら真の道だけ、偽なら偽の道だけを進み、もう一方は通りません。
この「どちらか一つだけ」という感覚をつかんでおくと、あとで出てくる三つ以上の分岐も理解しやすくなります。
真と偽という言葉も、テストでそのまま書かされることがあるので、漢字で覚えておきましょう。

条件と真偽のポイント
  • 条件は問い:はいかいいえで答えられる問いだけが、条件として使えます。
  • 答えは二つだけ:はいは真、いいえは偽で、その中間はありません。
  • 道は一つだけ:真の道と偽の道のどちらか一方だけを進みます。

ポイント2:if文の書き方(もし〜なら・そうでなければ)

二つ目のポイントは、条件分岐を実際に書き表すif文の形です。
「もし条件なら処理A、そうでなければ処理B」という形さえ覚えれば、どんなプログラムにも応用できます。
ここでは、基本の形、点数の例、そして比べるときの書き方を見ていきます。

HeatKeep
HeatKeep

if文の書き方のポイントを紹介します

if文の基本の形は「もし〜なら、そうでなければ」

if文の基本の形は、「もし条件なら処理A、そうでなければ処理B」です。
英語で「もし」はif、「そうでなければ」はelseと書きます。
条件が真のときは処理Aだけが実施され、偽のときは処理Bだけが実施されます。
この「どちらか一方だけ」というルールは、前の章で学んだ真と偽の考え方そのものです。
フローチャートで書くときは、条件をひし形の中に入れ、出口をはいといいえの二本にします。
分かれた道は、処理が終わったあとで一本に合流します。

if文を読むときは、まず条件の部分だけに注目するのがコツです。
条件が真になるのか偽になるのかを先に決めてしまえば、あとは進む道が自然に決まります。
処理Aと処理Bの中身は、表示することでも、変数に値を入れることでも、何でも入れられます。
形は同じでも、中身を入れかえるだけで、いろいろなプログラムが作れるんですよ。

点数で合否を決める例で動きを追う

具体的な例で動きを追ってみましょう。
「点数」という変数があり、もし点数が六十以上なら「合格」と表示します。
そうでなければ「再テスト」と表示する、というプログラムです。
点数に七十が入っているとき、六十以上という条件は真になるので、「合格」が表示されます。
点数に五十九が入っているときは条件が偽になり、「再テスト」が表示されます。
同じプログラムでも、変数の値が変わると結果が変わるのが分かりますね。
点数ごとに結果を表にして確かめてみるのも、よい練習になります。

ここで大切なのは、プログラムそのものは一文字も変えていない、という点です。
変えたのは、変数に入れた値だけです。
それでも結果が変わるのは、条件を調べる部分が毎回働いているからなんです。
変数と条件分岐は、こうして組み合わさって、状況に合わせて動くプログラムを作ります。
テストでは、値を一つ決めて、表示される結果を答える問題がよく出ます。

変数とif文を組み合わせて処理を選ぶようすを表した図

以上・より大きい・等しいを使い分ける

条件では、数を比べる言葉を使います。
「以上」は、その数を含みます。つまり「六十以上」には六十もふくまれます。
「より大きい」は、その数を含みません。「六十より大きい」なら、六十は入りません。
同じように「以下」は含み、「未満」は含まないという関係もあります。
等しいかどうかを調べるときは、プログラムではイコールを二つ並べて書くことが多いです。
イコール一つは変数に値を入れる代入なので、区別が必要なんですよ。

この違いが最も出るのは、ちょうど境目の数のときです。
点数がちょうど六十のとき、「六十以上」は真ですが、「六十より大きい」は偽になります。
テストの問題では、わざと境目の数を使って、ここを理解しているか確かめてきます。
数直線を頭に描いて、境目の数が仲間に入るかどうかを確かめる習慣をつけましょう。
それだけで、まちがいがぐっと減りますよ。

if文の書き方のポイント
  • 基本の形:もし条件なら処理A、そうでなければ処理Bと書きます。
  • どちらか一方だけ:真なら処理A、偽なら処理Bのどちらかしか動きません。
  • 境目の数に注意:以上は含み、より大きいは含まないことを確かめましょう。

ポイント3:三つ以上に分ける条件分岐と例題

三つ目のポイントは、道が三つ以上あるときの考え方と、例題の解き方です。
点数をA・B・Cの三段階で判定するような場面は、実際のプログラムでもテストでもよく出てきます。
条件を並べる順番が、結果を大きく左右するのがここの見どころです。

HeatKeep
HeatKeep

三つ以上に分ける条件分岐のポイントを紹介します

条件を上から順に調べて、当てはまったら終了

道が三つ以上のときは、if文を続けて書き、条件を上から順に調べます。
最初に当てはまった条件の処理だけを実施して、そこで判断は終わりです。
残りの条件は、もう調べません。
いちばん最後には、どの条件にも当てはまらない場合として「そうでなければ」を置いて、すべての場合をまとめます。
たとえば「八十以上ならA、六十以上ならB、それ以外はC」と書けば、どんな点数でも必ずどれか一つに決まります。
この「必ず一つに決まる」ことが、分岐を作るうえでの大事な条件です。

フローチャートで書くと、ひし形が縦に二つ並ぶ形になります。
一つ目のひし形で偽だったときだけ、二つ目のひし形に進みます。
つまり、二つ目の条件は「一つ目の条件が当てはまらなかった人」だけに向けた問いなんです。
この見方ができると、あとで出てくる並べる順番のルールも、自然に理解できます。

三つ以上に分けるポイント
  • 上から順に調べる:最初に当てはまった条件の処理だけを実施します。
  • 最後はそれ以外:どれにも当てはまらない場合を、そうでなければでまとめます。
  • 必ず一つに決まる:どんな値でも、道が一つだけ選ばれる形にします。

条件を並べる順番で結果が変わる

条件を並べる順番は、結果に直接かかわります。
たとえば「六十以上ならB、八十以上ならA」の順に書いたとします。
すると九十点の人は、最初の「六十以上」に当てはまった時点で判断が終わり、Bになってしまいます。
本当はAにしたいのに、Aの条件まで調べてもらえないんです。
これを防ぐコツは、きびしい条件、つまり当てはまる人が少ない条件を先に書くことです。
「八十以上ならA、六十以上ならB」の順にすれば、九十点はAになります。
順番を入れかえるだけで結果が変わるので、書く前に確かめる習慣が大切です。

順番を考えるときは、「この条件は、前の条件に当てはまらなかった人だけが調べられる」と声に出して確かめるのがおすすめです。
六十以上という条件が先にあると、八十以上の人もすべて先に吸い込まれてしまいます。
テストでは、順番を入れかえた誤りのあるプログラムを見せて、どこが問題かを答えさせる問題もあります。
きびしい条件を先に書く、と覚えておけば安心ですよ。

例題二問で解き方を身につける

例題一です。「もし気温が三十以上なら半そで、そうでなければ長そで」と表示します。
気温が三十二のとき、何が表示されるでしょう。
三十二は三十以上なので条件は真になり、答えは「半そで」です。
気温が二十八なら条件は偽になり、「長そで」が表示されます。
例題二は、八十以上ならA、六十以上ならB、それ以外はCという判定です。
点数が七十五のとき、八十以上は偽、六十以上は真なので、答えはBになります。
どちらの例題も、条件に値を当てはめて真か偽を決める手順は同じです。
落ち着いて順番に確かめれば、必ず答えが出ますよ。

解くときは、決まった手順で進めるとまちがえません。
まず、変数に入っている値を確かめます。
次に、一番上の条件から順に、その値が当てはまるかどうかを真か偽で書き込んでいきます。
最初に真になった条件の処理が答えで、そこから下は調べません。
この手順をノートに書きながら練習すると、テストでも落ち着いて解けますよ。

変数の箱と分岐のゲートを使って結果を選ぶようすを表した図

テスト前の確認リスト

ここまでの内容を、テスト前に確かめられる形にまとめました。
一つずつ、自分の言葉で説明できるかどうかを試してみてください。
説明できない項目があったら、その項目に対応する章に戻って読み直しましょう。
特に、境目の数と、条件を並べる順番は、テストでまちがえやすい場所です。
声に出して確かめると、頭にしっかり残りますよ。

  • 条件分岐とは、条件を調べて実施する処理を選ぶしくみだと説明できる。
  • 条件は「はい・いいえ」で答えられる問いで、答えは真か偽だと言える。
  • if文の形「もし条件なら処理A、そうでなければ処理B」を書ける。
  • 「以上」は含み、「より大きい」は含まないことを区別できる。
  • 三つ以上に分けるとき、きびしい条件を先に書く理由を言える。

よくある質問

テストによく出るのはどんなところですか

よく出るのは、値を一つ決めて表示される結果を答える問題と、フローチャートの読み取りです。
特に、点数が六十ちょうどのような境目の値で、以上とより大きいの違いを確かめる問題が多いです。
もう一つは、三つ以上に分ける判定で、条件を並べる順番を問う問題です。
まずは例題のように、変数の値を条件に当てはめて真か偽を書き込む練習をしましょう。
手順どおりに解けば、むずかしい問題でも落ち着いて答えられます。
あわせて、if文の形を書かせる問題も出るので、基本の形は書けるようにしておくと安心です。

「以上」と「より大きい」のちがいは何ですか

結論は、「以上」はその数を含み、「より大きい」はその数を含まない、というちがいです。
たとえば六十点のとき、「六十以上」は真ですが、「六十より大きい」は偽になります。
同じように「以下」は含み、「未満」は含みません。
迷ったときは、数直線を描いて、境目の数に丸をつけて確かめるのがおすすめです。
境目の数が仲間に入るかどうかだけを見れば、まちがえにくくなりますよ。
テストでは、わざと境目の数が使われるので注意が必要です。
ここを正しく区別できれば、条件分岐の問題の多くは得点できます。

「そうでなければ」は必ず書かないといけませんか

結論は、必ずしも書かなくてかまいません。
条件が偽のときに何もしなくてよいなら、「そうでなければ」の部分は省けます。
たとえば「もし雨なら傘を持つ」だけでも、立派なif文です。
晴れの日は条件が偽になり、何も実施せずに次の処理へ進みます。
ただし、三つ以上に分けるときの最後の「それ以外」は、書いておくと抜けや漏れを防げます。
状況に合わせて使い分けてみてください。
書くかどうかは、偽のときに実施したい処理があるかどうかで決めましょう。

おわりに

今回は、プログラムが道を選ぶしくみである条件分岐とif文を学びました。
条件は「はい・いいえ」で答えられる問いで、答えは真か偽のどちらか一つでしたね。
三つ以上に分けるときは、条件を上から順に調べて、きびしい条件を先に書くのがコツです。
if文がわかると、ゲームやアプリがなぜ状況に合わせて動けるのかが見えてきます。
焦らず、例題を何度か解いて、手順を体になじませていきましょう。

条件分岐とif文のポイントをまとめた図解

ご視聴ありがとうございました。
この記事の内容を動画でも解説しています。
ぜひご覧ください。

条件分岐でよくあるまちがいと、考え方のコツ

if文の形を覚えても、実際に書いたり読んだりすると、思わぬところでつまずきます。ここでは、よくあるまちがいと、そのチェック方法を見ていきます。

3つのポイント
  • ポイント1:条件の書き方:不等号と等号の向きを、数字で確かめる。
  • ポイント2:判定の順番:厳しい条件を先に書いて、取りこぼしを防ぐ。
  • ポイント3:手で追う:値を一つ決めて、一行ずつ実行してみる。
HeatKeep
HeatKeep

つまずきやすいところのポイントを紹介します

不等号の向きと境目の数字を確かめる

もっとも多いまちがいは、不等号の向きや、境目の数字を含むかどうかの勘ちがいです。「80点以上」と書くつもりが「80点より大きい」になっていると、ちょうど80点の人が別の結果になってしまいます。書いたら、境目の数字を実際に入れて、期待どおりに動くかを確かめましょう。境目の前後と境目そのものの三つを試すと、まちがいが見つかりやすくなります。

判定の順番で結果が変わる

三つ以上に分ける場合、条件を調べる順番で結果が変わります。たとえば、点数が80以上ならA、60以上ならB、と上から調べるとき、順番を逆にすると、90点の人もBになってしまいます。厳しい条件、つまり範囲の狭いほうから先に書くのが基本です。順番を入れ替えたらどうなるかを、実際に数字で試してみると理解が深まります。

フローチャートで先に道筋を描く

いきなりプログラムを書くより、まずフローチャートで道筋を描くと、迷いが減ります。ひし形の判断の記号から、「はい」と「いいえ」の二本の線を出し、それぞれの先に処理を書きます。三つに分けるときは、ひし形を二つ使います。図にできたものを文章に直せば、そのままif文になります。テストのフローチャート問題の練習にもなります。

身近な場面で考える条件分岐と、よくある質問

条件分岐は、教室の中でも、毎日の暮らしの中でも使われています。身近な場面に置きかえると、考え方が自然につかめます。

自動ドアや信号機に使われている考え方

自動ドアは、「人がいるなら開く、いないなら閉じる」という条件分岐で動いています。信号機も、歩行者のボタンが押されたかどうかで、動きを変えるものがあります。このような機械は、センサーから入ってくる値を条件にして、動作を切り替えているのです。身の回りの機械を見て、「どんな条件で何が変わるか」を考えてみると、プログラムの発想が身につきます。

入力の値によって返事を変える例題

気温を入力して、服装をアドバイスするプログラムを考えてみましょう。30度以上なら「半袖で過ごそう」、15度以上なら「長袖がちょうどよい」、それ以外は「上着を忘れずに」と表示します。この例では、境目が二つあるので、条件を二回調べる形になります。自分で境目の数字や表示する言葉を変えてみると、条件分岐の仕組みがよくわかります。

テスト前に自分で確かめる方法

テスト前には、自分で小さな問題をつくって解いてみる方法が効果的です。値を一つ決めて、「この値ならどの道を通るか」を声に出して説明します。説明できたら、別の値でもう一度試します。三つの道のうち、どの道も一度は通るようにすると、抜けがなくなります。友だちと問題を出し合うのも、よい練習になります。

生徒との絆を深め、理想の学級を実現させませんか?