大学入学共通テスト「情報」対策2

3月20日の水曜日のクラブ活動は、前回に引き続きゲームプログラミングを一旦おいて、令和7年度大学入学共通テストの「情報」科目対策を実施しました。

Scratchだけの知識では解けない?

大学入学共通テストのサンプル問題は、すでに公式に発表されています。今回取り組んだのは、下のサイトのサンプル問題です。

https://www.dnc.ac.jp/kyotsu/shiken_jouhou/r7/r7_kentoujoukyou/#anchor02

このサンプルの疑似言語の問題は、専門的に学習しないと難しい、ということで光都ICTクラブで取り組んでいます。擬似言語とは、具体的に下の図のような問題です。

問題文は、数学の文章題のように展開します。日本語でプログラムの仕様が書かれているので、それを上の図のような疑似言語に置き換えるという問題です。擬似言語は、途中穴抜きになっており、選択肢から答えを選びます。

わたしは慣れているので、特に意識することなく頭の中でコードを動かして答えにたどり着けます。しかし、なれないメンバーにとっては、最初からすべて頭の中でコードを動かすのはむずかしいようです。そこで、実際に下の写真のようにコードを書いて動かして理解を深めてもらいました。

実際に書いたコードは、疑似言語をPythonに置き換えて、以下の通り書きました。コードは、ほとんど問題のままというのがわかります。タイピング速度が十分に速ければ、ものの3分もあれば書き終えてしまいます。

Tomei = ['A党', 'B党', 'C党', 'D党']
Tokuhyo = [1200, 660, 1440, 180]
sousuu = 0
giseki = 6

for m in range(4):
    sousuu = sousuu + Tokuhyo[m]
    print(sousuu)

kizyunsuu = sousuu / giseki
print('基準得票数:', kizyunsuu)
print('比例配分')
for m in range(4):
    print(Tomei[m], ':', Tokuhyo[m] / kizyunsuu)

書いたコードを動かすと、ほぼ期待通り(問題の通り)の動作でした。処理系の違いにより、出力結果が若干変わったものの、本質的ではないので無視できます。実際にコードを書いて、変数の中身を理解しながら疑似言語を追いかけると理解しやすいのです。

では、おそらく中学校までで一度は触れるであろうScratchで、このサンプルの擬似言語をプログラムしてみるとどのようになるでしょうか。わたしはPythonで書くようにスムーズにコーディングできませんでした。Pythonで置き換えたときは、ほとんど何も考えず入力するだけでした。しかし、Scratchだと処理を考えながら10分以上かかりました。

Scratchに、それなりに触れているわたしでさえ擬似言語の置き換えに手間取りました。学校でさらっとScratchを触った程度で対処できるでしょうか。

Scratchはプログラミングの入口としては優れていると思います。しかし、その後の発展を考えると、Scratchを続けるのは利益が少ないと考えるのは、大学入学共通テストのサンプルを見てもらったとおりです。Scratchからは、早めの卒業をおすすめします