読んでみた「妖怪プログラミング アルゴとリズムの冒険 しっかり考える小中学生の本格プログラミング 」

f:id:chirasinouramemo:20181003015737j:plain

https://www.amazon.co.jp/dp/4865940073

2016/7/26 が初版の「プログラミング」を学習する本。

p2
プログラムを書くために共通する「考え方」と「プログラムの書き方」を、妖怪たちの能力や役割に例えて説明します。

プログラムは、ブラウザ上で動くアプリをダウンロードして、コードをキーボードからタイピングして、実行する。昨今の小学校でのプログラミング教育は、こどもにはタイピングは難しいので、コードを扱わないのが主流だが、この本では、コードを書きながらアルゴリズムを理解するという方法をとる。

プログラムの命令を擬人化して物語りにしている。なぜに妖怪?妖怪のせいなのね。2016年は「妖怪ウォッチ」が流行していた時期。イラストにも影響がw 命令を擬人化するのだから、妖怪・妖精・魔法は都合がよいわけだ。マンガにすると吹き出しが文字だらけになる。文章を読む力は必須だ。

章ごとに別れていて必要な命令が動作する環境に別れている。
←→↑↓キーで実行されるイベントドリブンのコードを書く章もある。

文字出力 println(); 絵出力 img("", 0, 0); が入力できるボタンが用意されている。

そのほかの命令などはキーボードからタイピングする。QWERTY配列のタイピングのスキルが必要。文字列には全角文字も使える。コードを入力すると色分けして表示される。

f:id:chirasinouramemo:20181003015547p:plain


言語はJavaScriptを簡略化したもので、アプリがエディタ・インタプリタとして動作する。コードの保存機能はないが、文字列なのでコピーしてメモ帳などのエディタに貼り付けて保存することは可能。

妖怪がバグで正常な動作をしなくなったのを、原因を考えて、治すというストーリー。命令の文法を博士が解説する。このサンプルコードを入力して動作させることができる。
博士からの宿題でお題にそったコードを書く。巻末に回答が載っている。
変数・条件分岐・繰り返しの章があり、最終決戦でプログラムを作る。

 

 

プログラムを実行すると出力は別ウィンドウが出て表示される。

println(); で数値・変数 を表示
img("", 0, 0); で algo algo_jump beam bug goal rithm の6つの画像が表示できる。
Print  Line の略でprintlnなんだろうが、lnいる?


変数妖怪
int 数字
char 文字
boolearn フラグ

変数名は自由につけられる。

条件分岐にフラグが必要なのだが、数字の0 1 で良かったんじゃなかろうか。

変数名のタイプミスでエラーを出さないためには変数の宣言は有効だが変数の型宣言なくてもよくないか?

条件分岐妖怪 
if (条件式) { } else { }

 

繰り返し妖怪

while(条件式){ }
whileループの中で、break continue が使える。

for(変数=初期値;条件式;変数++){ }
JavaScriptC言語のforの文法と同じ。

変数++ ++変数 変数-- --変数 のインクリメント・デクリメントがある。

繰り返しの説明が分かりにくい。
Loop{

if (条件) {break;}

}
でよかったんじゃなかろうか。