記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
情報1のプログラミング問題って難しくない?
と感じている人に向けた記事となっています。
2025年の大学入学共通テストから追加される「情報」。
試作問題が公表され、その問題の中でも登場しているのが「プログラミング」の問題。おそらく本番でも大問の1つとして出題されることが予想されます。
とは言っても、そもそも解き方がわからない人も多いのではないでしょうか。
2月12日に実施された東進ハイスクールの 『大学入学共通テスト「情報Ⅰ」体験模試』ではプログラミング分野の得点率は、わずか約3割に留まったことが発表されています。
▶︎プレスリリース
しかし、プログラム問題は実は以下を理解できれば読み解けるようになるのです。
- 値・文字列
- 変数
- 配列
- 算術演算子
- 論理演算子
- 比較演算子
- 制御文(条件分岐)
- 制御文(繰り返し)
- 関数
- コメント
この記事では、その中の「論理演算子」について深掘りしたいと思います!
プログラミング問題を苦手とする人は多いです。早期にコツを掴んで差をつけましょう!
- プログラミング講師
- 【技術】HTML /CSS / JavaScript /Ruby /Ruby on Rails /Rspec /SQL /Git/Java
- 30代未経験からエンジニア職の内定獲得
- WEBアプリ・HP作成実績あり
算術演算子とは、
- 「かつ」
- 「または」
- 「否定(=●●ではない)」
のことで、複数の条件を組み合わせて、より複雑な条件を表すときに使います。
数学でも使いますよね。
ベン図の重なり合うところ、そうでないところなど指定の仕方によって指す範囲が異なります。
ちなみに、「かつ」は複数の条件を満たすことが掛け合わされるため「論理積」、「または」は条件を満たすケースを足していくイメージのため「論理和」と言われます。
そして、情報Iのプログラムにおいてはそれぞれ
- かつ : and
- または : or
- 否定 : not
と表記されます。
# AかつB
A and B
# AまたはB
A or B
# AがBでない
not A == B
具体的な例を表記すると、
# 変数 english には英語の点数が代入されている。
# 変数 math には数学の点数が代入されている
# 英語・数学の点数が両方80点以上
english >= 80 and math >= 80
# 英語・数学の点数のいずれかが80点以上
english >= 80 or math >= 80
# 英語・数学の点数が両方80点以上でない
not (english >= 80 and math >= 80)
このようにポイントは
- 条件式 (and , or , not)条件式
と記述する
ということです。
論理演算子を用いた条件分岐はプログラムにおいても非常に多用さるため、それぞれどのような意味か、ベン図のどの範囲を指すのかという点を意識して把握できるようになりましょう。
使用例
プログラムの中で使われている具体的な例を紹介すると
# 成績判定プログラム
# 英語と数学の点数で判断する。
# それぞれ80点以上なら「優秀」、どちらかが80点以上であれば「普通」、両方80点以下であれば「努力」と表示する
# 変数 english には英語の点数が代入されている。
# 変数 math には数学の点数が代入されている
english = 80
math = 75
もし english >= 80 and math >= 80 ならば:
| 表示する("優秀")
そうでなくもし english >= 80 or math >= 80 ならば:
| 表示する("普通")
そうでなければ
└ 表示する(”努力”)
#実行結果: 普通
このようにプログラムでは登場します。
それぞれの論理演算子が登場した際に、
- 条件Aを満たすのか
- 条件Bを満たすのか
- 両方満たすのか
- 両方満たさないのか
をそれぞれ判定するようにしましょう。
最後に「論理演算子」に関する練習問題を解いてみましょう。
「ア」〜「ウ」に入るコードを下記の選択肢から選んでください。
# 合格判定のプログラム
# 筆記試験と実技試験の点数で判断する。
# それぞれ80点以上なら「合格」、どちらかが80点以上なら「次回一次試験免除」、両方80点以下であれば「不合格」と表示する
# 変数 hikki には筆記の点数を代入する
# 変数 jitsugi には実技の点数を代入する
# 得点を入力する
hikki = 【外部からの入力】
jitsugi = 【外部からの入力】
# 合否判定
もし ア ならば:
| 表示する("合格")
そうでなくもし イ ならば:
| 表示する("次回一次試験免除")
ウ
└ 表示する(”不合格”)
# このプログラムを筆記:85点、実技:79点として実行する
# 処理結果:次回一次試験免除
アの選択肢
- hikki >= 80 and jitsugi >= 80
- hikki > 80 and jitsugi > 80
- hikki >= 80 or jitsugi >= 80
- hikki > 80 or jitsugi > 80
イの選択肢
- hikki >= 80 and jitsugi >= 80
- hikki > 80 and jitsugi > 80
- hikki >= 80 or jitsugi >= 80
- hikki > 80 or jitsugi > 80
ウの選択肢
- そうでなければ:
- そうでなくもし hikki > 80 and jitsugi > 80 なら:
- そうでなくもし hikki < 80 and jitsugi > 80 なら:
- そうでなくもし hikki < jitsugi なら:
解答
ア)合格の条件は筆記、実技、両方が80点以上である必要があるため、論理演算子としては「and」を使います。
また、「80点」は含まれるため「>」ではなく「>=」にする必要があります。そのため、正解は「1」です。
イ)筆記、実技のどちらかが80点以上であれば「次回一次試験免除」という判定になります。ですから論理演算子は「or」を使います。ア同様、80点も含まれます。そのため、正解は「3」です。
ウ)両方が80点以上、いずれかが80点以上を指定すれば、「先述2パターン以外の場合」に他のパターンは全て含まれるため、詳細な条件を設定しなくても条件分岐が正しく行われます。そのため、正解は「1」です。
模範コード
# 合格判定のプログラム
# 筆記試験と実技試験の点数で判断する。
# それぞれ80点以上なら「合格」、どちらかが80点以上なら「次回一次試験免除」、両方80点以下であれば「不合格」と表示する
# 変数 hikki には筆記の点数を代入する
# 変数 jitsugi には実技の点数を代入する
# 得点を入力する
hikki = 【外部からの入力】
jitsugi = 【外部からの入力】
# 合否判定
もし hikki >= 80 and jitsugi >= 80 ならば:
| 表示する("合格")
そうでなくもし hikki >= 80 or jitsugi >= 80 ならば:
| 表示する("次回一次試験免除")
そうでなければ
└ 表示する(”不合格”)
# このプログラムを筆記:85点、実技:79点として実行する
# 処理結果:次回一次試験免除
情報Iのプログラミング問題を解くために知っておきたい基礎知識の一つ、「論理演算子」について詳しくを解説しました。
「論理演算子」のコツを知れば、プログラムを読み解くのに非常に役立ちますよ!
大学入学共通テストで採用されている擬似言語に対応した、プログラミング問題に特化した問題集を作成しました。
- 基礎的なプログラミングの知識を身につけることができる問題を収録
- 大学入学共通テストで採用されている「擬似言語」に対応
- 全問解答・解説がついているから一人でも勉強しやすい!
まだまだプログラミング問題を苦手とする人は多いです。早期にコツを掴んで差をつけましょう!
【高校情報Ⅰ】プログラミングが苦手な人必見!疑似言語コードの読み解きを1ヶ月でマスターする基礎問題集
【情報1】1ヶ月完成!プログラミング基礎問題集30題最後まで読んでいただきありがとうございました。
この記事が少しでも参考になれば幸いです。
それではまたここで会いましょう!
にほんブログ村ブログ村に参加中です。上のバナーをクリックいただくだけで当ブログにポイントが入ります。いつも応援クリックありがとうございます。
Twitter やってます。
新着記事のお知らせをしていますのでぜひフォローしてください!関連記事
この記事を読んだ人はこちらの記事もよく読まれています。
▶︎プログラミング問題に強くなるための記事はこちら
【情報I】プログラミング問題に強くなる10個の基礎(苦手な人必見) 【情報1】1ヶ月完成!プログラミング基礎問題集30題スポンサーリンク