https://padlet.com/gyokugan/q-e7mt3s0ghkk6egj5
今回は使いません。
知Q探究1 邪馬台国ミステリ!消えた女王の都を探せ
知Q探究2 ガリレオもびっくり!太陽系を体感しよう!
知Q探究3 発見!わが町で採れた野菜で料理のレシピを作ろう!
知Q探究4 未来のマイタウン(琴平町)を考えよう!
Trinket(トリンケット) アカウント不要 https://trinket.io/
OnlineGDB(ジーディービー) アカウント不要 https://www.onlinegdb.com/
https://lecture.m-pime.jp/basic01/
https://www.ncsm.city.nagoya.jp/astro/40m/model.html
https://earth.google.com/earth/d/1FOSBbbgSK2zJq3E7u2w4UzPt1sUwGycp?usp=sharing
import random
naka = 0 # 円の中に入った点の数
zenbu = 10000 # 点の個数(好きな数字に書き換えてもいいよ。ただし、20万個までにして下さい。)
for i in range(1, zenbu+1):
x = random.uniform(0, 20) # 0≦ x ≦20の範囲の点の座標をランダムに作る。
y = random.uniform(0, 20) # 0≦ y ≦20の範囲の点の座標をランダムに作る。
#print(f"{i}番目の点は{x, y}")
if (x-10)**2 + (y-10)**2 < 100: # 円の中に入る判定。この式は高校数学で学ぶよ。
naka = naka + 1
print("中に入った点は ", naka, "個")
print("円周率は ", 4 * naka / zenbu, "です。")
#本当の円周率は π = 3.1415926535…
# 円周率を求めることをkaisuu回繰り返して、その平均値を求める
pi_list = []
kaisuu = 10
import random
for k in range(1, kaisuu+1):
naka = 0 # 円の中に入った点の数
zenbu = 10000 # 点の個数(好きな数字に書き換えよう。ただし、20万個までにして下さい。)
for i in range(1, zenbu+1):
x = random.uniform(0, 20) # 0≦ x ≦20の範囲の点の座標をランダムに作る。
y = random.uniform(0, 20) # 0≦ y ≦20の範囲の点の座標をランダムに作る。
#print(f"{i}番目の点は{x, y}")
if (x-10)**2 + (y-10)**2 < 100: # 円の中に入る判定。この式は高校数学で学ぶよ。
naka = naka + 1
print("中に入った点は ", naka, "個")
print("円周率は ", 4 * naka / zenbu, "です。")
print()
pi_list.append(4 * naka / zenbu)
print(kaisuu, "回求めた円周率は", pi_list)
print("それらの平均値は ", sum(pi_list)/kaisuu)
# ビュフォンの針 GUIなし版
import random
import math
# 投げる針の数を入力
n = 10000
d = 50 # 平行線の幅
l = d / 2 # 針の長さ (2l = d の条件)
def buffon_simulation(n, l, d):
m = 0 # 線と交わった針の数
for _ in range(n):
y = random.uniform(0, d)
theta = random.uniform(0, math.pi)
if y <= l * math.sin(theta):
m += 1 # 線にかかった
return m
m = buffon_simulation(n, l, d)
print('投げる針の数 (n): ' + str(n))
print('線と交わった針の数 (m): ' + str(m))
if m > 0:
pi_approx = n / m
print('計算した円周率の近似値 (n/m): ' + str(pi_approx))
else:
print('交わった針がないため、円周率を計算できません。')