本記事では、Scratch(スクラッチ)3.0で使える「演算」カテゴリの「○の△(数学関数)」ブロックを実例付きで分かりやすく解説しております。
「○の△(数学関数)」ブロックは、数値の絶対値や平方根を求めたり、切り上げや切り下げを行うことができます。
小学校では習わない範囲の内容が含まれますが、知っておいて損する内容ではありませんし、他のプログラムと差をつけるためにも積極的に取り入れることをおすすめします。
以下でもっと具体的に解説します。
Scratch(スクラッチ)のプログラミングを学ぶ上で、個々のブロックの本質を理解することはとても大事なことだと考えます。
お役に立てれば幸いです。
Scratch(スクラッチ)の基本的なことや全般的な内容に関しましては以下の別記事をご覧ください。
「演算」の「○の△(数学関数)」ブロック 形状とオプション(Scratch3.0)
始めに、本記事で解説しますブロックの形状と指定可能なオプションについて説明します。
ブロックの形状
ブロックの形状は値ブロックです。
ブロックに格納されている値を教えてくれます。
指定可能なオプション
以下の値を指定できます。
指定する場所 |
---|
(←赤枠部分) |
入力方法 |
手動、値ブロック |
指定する内容 |
関数で計算する値 |
単位 |
なし |
入力する文字種 |
半角数字 |
備考 |
特記無し |
指定する場所 |
---|
(←赤枠部分) |
入力方法 |
プルダウンメニュー |
指定する内容 |
プルダウンメニュー内の関数など ・絶対値 ・切り上げ、切り下げ ・平方根 ・sin()、cos()、tan() ・asin()、acos()、atan() ・e^、ln ・10^、log |
単位 |
なし |
入力する文字種 |
メニューから選択、半角数字、半角全角OK、なし |
備考 |
特記無し |
「演算」の「○の△(数学関数)」ブロックの解説(Scratch3.0)
本記事で解説する内容や押さえておきたいポイントは以下のとおりです。
- プルダウンメニュー内から計算したい関数や端数処理などを選択して計算する
- 計算する上での注意事項
具体的な使い方を実例をまじえて解説します。
プルダウンメニュー内から計算したい関数や端数処理などを選択して計算する
「○の△(数学関数)」ブロックで計算が可能な関数などを個別に説明します。
絶対値
絶対値は、正数は正数のまま、負数は正数へと、プラスマイナスの符号をプラスにします。
数学の記号は「|(数字)|」です。
絶対値は中学校で習うようですね。
一例としまして、「-3」の絶対値「|-3|」を求めてみます。
切り下げ、切り上げ
指定した数の小数点以下を切り下げ(切り捨て)、もしくは切り上げして、整数にします。
例えば、「1.23」は切り下げると「1」、切り上げると「2」になります。
少数の場合は、ちょっと注意が必要です。
例えば、「-5.63」を切り下げますと「-6」、切り上げますと「-5」になります。
考え方によりましては、「-5.63」を切り下げは「-5」、切り上げは「-6」とする場合もあるようです。
Scratch(スクラッチ)の切り下げと切り上げは、正数の切り下げと切り上げと同様に、マイナス方向とプラス方向にそれぞれ切り下げと切り上げを行います。
ご注意ください。
平方根
本記事は数学の解説書ではありませんので、平方根の説明は行いません。
例えば、「9」の平方根は「±3」ですね。
Scratch(スクラッチ)では、「○の△(数学関数)」ブロックの計算結果はプラスだけとなってますので、「(9)の平方根」ブロックの値は「3」となります。
sin、cos、tan
sin、cos、tanのそれぞれの関数は、通常は高校生で習うようですね。
Scratch(スクラッチ)は、角度(°)の値を「○の(sin)」ブロックの○に指定してsin関数の値の計算ができます。
例えば、sin30°は「0.5」になります。
asin、acos、atan
asin、acos、atanはそれぞれ、arcsin、arccos、arctanのことです。
コンピュータ業界では、asin、acos、atanと表記しています。
「○の(asin)」ブロックの回答の単位は度(°)です。
例えば、asin(0.2)は「11.536959032815489」度になります
e^、ln
「○の(e^)」ブロックは、e(ネイピア数)を○乗した答えを教えてくれます。
また、「○の(ln)」ブロックは、e(ネイピア数)を何乗すれば〇になるのかを教えてくれます。
例えば、「8の(e^)」ブロックは「2980.9579870417283」に、「8の(ln)」ブロック(ln 8の意味です)は「2.0794415416798357」になります。
ちなみに、eとかlnなどは、高校生レベルの内容です。
10^、log
「○の(10^)」ブロックは、10を○乗した答えを教えてくれます。
また、「○の(log)」ブロックは、10を何乗すれば〇になるのかを教えてくれます。つまり、数学っぽく書きますと、「log10〇」の答えになります。
例えば、「3の(10^)」ブロックは「1000」に、「100の(log)」ブロックは「2」になります。
ちなみに、logは、高校生レベルの内容です。
計算する上での注意事項
「○の△(数学関数)」ブロックを利用する上で気をつけたほうが良いポイントに関しましては各々の解説のところでふれましたが、念のため箇条書きでまとめておきます。
- 負の数の切り下げと切り上げは、それぞれマイナス方向とプラス方向に行う
- 負の数の平方根はサポートされていない(負の数を入力した場合は「NaN(Not a Number)」になる)
- sin、cos、tan関数に入力する値は角度(°)
- log関数の底は10
まとめ
sin関数やtan関数、平方根などの計算は中学、高校で習いますので、小学生向けではないかもしれません。
でも、小学生のお子さんが作りたいプログラムが、どうしても数学関数を使用しなければ作れないものである可能性はありますよね。
その場合は、作りたいプログラムを完成させることを最優先にして、小学校では習わない仕組みを使ったブロックでも取り入れるようにしたほうが良いと思います。
「このブロックの意味は中学、高校になると分かるようになるから、今はとりあえず使ってみようね」などと説明して、作りたいプログラムを作り上げることをおすすめします。
もしかしたら、中学、高校で習うことを、Scratch(スクラッチ)のお陰で、小学生で理解してしまうかもしれませんよ。
本サイトでは他にもScratch(スクラッチ)に関する記事を公開しております。
よろしかったらご利用ください。
最後までお読みいただきありがとうございました!
(参考)
困ったときはいつもこのサイトを参照しています
コメント