Hoicos Blog

Author: あぼかど

[プログラミング思考力強化]Scratch3.0で一次関数を描いてみよう!

プログラミング

数学の一次関数をペン機能を使ったらどうやって書けるかな
d5989a4e35a652114025071c6f7ae0b2 1024x1024 - [プログラミング思考力強化]Scratch3.0で一次関数を描いてみよう!-%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0-プログラミング, 勉強, 小学生

数学で最初の方に習う関数の基本である一次関数をScratchで作ってみよう。原点を通る一番簡単な形のものから、切片を持つ応用まで作れるようになろう。

同じように応用すれば反比例のグラフや二次関数もかけますよ!これらは次回の記事で紹介します。

原点を通る一次関数

原点を通る一次関数を与える式は次のような式でした。

原点を通る一次関数
y=ax

この時、傾きがaで下のような直線を書くことができますね。

37c70054f2782b54a38ddd9b762b8595 - [プログラミング思考力強化]Scratch3.0で一次関数を描いてみよう!-%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0-プログラミング, 勉強, 小学生

では今回は傾きaを入力したら、その傾きなるように線を作ってくれるプログラムを作ってみます。

準備

ペン機能を使うので拡張ツールからペン機能を追加してください。そしてなんでもいいのでスプライトを一つ用意します。背景はグリッドのような線が引かれているものがわかりやすいのでそれを使用します。

31e26280c32928c40c5cc8a6e2f551c2 - [プログラミング思考力強化]Scratch3.0で一次関数を描いてみよう!-%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0-プログラミング, 勉強, 小学生
aef1eb307275d5e0e4b0cb31827adaf0 - [プログラミング思考力強化]Scratch3.0で一次関数を描いてみよう!-%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0-プログラミング, 勉強, 小学生

変数も用意します。なくても作ることはできますがわかりやすいので「x」「y」「傾き」の3種類を作ってください。

942d6f1c5ea09141da461b5c61799ff4 - [プログラミング思考力強化]Scratch3.0で一次関数を描いてみよう!-%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0-プログラミング, 勉強, 小学生

プログラム

f5976d97da2d38b213c2d3937ec3b537 - [プログラミング思考力強化]Scratch3.0で一次関数を描いてみよう!-%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0-プログラミング, 勉強, 小学生

実行結果はこうなります。

見ての通り、傾きがどんなに小さくてもマイナスでも大きくても対応できます。

プログラムとしてはx=-240からxを1つずつ大きくしてその都度 y=ax の式に入れてxとyの値を決定します。このようにしてスプライトを動かしペンで線を引きます。

原点を通らない一次関数

原点を通らない時の関数は次の式で表されます。

原点を通らない一次関数
y=ax+b

グラフは下のようになります。

9b993cbbecf1d627ae4396ecce7589e1 - [プログラミング思考力強化]Scratch3.0で一次関数を描いてみよう!-%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0-プログラミング, 勉強, 小学生

aは先ほどと同じで傾きを表し、bは原点からどれだけ上に行っているかを示す値です。aとbの値を入力したらグラフを書いてくれるプログラムを作りましょう。

プログラム

変数をもう一つ追加します。「切片」という名前の変数を追加してください。

25db86e2fb1944cacf1c9744c2e99a93 577x1024 - [プログラミング思考力強化]Scratch3.0で一次関数を描いてみよう!-%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0-プログラミング, 勉強, 小学生

先ほどの原点を通るときのプログラムと違うところを赤枠で囲いました。実行結果は次のようになります。

b2bbb680f8a413bcbf5ff785815cb8ab - [プログラミング思考力強化]Scratch3.0で一次関数を描いてみよう!-%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0-プログラミング, 勉強, 小学生
傾き=1、切片=100
0021f2c6125c09175708bfdf817b5843 - [プログラミング思考力強化]Scratch3.0で一次関数を描いてみよう!-%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0-プログラミング, 勉強, 小学生
傾き=-1、切片=-100
64fceeed571dff5080a0bde984b959a1 - [プログラミング思考力強化]Scratch3.0で一次関数を描いてみよう!-%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0-プログラミング, 勉強, 小学生
傾き=0.5、切片=100

最後に

一次関数という簡単な関数でもプログラムにしてみると少し複雑になります。しかし、プログラムで理解ができれば数学なんかへっちゃらです。scratchだと視覚的にもわかりやすいし何度失敗しても簡単に直すことができます。

ぜひ皆さんもやってみてね!

次回は二次関数やってみます〜

この記事がいいと思ったら↓のシェアボタンから

Leave a Comment

入力エリアすべてが必須項目です。メールアドレスが公開されることはありません。

内容をご確認の上、送信してください。