電磁波の周波数と波長を求めると新たな問題が:アルケーを知りたい(460)

今回の話題は(A)物理学。

▼今回の挑戦は、電磁波の周波数と波長のどちらか一方の値が分かれば、もう片方の値が出る計算プログラムだ。
電磁波の速さは光と同じ30万km/s = 300,000,000 m だから、式は、周波数 * 波長 = 300,000,000 m とする。これを周波数もしくは波長、分かっているほうで割れば片方が出る。理屈は簡単。

▼FM放送の周波数の300MHzで計算すると次のように波長が1mと分かる
1. 周波数から波長を知りたい
2. 波長から周波数を知りたい
選択してください:1
周波数:300000000
波長:1.0 m

▼このコードの利用上の注意点は、ユーザーが周波数の単位変換を正しく行う必要がある点。上の例では、300MHzをHzに換算した値(300*1000*1000)を入力した。0を6個追加する作業を人が行うので、ここで間違う可能性がある。

▼黄色っぽい可視光の波長を600nmとして同じコードで周波数を求める。
1. 周波数から波長を知りたい
2. 波長から周波数を知りたい
選択してください:2
波長:0.00000006
周波数:5000000000000000.0 Hz

▼まず、ユーザーが600nmをメートルに換算するのが大変出た答えはゼロが多すぎ。これは実用にならない。しかもここで出た周波数は5000THzになっていて、一桁多い。どこか間違っている。
▼唯一の取柄は、Webや本に載っているデータと照らし合わせると嬉しくて楽しめる点。

▼コード
def print_menu():
    print('1. 周波数から波長を知りたい')
    print('2. 波長から周波数を知りたい')

def wavelength_calc():
    w = float(input('周波数:'))
    f = 300000000/w
    print('波長:{0}'.format(f), 'm')

def frequency_calc():
    f = float(input('波長:'))
    w = 300000000/f
    print('周波数:{0}'.format(w), 'Hz')

if __name__ == '__main__':
    print_menu()
    choice = input('選択してください:')
    if choice == '1':
        wavelength_calc()
    if choice == '2':
         frequency_calc()

▼今日の人物 史上初めて光速の定量的測定を行った人物
オーレ・クリステンセン・レーマーさん(Ole Christensen Roemer、1644 - 1710) デンマークの天文学者。教育▽コペンハーゲン大学 職業▽コペンハーゲン大学で天文学教授、コペンハーゲン警察の副所長 実績▽32歳のとき世界初の光速の定量的測定を行う212,000 km/s。58歳のとき温度計を発明、これを見たファーレンハイトさんが改善し華氏温度スケールとして公開。コペンハーゲンで初の街灯を発明。人脈▽ラスムス・バルトリンさん(大学時代の師匠、娘が妻)、ペーダー・ニールセン・ホレボーさん(弟子の天文学者、レーマーさんの観測機器について忠実に記録)、ジョヴァンニ・カッシーニ(フランスの天文学者、木星の衛星観測の助手)、ジャン・ピカールさん(子午線弧長を0.3%の精度で測定したフランスの天文学者。木星観測チームに加わる)























〔参考〕
有山智雄et al.『中学総合的研究 理科〔四訂版〕』旺文社。
平尾淳一『総合的研究 物理』旺文社。
https://en.wikipedia.org/wiki/Ole_R%C3%B8mer

コメント

このブログの人気の投稿

大伴旅人の万葉集459番歌~アルケーを知りたい(1092)

大伴旅人の万葉集876-879番歌~アルケーを知りたい(1117)

大伴旅人の万葉集577番歌~アルケーを知りたい(1097)