[itbase2017]Fortran 実習 変数・配列・演算 練習問題
練習問題 1
下は, x=0.1 のときに, f(x) = x^2 (x^n は x の n 乗を表すとする) を計算する プログラムである. このプログラムを変更し, f(x) = x^5 + 6×x^4 + 2×x^3 - x^2 + 4 の値を計算するプログラム を作り, f(0.23) の値を求めなさい
program calceq implicit none real:: x real:: fx x = 0.1 fx = x**2 print *, x, fx end program calceq
答え
- 答えは, 3.988... .
練習問題 2
下は, 半径 2 m の円の円周を計算するプログラムである. これを変更して, 底面の円の半径 5.5 m, 高さ 11 cm の円筒の体積を計算するプログラムを作り, 体積を計算しなさい.
program calccircle implicit none real, parameter :: pi = 3.141592 ! 円周率 real :: radius = 2.0 ! 半径 real :: circle ! 円周 circle = 2.0 * pi * radius print *, circle end program calccircle
ヒントと答え
- 順番に少しずつ作ってみましょう.
- 高さのための変数を用意する (値を与える)
- 体積のための変数を用意する
- 単位に注意すること
- 体積を計算する
- 答えは, 10.45... m^3.
練習問題 3
10811995 秒が何日, 何時間, 何分, 何秒に対応するかを計算するプログラムを作り, 答えを求めなさい.
ヒントと答え
- 順番に少しずつ作ってみましょう.
- まず, 何日に対応するかを計算する
- 次に, 残りから何時間に対応するかを計算する
- 次に, 残りから...
- 答えは, 125 日 3 時間 19 分 55 秒.
練習問題 4
神戸 (東経 135.2 度, 北緯 34.7 度) と 英国オックスフォード (西経 1.3 度, 北緯 51.8 度) の間の距離を 求めるプログラムを作り, その距離を計算しなさい. ただし, 地球の半径は 6371 km とし, 計算には下の関係を用いてよい.
ヒントと答え
- 順番に少しずつ作ってみましょう.
- 神戸の経度, 緯度のための変数を用意する.
- オックスフォードの経度, 緯度のための変数を用意する.
- 地球の半径のための変数を用意する
- 二地点間の距離を計算する
- 単位に注意すること
- 答えは, 約 9506 km.
練習問題 5
温度 6000 K, 波長 0.5 μm のプランク関数の値を計算するプログラムを 作り, その値を計算しなさい. なお, プランク関数は下に示す関数である.
ここで, λは波長 (m), T は温度 (K), h = 6.626070040e-34 J s はプランク定数, c = 299792458 m/s は光速度, k = 1.38064852e-23 J/K はボルツマン定数である.
ヒントと答え
- 順番に少しずつ作ってみましょう.
- プランク定数や光速度などの変数(定数)を用意する
- 波長と温度の変数を用意する
- プランク関数の値を計算する
- 単位に注意すること
- 答えは 105929.4... (W/(m**2 sr m)).
- sr は立体角の単位で, ステラジアンと呼ぶ
Keyword(s):
References:[[itbase2017]惑星学実験実習の基礎II] [[itbase2017]Fortran 実習 サブルーチンと関数 練習問題] [[itbase2018]Fortran 実習 サブルーチンと関数 練習問題]