プログラミング教育の記事
昨日の朝日新聞(朝刊)の教育面にプログラミング教育に関する記事が掲載されていて、そこに2010年の大学入試センター試験問題として漢数字を表示するプログラム(穴埋め問題)が載っていました。
試験会場(机上)でこれを解くのは大変そうだと思い、Small Basic でプログラムを書きなおし、実際に走らせてみることにしました。プログラム PZCJ416.000 が解く前のものです。穴埋めを解くと動きます。
実際、一発では正答できず n の1の位が 1 だとうまく動かなかったので、デバッグして正答にたどり着きました。このプログラムは 0 ≦ n ≦ 9999 の範囲ながらシンプルな作りだという印象を受けました。
分かりにくい自作プログラム
そういえば、これと同じようなプログラムを自作したことがあると思い、過去のプログラムを探してみたところ、2018年にこのブログに「漢数字の不規則性」という記事を書いていたことを思い出しました。当時のプログラムが NBS194-1 です。とてもシンプルとは言えません。上記の入試問題を参考にサブルーチン Convert の中を書き換えたいと思いました(新しいバージョンができたら、また紹介します)。
机上と実機、2つの能力
プログラムの穴埋めを机上で解くのは結構大変。実際にやってみるほうが楽しいと思いました。机上で正しいプログラムを書く能力と実機を使って正しいプログラムを書く能力は別物だと思います。
分かりやすいプログラム
試験に出題されるようなプログラムはよくできていると思いました。昔 bit という雑誌にも短くてすっきりとしたプログラムがたくさん紹介されていたなと思います。正しく動くプログラムと分かりやすいプログラムもまた別物です。分かりやすいプログラムを書くには、そういうプログラムを読んでみることが大切で、自力で書いたプログラムとよく比較することで、どうすれば分かりやすいプログラムが書けるのかヒントが見えてくると思います。
中国語の漢数字
さて、最後に全く別の話題について補足します。上記の2018年の私のブログに、中国語でも日本と同じ表記なのか気になるという記述がありました。今年から中国語を学び始め、表記は違うということが分かってきました。例えば日本語の百は中国語では一百です。したがって中国語の漢数字を表示するプログラムは別途作る必要があります。