ここではスクラッチで計算を行う方法について見ていきます。
台形の面積を計算するプログラム
例題として台形の面積を求めるプログラムを作成します。まず、スクリプトタブの中のデータを表示して、「上底」「下底」「高さ」「面積」の4つの変数を作成します。
![](https://sagara-works.jp/wp-content/uploads/2018/05/scratch_30-1024x617.jpg)
![](https://sagara-works.jp/wp-content/uploads/2018/05/scratch_31-1024x617.jpg)
ここで作成した変数にユーザーが数値を入力できる仕組みをつくります。
まず、プログラムの開始地点をつくります。
![](https://sagara-works.jp/wp-content/uploads/2018/05/scratch_33-1024x617.jpg)
続いてユーザーから数値を入力するブロックをスクリプトタブから取り出します。ユーザーから数値を入力するには「調べる」の中にある「○○と聞いて待つ」と「答え」のブロックをセットで使います。
![](https://sagara-works.jp/wp-content/uploads/2018/05/scratch_35-1024x618.jpg)
「○○と聞いて待つ」のブロックはスプライトに○○の部分に入っているセリフをしゃべらせて、ユーザーが文字を入力するための入力欄を表示します。初期状態では○○の部分に「What’s your name?」というセリフが入っていますが、このセリフを「台形の上底を入力してください。」に変更して「(緑の旗)がクリックされたとき」の下へつなげます。
![](https://sagara-works.jp/wp-content/uploads/2018/05/scratch_37-1024x617.jpg)
ユーザーが入力したデータは「答え」のブロックの中に入ってきます。この中にはユーザーが入力してくれた台形の上底の数値が入っているはずなので、この数値を「上底」変数に代入します。
代入のためにはスクリプトタブのデータの中に入っている「○○を□□にする」のブロックを使います。○○部分の右にある下向き三角を押して「上底」を選択してください。
![](https://sagara-works.jp/wp-content/uploads/2018/05/scratch_39-1024x617.jpg)
続いて「上底を□□にする」のブロックの□□の部分に「答え」ブロックを入力します。
![](https://sagara-works.jp/wp-content/uploads/2018/05/scratch_40_1-1024x618.jpg)
これで「上底」の変数に「答え」の内容が代入されるようになりました。
![](https://sagara-works.jp/wp-content/uploads/2018/05/scratch_41-1024x617.jpg)
同じ要領で「○○と聞いて待つ」を使って「台形の下底を入力してください。」と表示します。
![](https://sagara-works.jp/wp-content/uploads/2018/05/scratch_42-1024x617.jpg)
ユーザーが入力した下底の数値を「下底」の変数に代入します。
![](https://sagara-works.jp/wp-content/uploads/2018/05/scratch_43-1024x617.jpg)
同じ要領で「○○と聞いて待つ」を使って「台形の高さを入力してください。」と表示します。
![](https://sagara-works.jp/wp-content/uploads/2018/05/scratch_44-1024x617.jpg)
ユーザーが入力した高さの数値を「高さ」の変数に代入します。
![](https://sagara-works.jp/wp-content/uploads/2018/05/scratch_45-1024x617.jpg)
![](https://sagara-works.jp/wp-content/uploads/2018/05/scratch_46-1024x617.jpg)
ここまでの処理でユーザーから受け付けた入力数値を「上底」「下底」「高さ」の変数に入れることができました。ここから台形の面積を計算する処理を作成していきます。
台形の面積を求める式は「面積=(上底+下底)×高さ÷2」です。この式の中からまず(上底+下底)の部分の計算を行います。
足し算の処理はスクリプトタブの「演算」の中にある「〇+〇」のブロックを使って行います。このブロックをプログラム領域に取り出します。
![](https://sagara-works.jp/wp-content/uploads/2018/05/scratch_47_1-1024x617.jpg)
「〇+〇」のブロックの〇の部分に「上底」と「下底」の変数をはめ込みます。
![](https://sagara-works.jp/wp-content/uploads/2018/05/scratch_48_1-1024x617.jpg)
続いて「(上底+下底)×高さ」の計算を行います。掛け算はスクリプトタブの「演算」の中にある「〇*〇」のブロックを使って行います。このブロックをプログラム領域に取り出します。
![](https://sagara-works.jp/wp-content/uploads/2018/05/scratch_49_1-1024x617.jpg)
「〇*〇」のブロックの〇の部分に先ほど作成した「(上底)+(下底)」のブロックをはめ込みます。
![](https://sagara-works.jp/wp-content/uploads/2018/05/scratch_50-1024x617.jpg)
スポンサーリンク
上で作成した「(上底)+(下底)*〇」のブロックの〇の部分に「高さ」の変数をはめ込みます。
![](https://sagara-works.jp/wp-content/uploads/2018/05/scratch_51_1-1024x617.jpg)
続いて公式「(上底+下底)×高さ÷2」の「÷2」の部分を作成します。割り算はスクリプトタブの「演算」の中にある「〇/〇」のブロックを使って行います。このブロックをプログラム領域に取り出します。
![](https://sagara-works.jp/wp-content/uploads/2018/05/scratch_52_1-1024x617.jpg)
「〇/〇」のブロックの〇の部分に先ほど作成した「(上底+下底)×高さ」のブロックをはめ込みます。(横方向に長さのあるブロックをはめ込むときは、ブロックの先頭部分を〇の箇所にもっていくとうまくはまります。)
![](https://sagara-works.jp/wp-content/uploads/2018/05/scratch_53_1-1024x618.jpg)
![](https://sagara-works.jp/wp-content/uploads/2018/05/scratch_54-1024x617.jpg)
上で作成した「(上底+下底)×高さ÷〇」のブロックの〇の部分に「2」の数値を入力します。数値は半角文字で入力します。
![](https://sagara-works.jp/wp-content/uploads/2018/05/scratch_55-1024x617.jpg)
ここまでで台形面積の計算式ができました。今度はこの計算式を「面積」の変数に代入します。変数への代入を行うブロックはスクリプトタブの「データ」の中にあります。
![](https://sagara-works.jp/wp-content/uploads/2018/05/scratch_56_1-1024x617.jpg)
代入する変数名を「面積」に設定します。
![](https://sagara-works.jp/wp-content/uploads/2018/05/scratch_57-1024x617.jpg)
上で作成した「(面積)を□にする」のブロックの□の部分に「(上底+下底)×高さ÷2」の計算式のブロックをはめ込みます。
![](https://sagara-works.jp/wp-content/uploads/2018/05/scratch_58-1024x617.jpg)
「面積」への代入ブロックが完成したらプログラムの最後に接続します。
![](https://sagara-works.jp/wp-content/uploads/2018/05/scratch_59-1024x617.jpg)
最後に「面積」に代入された台形面積の計算結果をスプライトにしゃべらせます。スプライトをしゃべらすにはスクリプトタブの「見た目」の中にある「□□と言う」というブロックを使います。
![](https://sagara-works.jp/wp-content/uploads/2018/05/scratch_60_1-1024x617.jpg)
「□□と言う」ブロックの□□部分には初期状態では「Hello!」という文字列が入力されています。このブロックの□□の部分に「面積」の変数をはめ込みます。
![](https://sagara-works.jp/wp-content/uploads/2018/05/scratch_61_1-1024x617.jpg)
これでスプライト(今回の場合はネコ)が「面積」の数値をしゃべるブロックができました。このブロックをプログラムの最後に接続します。
![](https://sagara-works.jp/wp-content/uploads/2018/05/scratch_62-1024x617.jpg)
これで台形の面積を計算するプログラムが完成しました。このプログラムではユーザーが「上底」「下底」「高さ」を入力するとネコが台形の面積を答えてくれます。
実行結果を確認する
実際にプログラムを実行すると以下のようになります。緑の旗のアイコンをクリックしてプログラムがスタートすると、ネコが「台形の上底を入力してください。」としゃべります。
![](https://sagara-works.jp/wp-content/uploads/2018/05/scratch_63-1024x617.jpg)
ネコの下には数値の入力欄が表示されるのでそこに台形の上底を入力します。入力する数値は半角数字で入力してください。入力が完了したら入力欄右端のチェックマークをクリックします。
![](https://sagara-works.jp/wp-content/uploads/2018/05/scratch_64_1-1024x617.jpg)
上底の数値を入力すると今度は下底の長さを聞かれるので同じ要領で入力します。
![](https://sagara-works.jp/wp-content/uploads/2018/05/scratch_66-1024x617.jpg)
最後に高さを聞かれますので同じように入力します。
![](https://sagara-works.jp/wp-content/uploads/2018/05/scratch_68-1024x617.jpg)
「上底」「下底」「高さ」を入力し終えると、ネコが面積を計算して答えてくれます。
![](https://sagara-works.jp/wp-content/uploads/2018/05/scratch_69-1024x617.jpg)