発展的なプログラム
授業の後に 15 分。要点を読み、5 問で確かめ、一つ書く。最後に自分の探究へつなぐ
15分 | ひとりで、端末で授業で確かめた答えと比べる
- 乱数は、指定した範囲の数が不規則に出る仕組み。
import randomで機能を使えるようにし、random.randint(1,6)で 1 以上 6 以下の整数を 1 つ返す。実行のたびに違う結果になるので、ゲームやシミュレーションに使える - リストと組み合わせると、選択肢からランダムに 1 つ選べる。
te=['guu','tyoki','paa']とrandom.randint(0,2)で じゃんけん。乱数の範囲とリストの添え字を合わせる。選択肢を増やして範囲を直し忘れると、4 つ目が絶対に出ない「動くけれど間違い」になる - 関数は機能ごとに分けた部品。
def circle(r):で定義し、return r*r*3.14で戻り値を返す。circle(10)と呼び出したところに 314.0 が返る。r が引数。書いただけでは動かず、呼び出したときに動く - 関数のよさは、同じ処理を何度も書かない、名前で何をするか分かる、直す場所が 1 か所で済む。
len(lst)-1を使えば、選択肢を増やしても直す場所がない - 外部のプログラムの機能を呼び出す仕組みが API。天気や地図の情報を自分のプログラムから使える。「関数を呼ぶ」の延長
底辺 a と高さ b を受け取って、三角形の面積を返す関数 tri を定義し、底辺 6・高さ 4 で呼び出して表示するプログラムを 3 行で書く。表示される値も書く。
答えの例を見る
例: def tri(a,b): / return a*b/2 / print(tri(6,4))。表示は 12.0。関数名が tri、引数が a と b、戻り値が a*b/2 の値。
探究で「何度も使う計算」(割合、平均、単位の換算)は、関数にして名前を付けておくと、レポートのどこでも同じ計算が保証され、式を直すときも 1 か所で済む。乱数は「やってみたらどうなるか」をコンピュータの中で何度も試す道具。実際には 1 回しかできないこと、危ないことを、乱数で何百回も試せる。
- 自分の探究で、名前を付けておきたい計算は何か。引数と戻り値は何になるか
- 「実際にはやってみられないが、乱数で試せそうなこと」はあるか
ここに書いたメモは 探究ノート に集まる。総合的な探究の時間のテーマ決めや、調べ方を考えるときに開く。まだテーマが決まっていなくても書ける。いま気になっていることを一つ思い浮かべて、そこに当てはめてみる
次回は「モデル化とシミュレーション」。乱数は「やってみたらどうなるか」を何度も試す道具だった。では、何を試すのか。試す対象そのものをコンピュータの中に作る。それがモデル。地球儀は地球ではない。それでも役に立つのはなぜか。
このページに書いたものは、いま使っているこの端末の、このブラウザの中にだけ残ります。サーバには送られません。次に同じ端末で開けば、書いたものはそのまま出ます。
別の端末で開くと見えません。学校の端末と家の端末は別ものとして扱われます。ブラウザの履歴やサイトデータを消したときも、一緒に消えます。残しておきたいものは、下の「書いたものをコピー」で自分のノートや提出先に貼ってください。