Fortran90/95 プログラミング (冨田博之、斎藤泰洋[著] 培風館) 演習問題6



以下問題文は、本書からの引用(ただし一部改題)です。

6-1 1次元実数型配列 a(-100:100) の各要素 a(n) が、1ステップ(時間dt)後に、
に変換されるとして、時間経過を追うプログラムを作れ。(拡散方程式)ただし、
初期値: a(0)=10000.E0 、それ以外の要素は0.0E0
境界条件: すべての時刻で両端はと固定(吸収壁)
dtは例えば1.0E0/16.0E0とせよ。(注: 同時的計算にしなければならない)  
6-1
6-2 (i) 2つの整数i,jを読み込み、n行n列の正方行列から、行i、列jを除いた部分行列を作れ。
(ii) 4つの整数i、j、k、lを読み込み、n行n列の正方行列から、i~j行、k~l列を抽出した部分行列を作れ。
6-2 (i)
6-2 (ii)
6-3 組込み関数を使わずに、2次元整数型配列の要素の最大値、およびその位置を求めて出力するプログラムを作れ。 6-3
6-4 入力された金額に対し、これを最小数の流通紙貨幣(1万円札、5千円札、2千円札、千円札、500円硬貨、100円硬貨、50円硬貨、10円硬貨、5円硬貨、1円硬貨)で支払う場合の各紙貨幣の必要数を求めよ。 6-4
6-5 3つの1次元配列の同じ位置の要素を比較して、それぞれ一番大きいものを一番小さいものを選んで並べた2つの配列を作れ。 6-5
6-6
6-7 各生徒の5科目の成績(100点満点の整数)を次々に読み込み、各科目の平均点(実数)と標準偏差(実数)、科目間の相関係数(5 \(\times\) 5 の実数型行列)、および各生徒の5科目合計点の偏差値(実数)を計算し、それぞれの表を作成せよ。ただし、 \(x\) の平均値を \(\langle x \rangle \)で表すとき
\(x\) の分散: \(V(x)=\langle x^{2} \rangle - \langle x \rangle ^{2}\)
標準偏差: \(SD(x)= \sqrt{V(x)}\)
\(x\) 、 \(y\)の共分散: \(C(x,y)= \langle xy \rangle - \langle x \rangle \langle y \rangle\)
\(x\) 、 \(y\)の相関係数: \(R(x,y)= \frac{C(x,y)}{SD(x)SD(y)}\)
点数 \(x\) の生徒の偏差値: \(H(x)=50+10 \times \frac{x- \langle x \rangle}{SD(x)}\)
6-8 20桁の正の整数を2つ入力して、その和と積を出力せよ。
(チェックポイント)
99999 99999 99999 99999 + 99999 99999 99999 99999 = 19999 99999 99999 99999 8
99999 99999 99999 99999 \(*\) 99999 99999 99999 99999
= 99999 99999 99999 99998 00000 00000 00000 00001
11111 11111 11111 11111 \(*\) 11111 11111 11111 11111
= 12345 67901 23456 79012 09876 54320 98765 4321
6-8
6-9 入力された正の整数の素因数をすべて求めて、例えば以下のように素因数とその数がわかるように出力せよ。
360=2 \(**\) 3 \(*\) 3 \(**\) 2 \(*\) 5 \(**\) 1
37=37
6-9
6-10
6-11
6-12
6-13
この解答案のプログラムコードは、すべて当サイトの作成者によって書かれたものですが、これを引用したことによって生じた損害や不利益には一切責任を負いませんのでご了承ください。


Tweet


Fortran90/95 プログラミング (冨田博之、斎藤泰洋[著] 培風館)へ戻る