こちらのサイトは元々はプログラミングの方がメインでしたが、将棋の方も同じアプローチですのでセットで紹介しています。将棋の駒は40枚です。ほぼ学校のクラスのような感じです。いろいろなキャラがあります。飛車は委員長タイプ、玉は逃げキャラ、桂馬はトリックスターという感じです。それらを配置して役割を与えていきます。
プログラミングも同じようにとらえたいという話ですが、駒ではなくオートマトンと呼んでいます。なにはともあれHello world(こんにちは世界)からと言います。なぜならHelloの反対はGoodbye(さようなら)ですから。HelloとGoodbye、どっちがいいですか。
昔は文字コードが各国で違っていましたが、カメラがデジタルになったのと同じころに文字コードがネットではUTF8に統一されたので、どの国の言葉も自由に使えます。たとえば韓国語では안녕하세요 세계 (アンニョンハセヨ セゲ)らしいです。これを日本語のキーボードで入力するのはちょっと大変ですが、ネットで検索してコピペすれば簡単に出せます。世の中は進歩している。プログラミングも進歩しくちゃね。
というような話で、このあとは工事中です。近いうちに…
子どもが将来なりたい職業ではプログラマが上位に来ているそうです。男子はベスト3に女子でもベスト10に入っているそうです。しかし何をするのか誰も知らないのです。もしかしたら仕事として取り組むものと思ってはいませんか。それは違います。
パティシエになりたい女の子はお菓子作りを楽しんでいます。野球選手になりたい男の子は野球を楽しんでいます。プログラミングも同じです。自分が作ったものが動いたら楽しい。それで充分です。将来の仕事にしたいかどうかは、あとで考えればよいことです。
プログラミングの学習はHello worldからと言われていますが、なぜでしょうか。K&Rという有名な本にあったからという説もありますが、本質的にはプログラムの動作が対話型だったからではないでしょうか。対話だから挨拶から始めるのです。
対話型のプログラムとは、質問と回答の繰り返しです。BMIを計算するプログラムでは、こんな感じになります。
身長は 170
体重は 80
BMIは27.7です。
ところがWindows以降は事情が全く違います。質問はすでに画面に表示されています。身長と体重を入力すると直ちに計算結果が表示されます。従来のプログラムが対話型動作だったとするとWindows以降のプログラムはリアルタイム動作なのです。
するとどうなるのか。Windows以降のプログラムではHello worldは必要がないのです。あるいは挨拶を省略してすぐに用件に入るということもできます。
現実問題として、挨拶のしようがないということがあります。Windows以前のパソコンには標準入出力というものがありましたが、今ではありません。Hello worldという挨拶をどこに出すのか。出す場所がないのなら、出さなければ良いのです。
では、どうするのか。入力場所を用意しておいて、そこにデータが入れば即座に計算結果が表示されるようにするのです。
しかしWindowsのプログラミングは簡単ではありませんので、簡単に作成できるようにALANというツールを作成しました。ALAN.exeを実行して次のように操作するとBMIの計算をします。まず、身長のデータを入力するフィールドを作成します。
次に右肩の四角をドラッグしてフィールドを追加します。これは体重の入力に使います。
最後にBMIを計算するフィールドを追加します。
身長と体重を入力すると計算結果が表示されます。複数のデータを計算することもできます。
開発にVisual C++ 2022を使用しているためランタイムライブラリが必要です。パソコンにランタイムライブラリがないと次のようなダイアログが出ます。以下は2017のものなので、少し違うかもしれません。なお、オープンソースという予定ですが、まだ整理がすんでいませんので、近いうちにと思っています。
ランタイムライブラリはマイクロソフトから無償で提供されています。「Visual C++ 2017 ランタイム」などと検索してください。たとえば次のようなところで提供されています。
Visual C++ 2017 のランタイムには86と64がありますが、86の方をインストールしてください。