コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

某SNSでプログラミングでなくこれはパズルだとか指摘されているプログラムの中身を解読してみる

Scratchをしましょう

小学校プログラミング教育の手引きの例としてこれはパズルですみたいな例に反論があったので、「どう動いているか中身を追えばそれはプログラミングをやっているに他ならないのでは?」という意味わからない反論を思いついたので本日はScratchの中身を解読するとかやっていきます。

件のやつ
scratch.mit.edu

都道府県のやつ

検索条件を3つ選んでその条件に合う都道府県を見てみようみたいなやつ。

f:id:andron:20181124054534p:plain
僕の思うこのプログラムのクリティカルな部分

f:id:andron:20181124051331p:plainf:id:andron:20181124051339p:plain
「スタート」の部分がブロック付けたりして遊ぶ部分です。そこから集計処理に飛びます。集計処理の上のループが結果表示用のループで下のループが検索条件表示用のループっぽいです。上のループ複雑ですけど、仮リストにとりあえず条件一致の都道府県をぶちこんで、そこで「条件数」と同じ値になった都道府県を「結果_都道府県リスト」に移して表示しているようです。

これは「新しい条件を追加してみましょう」とかならプログラミング課題としても成立するんじゃないかなって個人的には思うんですけどどうですかね?



■ 炊飯器のやつ

正しい手順のブロックを選んで炊飯器の処理を確認してみよう的なやつ。

f:id:andron:20181124054522p:plain
僕の思うこのプログラムのクリティカルな部分。

f:id:andron:20181124051424p:plainf:id:andron:20181124051423p:plain
「開始」の部分がブロック付けたりして遊ぶ部分です。いきなり完成つけて終わらせてますが、元のやつはいくつか関数引き下げないとうまくいかないようになってます。処理的には、まずブロックの数で「全部使っているかチェック」で処理フラグを立てて、そのあとに処理の内容が正しいかを判定しているって感じっぽいです。ちなみに全条件動くかどうかは検証していません。教材になってるぐらいだし動くんじゃないでしょうかね(適当)。

あ、でも上のやつテストケースつくるのとかにはうってつけの題材かもしれない。穴埋めの場所を少し変更すればプログラミングっぽいことできるような気がする……。



感想

多分教育現場でこういう使われ方は想定していないのだろうと思うけど、とりあえずどう動いているかに興味もてばプログラミングっぽいことはできると思った。まあ、小学校プログラミング教育の手引(第二版)見る限りそういう使い方をするってのはないのだろうけどね……。あと、まさか自分がまたScratchについての記事書くことになるとは思わなかった。ちなみに僕は教育関係者でもないただ首を突っ込みたい野次馬なんでこの記事の思想に突っ込みを入れるのは野暮ってもんだよ。

参考リンク:小学校プログラミング教育の手引(第二版)
http://www.mext.go.jp/component/a_menu/education/micro_detail/__icsFiles/afieldfile/2018/11/06/1403162_02_1.pdf