共通テスト「情報」の試作問題をMonaca Educationなどのツールで解いてみた

2022年11月、大学入試センターから共通テストの試作問題が公開されました。

試作問題のうち、プログラミングに関係する問題と、論理回路に関係する問題について、解説記事を書きました。弊社が運営するサイト「あんこエデュケーション」で公開しています。

Monaca Educationで大学入学共通テストの試作問題に取り組む~釣り銭が少ない上手な払い方

試作問題では、「お金を払う時に、お金のやりとりが少ない上手な払い方をする」というテーマを示したうえで、プログラムではどのように解けるのか、アルゴリズムを考えさせています。

最初に確認しなければいけないことは、「上手な払い方とは何か」ということです。試作問題は、次のような説明から始まります。

商品を買って、代金を支払うとき、相手に渡す硬貨が少ないと、手間がかかりません(50円払うとき、十円硬貨を5枚払うより、五十円硬貨を1枚払うほうが簡単)。

また、代金の金額によっては、代金ぴったりの枚数を渡すより、余分に渡しておいて、釣り銭をもらうほうが、やりとりする硬貨の数が少なくなる場合があります。

46円を十円硬貨4枚、五円硬貨1枚、一円硬貨1枚で払う
46円を支払うのに、五十円硬貨1枚、一円硬貨1枚で払い、釣り銭として五円硬貨を受け取る

どんなアルゴリズムで、この「上手な払い方」問題を解けるでしょうか。

ブログの記事では、この問題について、Monaca Educationを使い、JavaScriptとPythonの両方で解答を示してみました。Monaca Educationでインポートできるよう、プロジェクトも公開してます。興味のある方はインポートして、ぜひ試してみてください。

論理回路の問題を、論理回路シミュレータで試す(大学入学共通テストの試作問題から)

弊社が運営するサイトあんこエデュケーション」では、プログラミングを学習する上で役に立つ様々なコンテンツを公開しています。そのうちの1つが論理回路シミュレータです。文字通り、AND回路やOR回路、NOT回路などをシミュレーションすることができるツールです。

共通テストの試作問題の中にある、論理回路の動作を問う問題について、その論理回路シミュレータで動作を確かめてみました。

1つ1つは単純な動作しかしない論理回路を複数組み合わせることで、複雑な動作をさせることができる。そのことが体験的に学べる題材になっています。

間もなく共通テスト「情報」がはじまります。

「こんな勉強をしてきた学生が、これから世の中に出てくるんだな」

ということを知っていただけたらと思います。