2018年3月4日日曜日

Scratchでプログラミング その19 学校教材っぽいやつ 時速を分速にする(公式を利用する・文字を結合する)

Scratchの使い方解説です、今回の難易度はEasy

記事をまとめたページはこちら。

将来的に学校でプログラミングを使った授業をしていくということで、
どんなことに使うのかなと。

今回は単純な速度の変換プログラムです。
時速を入力すると、分速や秒速に変換してみます。


決まった速度の計算をするだけではプログラムとしてイマイチなので、
ネコをクリックすると、ユーザが指定した時速を分速に変換するようにしようと思います。

0.目次

  1. ユーザから設定可能な変数の準備
  2. 計算結果の表示
  3. 答えっぽく言わせる

1.ユーザから設定可能な変数の準備

ユーザが入力する方法はいくつかあると思いますが、今回は変数をそのまま使えるようにします。
データの「変数を作るボタンから変数を作成します。
今回は変数名を「時速(km)」としました。

変数を作成すると、画面上に変数が表示されると思います。


この変数を何度かクリックすると、下にバーが表示されるようになります。
このバーを動かすと、変数の値が変更できます。
今回は、このバーを使って速度を決めてもらうことにします。

このサンプルでは時速36kmを指定しています。

2.計算結果の表示

時速と分速の変換は、時速÷60ですね。
今回はそれをネコに話させるだけです。

今回はイベントの「旗がクリックされたとき」ではなく「このスプライトがクリックされたとき」を使用しました。
これは、いちいち旗をクリックしなくても、ユーザが変数を何回も変更して再計算できるようにするためです。
結果の表示には見た目の「Hello!と言う」を使用しています。
で、Hello!の部分を計算結果に置き換えました。

計算結果は演算の「□/□」を使います。
「/」は「÷」の意味です。
これってプログラムでは常識ですが、一般的にどうなんだろう??

3.答えっぽく言わせる

ここまでで、計算結果をネコに話すようにできましたが無愛想です。
まずは、ユーザが指定した時速を話してもらいます。

単純につなげるとこんな感じ。

もちろん、こんな無愛想な感じになります。

無愛想な36じゃなくて「時速36kmは・・・」とかって表示したいですよね。
こんな風に文字を繋げて話させたいときは演算の「HelloとWorld」を使用します。

Helloの側に”時速”と文字を入れ、Worldの側に時速を入れます。

さらに組み合わせた文字の後ろ側に”kmは"をつなげます。

全部つなげると、こんな感じになりました。

これで、ネコの愛想がよくなりました。

答え側も同様に修正します。

 
 

今回作成したサンプルは以下で公開しています。
https://scratch.mit.edu/projects/207564242/
サンプルでは他にもkmをmに変換したり、秒速からの変換もできるようにしました。

4.勉強になるのかな?

今回作成したプログラムは動きも何もない簡単なものです。
学習教材ぽさをイメージして、一番簡単に作れそうなものということで公式を計算するプログラムを作りました。
やってることはExcelでも出来ることですね。

本当はもっと「視覚的に何かを検証できるもの」が面白いと思いますが、
作成難度が高いので、簡単なものとして作ってみました。

今回意識したのは、ただ単に公式を使うことでどんな数値を入れても答えが導き出せることを理解することができるかなって感じです。