見出し画像

共通テスト情報プログラミング対策「条件分岐」(共通テスト用プログラム表記)

【動画】共通テスト用プログラム表記「条件分岐」

共通テスト情報Ⅰ プログラミング対策講座 
今日の授業では条件分岐について説明していきます。

共通テスト対策参考書


条件分岐と算術演算子

共通テスト情報Ⅰ プログラミング対策
今日は条件分岐と比較演算子について説明していきます。

テストの点数が80点以上なら合格、それ以外つまり80点未満なら不合格と表示するプログラムを作っていきます。

このような、条件によって処理を選択して実行する構造のことを分岐構造(条件分岐文)といいます。
プログラムで説明する前に、フローチャートで説明していきます。

■フローチャートとは


 ある問題を解決したり,やりたいことを実現したりするための方法や手順のことをアルゴリズムといいます。このアルゴリズムを視覚的にわかりやすく表現した図がフローチャートです。フローチャートは流れ図ともいいます。
たとえば、朝の身支度の流れをフローチャートで表すと次のようになります。

 


フローチャートにはいろいろな記号がありますが、この基本文法シリーズ動画ではこのようなフローチャートの記号を使います。

今回の条件分岐文で大切な記号は、ひし形の記号です。
フローチャートを描いていきます。

開始と終了の間に処理を描きます。
条件はひし形の記号に書きます。
 <条件>を満たせばYESの処理に入り、<処理1>が実行されます。
条件を満たさなければNOの処理に入り<処理2>が実行されます。
 
条件が成立することを真(True)といい,フローチャートではYes にあたります。条件が成立しないことを偽(False)といい,フローチャートではNo にあたります。
 
処理の流れは終了まで行きつかないといけないので、
メインの線と繋がるように処理の線を繋げます。

比較演算子

この条件の部分には、このような比較演算子を使います。
比較演算子とは値の大小関係を示す演算子のことです。

テストの点数が80点以上なら合格、それ以外つまり80点未満なら不合格のパターンでフローチャートを描いていきましょう。

まず、テストの点数は変数xに代入することにします。
今回は85点を取ったと仮定してxに85を代入します。

xが80以上ならば真なので判断の記号にはx>=80とかきます。

条件にあてはまる場合つまり真(True)の場合、合格を表示します。この記号は表示を表す記号です。

条件にあてはまらない場合、つまり偽(False)の場合、不合格を表示します。

不合格を表示後、処理の流れは終了まで行きつかないといけないので、メインの線と繋がるように線をつなげます。

この条件分岐文を共通テスト用プログラム表記で表すとこのようになります。
 


 
処理1 と処理2 のところに「|」と「⎿」の記号があり,その行頭が少し引っこんでいま
すが,これは処理のまとまり(制御範囲)を表しています。ここでは,「|」は条件分岐文の
処理が続いていることを,「⎿」は条件分岐文の終わりを,それぞれ意味しています。

Pythonなどのプログラミング言語やPyPENは、半角スペース4つ分の空白が対応しています。この字下げのことをインデントといいます。
インデントをすることで処理の範囲が明確になり、インデントの位置を間違えると、プログラムが意図したように動作しないことがあります。

ではこれをテストの点数のパターンで表すとこのようになります。

PyPENでも実行してみましょう。

合格と表示されました。
xの値を60と打ち換えて実行してみましょう。2行目の判定で偽となるので5行目の処理で不合格と表示されました

外部入力

(1) 行目で変数xの値を固定で決めましたが
プログラム実行中にユーザがキーボードなどで外部から入力した値を代入することもできます。
共通テスト用プログラム表記では、【】で囲んでその中に「外部からの入力」と書きます。
「x = 【外部からの入力】」とするとユーザが入力した値が変数xに代入されます。

PyPENではこのように記述します。外部からの入力した値を変数xに代入するので、つまりx = 【外部からの入力】と同じ意味です。

https://toppakou.com/PyPEN3/?code=eJx1zDuqwlAYxPE-q_iIjXaWNnFdKc98oqhRSIT4RFCIGBQkxS1EspvxRK3cQuKrvFPP7-8TxyL-K-KMOrHdnR2uiAU1kJovntCENpk-OikRUAfE6fsxEY0hUhuOiLlDVWImvrQ9aTWFOLzf2TNfOlLtvk1vyeVTrrs27Beb3G2IQ6yJHrF_CUTUqvYPup7HP1cC4VJoWQ

実行してみます。
外部入力欄が入力可能になったので60と入力してエンターを押します。
xに60が代入されたので不合格と表示されました。

3つ以上の処理 複数条件分岐


次に分岐の数を増やして3通り以上の処理を発生させましょう。

条件分岐文を複数組み合わせることで,3 通り以上の処理を発生させることができます。


このフローチャートでは, 条件1 が真(True)ならば処理1 を実行します。
偽(False)ならば条件2 の判定を行います。条件2 が真(True)ならば処理2 を実行します。
条件2が偽(False)ならば処理3 を実行します。
 

テストの点数のパターンで
xが80以上ならA、xが70以上ならB、それ以外ならCを表示するフローチャートはこのようになります。

注意すべき点は、はじめの判定で真の場合、次の判定は行われません。
このようにxが70以上の判定を先に持ってきたばあい、80点以上の場合もはじめの判定で真となってしまうため80点以上の判定が行われません。

共通テスト用プログラム表記で表すとこのようになります。

xが75のパターンで処理を追っていきましょう。

1行目で変数xに75が代入されます。
2行目の判定 75は80以上ではないので 判定は偽となり4行目の判定が行われます。
4行目 75は70以上なので真となり、5行目でBが表示されます。

PyPENでも動かしていきましょう。


https://toppakou.com/PyPEN3/?code=eJx1jSEKgkEYRPueYviS2yyyIqygXmrrfEEQBTGJgkEQFJNZ_ttM0OYVVtsiOvm9NwUZaRDkLm5RMM4Y9iFe5Qvx9ur2Ae89j5fH6S7u5MueTSwiiAdxLp4_MNdtITWF0Q9_avFL38hXf-9mFitddVM-

実行しますBと表示されました。
xの値を69に変更して実行します。
2行目、4行目で偽となるので7行目の処理でCが表示されました。
――
では最後に確認問題です。

変数xの値が100の時にS
変数xの値が80より大きい時にA
それ以外はBと表示するようにアとイの部分に適切な比較演算子を入れてください。

https://toppakou.com/PyPEN3/?code=eJx1jTEKwkAQRfs9xTCV262dCAp6BS9j-6cIiIJYiYEUgUBCqtQht_lF0uUKu1qIiP7uwbw3R9nIMgRHM-IuCV8sREs7Ed085E7SprIZq5540M4LPagXRxRERtTPY1zfia2sPgLrH_pO_Zd9o13-fturj1_HU18

それでは解説していきます。
まず、空欄アの部分についてです。
2行目の条件判定の結果が真ならばSが表示されます。
これは変数xの値が100の時にSが表示される部分が対応しています。
つまり、等しいを意味する==が入ります。

まず、空欄イの部分についてです。
4行目の条件判定の結果が真ならばAが表示されます。
これは変数xの値が80より大きいの時にAが表示される部分が対応しています。丁度80の場合は偽となり、表示結果はBとなります。
つまり、超過を意味する>大なりが入ります。

PyPENで試していきましょう。

今日の授業は以上です。
次回は複雑な条件分岐文と論理演算子について解説していきます。

最後までご視聴ありがとうございました。

300本以上の動画!共通テスト対策はこちら!



この記事が気に入ったらサポートをしてみませんか?