記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
情報1のプログラミング問題って難しくない?
と感じている人に向けた記事となっています。
2025年の大学入学共通テストから追加される「情報」。
試作問題が公表され、その問題の中でも登場しているのが「プログラミング」の問題。おそらく本番でも大問の1つとして出題されることが予想されます。
とは言っても
なんかプログラムで出てくる「=」って、数学のイコールと違うの?よくわからないんだけど…
というように、そもそも解き方がわからない人も多いのではないでしょうか。
しかし、プログラム問題は実は以下を理解できれば読み解けるようになるのです。
- 値・文字列
- 変数
- 配列
- 算術演算子
- 論理演算子
- 比較演算子
- 制御文(条件分岐)
- 制御文(繰り返し)
- 関数
- コメント
▶︎詳しくはこちらの記事で紹介しています。
【情報I】プログラミング問題に強くなる10個の基礎(苦手な人必見)
この記事では、その中の「変数」について深掘りしたいと思います!
この記事を読めば「情報I」のプログラム問題に強くなりますよ!
プログラミング問題が不安だよ…
という人はぜひ最後まで読んでみてください!
- 教育業界・学習塾で10年以上勤務。教員免許状所持
- 500人以上の生徒に学習・進路指導:合格率 94.7%
- プロ家庭教師・小学校学習支援サポーター、校内予備校の教室長
- AIツールやオンラインでの豊富な指導経験を持つ
- 不登校傾向のある生徒やギフテッドの特徴を持つ生徒も指導中
早速、変数について知っていきましょう。
変数とは、数字や文字などのデータを格納するために用意する箱のようなものです。
そもそも、プログラム問題の1文1文が表しているのは
- 定義や設定
- 何かしらの動作や処理の実行
のいずれかであることがほとんどですが、
変数そのものは何かしらの処理をする側ではなく、処理される側となることが多い(計算するための素材として使われる等)ため、
プログラム問題を解く上では、「定義や設定」の方法を覚えておくことで、プログラムを読みやすくなります。
変数を使う際・定義する際には
- 英数字を使う
- 格納するデータの性質などを表す単語やローマ字で表記する 例:tate , yoko , width , length
- 変数名が複数の単語にわかれるときには「_」で繋ぐ 例:kingaku_kei
- データを変数へ格納する(代入する)ときには「=」を使う
というルールにもとに行われます。
特に最後のデータを変数へ格納する(代入する)ときには「=」を使うというルールは非常に重要です。
プログラミングでつまずきやすい第一ポイントです。
変数にデータを書くのすることを「代入する」といい、「=(イコール)」を使います。
使用例
#変数 length に 3 を代入する。
length = 3
#変数 fruit に ”りんご” を代入する
fruit = "りんご"
上記のコードが表す意味は、それぞれ
- 『length』という名前のついた変数(箱)にデータ(「3」)を代入する
- 『fruit』という名前のついた変数に「りんご」という文字列データを代入する
となります。
重要な点は数学で使う「=」の意味と違うということです!
でもそもそも何のために変数を用意するの?
と思うかもしれませんが、変数を使う理由は以下です。
- 一般化(抽象化)できる
- エラーの可能性や改修の手間を軽減させる
です。
共通テストの情報を解く上で必要な知識ではありませんが、具体例を通して変数を使う意義やプログラミングする際の慣習を体感しておきましょう。
そもそも、慣習として、プログラムではデータはそのまま扱わないことが多いと考えておきましょう。
何かデータを扱う時には変数に代入して処理するのが慣習、と捉えてOKです。
プログラムは、コードを書く時間よりも実際に運用されて他の人から見られる時間の方が多いため、突然、数字などが出てきても、何に使う値なのか読んだ人にとっては、わかりづらいのです(こういった数字のことをマジックナンバーとも言います)。
一方、変数は、用途や格納するデータが持つ性質を表す単語で命名することが多いため、他の人がコードを見た時にコードの内容やプログラムの内容を読み解きやすいというメリットがあるのです。
このようにコードの読みやすさのことを可読性と言います。
たとえば、下記の図のような長方形の面積を求めるプログラムを作成したとします。
長方形の面積の求め方は
長方形の面積: 縦 × 横
ですから、プログラム上でも、
#長方形の面積を求めるプログラム
menseki = 3 * 5
と書くことができます。
しかし、突然このコードを読んだ人は、「3」や「5」が何を示す値なのかが判別できないのです。
変数を使うと
#長方形の面積を求めるプログラム
tate = 3 #縦の値をtateという変数に代入(変数の定義・設定)
yoko = 5 #横の値をtateという変数に代入(変数の定義・設定)
menseki = tate * yoko #変数tateとyokoを掛け算して面積を算出(処理の実行)。
このように、変数を使うことで、どのような意味や性質を持つデータなのかということや、処理の内容をわかりやすく伝えることができるのです。
上記の例で言うと、3や5は具体的な数字です。でもそれらの数字は「縦」や「横」というように抽象化することができるのです。
プログラミングでは具体的な事象を抽象化する力が非常に大切なのです。
共通テストのプログラミング問題を解く上でも、抽象化する力は高得点を狙うなら必須の能力です。
このように変数を使うことは具体的な数字や値を抽象化するためにも使用されるのです。
もう一つは、変数を使うことで、プログラムの改修・修正の際に手間を軽減できるというメリットもあります。
たとえば、アルバイトの給与を算出するプログラムがあったとしましょう。
#アルバイトの給与を算出するプログラム
#時給を1200円とする
#Aさんは7時間働いたとします。
kyuyo1 = 7 * 1200 #処理結果は8400
#Bさんは5時間働いたとします。
kyuyo2 = 5 * 1200 #処理結果は6000
#Cさんは6時間働いたとします。
kyuyo3 = 6 * 1200 #処理結果は7200
このように時給をそのまま処理の式に使うこともできますが、
時給が1500円に変わった時、
kyuyo1 = 7 * 1200
kyuyo2 = 5 * 1200
kyuyo3 = 6 * 1200
の3行とも「1200」の部分を「1500」に書き換えなければなりません。
変更後
kyuyo1 = 7 * 1500
kyuyo2 = 5 * 1500
kyuyo3 = 6 * 1500
書き換えなければならないコードの数が多くなればなるほど、「抜け」「漏れ」が起こりやすく、意図しない挙動になりやすくなります(バグが起こる)。
しかし変数を使えば
#アルバイトの給与を算出するプログラム
#時給を1200円とする
jikyu = 1200
#Aさんは7時間働いたとします。
kyuyo1 = 7 * jikyu #処理結果は8400
#Bさんは5時間働いたとします。
kyuyo2 = 5 * jikyu #処理結果は6000
#Cさんは6時間働いたとします。
kyuyo3 = 6 * jikyu #処理結果は7200
と書き変えることができ、時給が1,500円に変更されても
#アルバイトの給与を算出するプログラム
#時給を1500円とする
jikyu = 1500
#Aさんは7時間働いたとします。
kyuyo1 = 7 * jikyu #処理結果は10500
#Bさんは5時間働いたとします。
kyuyo2 = 5 * jikyu #処理結果は7500
#Cさんは6時間働いたとします。
kyuyo3 = 6 * jikyu #処理結果は9000
変数に値を代入する行さえ更新すれば、給与を算出する行の処理結果を変更させることができるのです。
このように
- 一般化(抽象化)できる
- 手間を軽減する
ことを目的に変数がプログラムで多用されるのです。
最後に「変数」に関する練習問題を解いてみましょう。
画面に「情報1」と表示させるプログラムです。「ア」に入るコードを下記の選択肢から選んでください。
#画面に「情報1」と表示させるプログラム
#変数subject に 文字列「情報1」を代入
subject ア "情報1"
#下記は画面に表示させるコードです
表示する(subject)
【実行結果】
情報1
選択肢
- =
- ==
- !=
- +=
解答
空欄「ア」の行では「情報1」という文字列を変数subjectに代入しています。
変数に値を代入するためには、「=(イコール)」をつける必要があります。
そのため、正解は「1」となります。
なお、「==」は「等しい」という意味、「!=」は「等しくない」という意味、「+=」は自己演算子ですので不適切です。
情報Iのプログラミング問題を解くために知っておきたい基礎知識の一つ、「変数」について詳しくを解説しました。
「変数」のコツを知れば、プログラムを読み解くのに非常に役立ちますよ!
「情報」科で高得点を目指すためにプログラミング問題を解けるようにしていきましょうね。
最後まで読んでいただきありがとうございました。
この記事が少しでも参考になれば幸いです。
それではまたここで会いましょう!
にほんブログ村ブログ村に参加中です。上のバナーをクリックいただくだけで当ブログにポイントが入ります。いつも応援クリックありがとうございます。
Twitter やってます。
新着記事のお知らせをしていますのでぜひフォローしてください!人気の記事
この記事を読んだ人はこちらの記事も読んでいます。
▶︎「【塾長分析】大学入学共通テスト2025「情報」まとめ【難易度・対策】」
共通テスト「情報」対策に必要なことは?塾講師が解説!勉強法と参考書▶︎「【最新】(情報1)共通テスト試作問題 難易度と3つの対策」
【最新】(情報1)共通テスト試作問題 難易度と3つの対策スポンサーリンク