TT-F-Learning-Fortran 計算物理学 試験問題
2001年
計算物理学試験問題 2(1/Aug/01竹下)
この問題はメールで送る。以下に問題を11問送る、これに回答を各の下に書き足して返信せよ。
================================================================
(1) double x=12.428; と long y=39; float z; のとき,つぎの計算を行ないその結果をここに記せ。
(a) z=log(x*y)/(x*x*x) (b)z= exp(-x/10.)*sin(x+y)
(c)z=(y-x)*cos(x-y)
(2) つぎの無限和をとるプログラムを作り、ここに張り付け、その結果も書け。
1/(1*sqrt(1))+1/(2*sqrt(2))+1/(3*sqrt(3))+...
(3)ls -lrt で得られる情報で ls-l とことなる点について述べよ。
(4)つぎの関数を定積分せよ、ただしx=2.7から4.3まで、で小数点しも3桁以上の精度を確保すること。
このためにしたことも同時に書け。
(sqrt(x+2.1))*exp(-1.3*x)+1.67/x-2.46/(x*x)
(5)空気抵抗が速度に比例するとき、上向きに 21.9m/sで投げ上げるとき、地上に戻ってくる速さを計算せよ。
重力加速度を 9.8m/s/sとせよ。空気抵抗係数は各自で決めよ。
(6)つぎの18この数値の平均と標準偏差を計算せよ。
331.24248,493.35677,936.3795,1362.34235,830.1903,867.24,1044.392,562.732,488.857,428.77,336.78,555.302,684.361,455.987,345.0981,120.435,121.1980,539.674
(7)xを0.0から1.0までの一様乱数として、(x**1.5)tan(3.14159*x/2)の頻度分布のひすとグラムをつくり、ここへ描け。
ここで(x**1.5)はxの1.5乗を表す。
(8)一次元ランダムウオーくで乱数が0.5より大きいとき右へ動くアルゴリズムで、576歩めの座標を求めよ。
ただし乱数の初期値を23とし、繰り返しを32768*32767*2とせよ。
(9)つぎの数値を大きい順に並べ、17番めをここに記せ。
34.3301,66.7384,59.8357,28.6694,112.412,36.7264,58.424,117.314,43.445,59.412,73.456,49.535,23.4462,88.3005,59.3434,58.49547,92.9461,47.3851,34.33.3566,64.9869,78.3794,92.3055,57.34.1624,67.4878,77.84756,36.64875,86.0989,46.387167,73.980,34,0847,59.0367,67.0734
(10)y=2.78sqrt(1.3x)*exp(-0.438x)のグラフをpostscript形式にして添付せよ。
(11)つぎのプログラムの誤りを指摘し正せ。
#include <math.h>
main()
{
int n,nmax;
double x,y,pai2,dx;
pai2=3.14159*2.0;
x=0.0;
y=0.0
nmax=20;
printf(" input number of division : ");
scanf("%f",nmax);
dx=pai2/(double (nmax)) ;
printf(" n
:
x
y \n");
for(n=0;n<nmax;n++);
{
{ x += dx ; /* this
means x = x + dx */
y += fun(x)*dx; /* this
means y=y+fun(x)*dx */
printf(" %3d :
%d %d \n",n+1,x,y);
}}
}
fun(x)
int x ;
{
return( x*x*x )
}}
=======================================以上
計算物理学試験問題 (31/july/01竹下)
この問題はメールで送る。以下に問題を11問送る、これに回答を各の下に書き足して返信せよ。
(1) int x=17; と float y=23.1373; float z; のときつぎの計算を行ないその結果をここに記せ。
(a) z=x*y/(x**2) (b)z= exp(-y)*tan(x*y) (c)z=(x+x)* log(y+x)
(2) つぎの無限和をとるプログラムを作り、ここに張り付け、その結果も書け。
1/sqrt(1)+1/sqrt(2)+1/sqrt(3)+...
(3)ls -l で得られる情報について述べよ。
(4)つぎの関数を定積分せよ、ただしx=1.2から8.9まで。 (sqrt(x*x+4.5))*exp(-2.3*x)
(5)単振動する物体の運動を記述するプログラムをここへ書け。物体の位置を表す変数をx時刻を表す変数をtとすること。
(6)つぎの10この数値の平均と標準偏差を計算せよ。
200.68258,900.20677,1022.4895,7032.4225,944.0103,1360.01,1601.213,345.962,290.337,45.96
(7)xを0.0から1.0までの一様乱数として、sin(6.2831*x)の頻度分布のひすとグラムをつくり、ここへ描け。
(8)一次元ランダムウオーくで乱数が0.5以上のとき左へ動くとして、1789歩めの座標を求めよ。
ただし乱数の初期値を17とし、繰り返しを32768*32767*2とせよ。
(9)つぎの数値を大きい順に並べ、13番めをここに記せ。
80.4201,15.6684,40.0957,12.9794,108.912,21.8264,51.294,83.914,61.245,29.612,63.756,52.435,49.2462,97.2805,29.2534,78.36547,40.2761,86.2351,28.3566,35.2469,81.7794,91.9055,53.1624,65.7538,34.8256,26.6675,85.0989,45.7167,91.980
(10)つぎのプログラムの誤りを指摘し正せ。
#include
main()
{ float x; printf(" input a value : "); scanf("%d",x); if(x==0.0) {
printf(" your value is equal 0 %f \n",x); if(x>0.0){ printf(" your
value is greater than 0 %f \n",x);}} else { printf(" your value is
smaller than 0 %f \n",x);}
(11)y=5cos(x)*exp(-0.5x)のグラフをpostscript形式にして添付せよ。
Back
to T.Takeshita's page here.