Scratchプログラミング言語

数値計算

新しい記事はこちらです.

(Scratch, ビジュアルプログラミング言語,子ども向き,MIT, フリーウエア,日本語対応)

MITが開発したプログラミング言語 Scratchを用いれば,従来の言語における命令文.制御文,条件文等を覚えることなく視覚的にプログラム作成ができるこを前稿で紹介した.今回は,四則演算(四則演算,区分求積法による面積計算等)を行ってみた.プログラミング経験者であれば,ターミナルのUNIX コマンドでやった方が簡単(Macの場合)であるが,実行環境の異なる情況下での余分な知識が必要である.Scratchの場合,数値計算もビジュアル的に実行できるので,環境一貫性があり,教育効果が期待できる.

演算

単純な演算も可能であるが,データで変数(演算の過程で数値を代入する「容器」)を定義する必要である.合計はTotal等と分かりやすい名前を付ける.演算に用いる記号,数式,判断条件,手続き等は演算を開き選択する.◯/◯等の◯に変数を入れる際は,変数リストから引っ張りこむ(キーボードから書き込むことはできない).

平方根のほかにもいろいろな関数が準備されている.平方根▼(◯)

のメニューを開き,選択する.

1からnまでの和

1から10までの数値を加算する場合は,以下のようにプログラミングする.比較のため,十進BASICのプログラムを示した.繰り返しは「制御」の左右逆コの字型の◯回繰り返すを使用する.内側にデータの計算処理を配置する.Nの初期値は1.Nを1ずつ変えながら,その値を10回合計する.

total=0

n=1

for i=1 to 10

  total=total+n

  n=n+1

next i

print total

end

total=0

for n=1 to 10

  total=total+n

next n

print total

end

面積の計算

y=x*xの0から1までの曲線とX軸で囲まれた面積を区分求積法で求めるプログラムである.「分割数 dを100にする」の100を1000にすると.0.3333に近くなる.結果は数値として表示される

 区分求積法の説明.実行結果ではない.

九九算(二重ループ)について

二重ループを使って九九を作ってみた.単に結果を表示させるだけである.「変数abを表示する」は要らないようだ.

a=1の時,bを1から9まで, a=2の時, b=1~9・・・・a=9 b=1~9 の範囲(a=1~9,,b=1~9)で計算するには,二重の繰り返し構造にする.

条件は◇で指定する.a および b が8を越えるまで実行する.

1から9回繰り返すと指定してもよい.

平均値(対話形式)

平均値を求めるデータ数,各データをネコとの対話形式でキーボードから入力し,その平均値をネコの吹き出しに表示させる.従来のプログラミング言語で用いられる合計を求める式 s=s+a は,Scratchでは定義(s ← s+a)通りに sを (a+s)にするを用いる.

以前,大学生にFORTRANやBASIC言語を教えた際に,「s = s + a」は「数学的に成り立たない」と言った学生がいた.

実際は,LET s = s + a であり,LETは省略可能,すなわち s ← s + a であることの説明を聞いていなかったらしい.Scratchの書き方は,そのような誤解を招くこともなく初心者向きである.ネコの吹き出しを使って対話型にするとプログラミングが楽しくなるはずである.

従来のプログラミング演習では.最初に四則演算から入ったが,Scratchではスプライトの動きを視覚的に捉えながらプログラミングの概念を理解した後であるので,数値計算の仕組みは理解しやすいかもしれない.

次回は,配列を使った最大値を求めるプログラムを紹介したい.

参考資料

・Scratchの説明(Wikipedia)

・Mac mini 2012 (core i5 2.5GHz), OS X EI Capitan10.11.5, Firefox上で実行