4 練習問題

以下のプログラムを作成して、3月16日(月)中にレポートとして提出すること。 3月17日(火)の授業では、それを元に情報処理センターで演習を行う。

4.1 関数副プログラム

[問題 1]    階乗の計算

キーボードから、$ N$の値を読み込んで、その階乗(N!)を計算し、出力するプ ログラムを作成せよ。階乗とは、

$\displaystyle N!=N \times (N-1) \times (N-2) \times (N-3) \times \cdots \times 3 \times 2 \times 1$ (2)

の計算のことを言う。

プログラムを作成する場合、以下の条件に従うこと。

[問題 2]    三角形の面積(ヘロンの公式)

三角形の面積$ S$は、ヘロンの公式を用いると

$\displaystyle S=\sqrt{s(s-a)(s-b)(s-c)}$ (3)

と求めることができる。ただし、 $ s=(a+b+c)/2$で、$ a$,$ b$,$ c$は三角形の各 辺の長さである。

プログラムを作成する場合、以下の条件に従うこと。

4.2 サブルーチン副プログラム

[問題 1]    並び替え

教科書P.156(10)の問題である。与えられた数字を小さい順に並べるサブルー チンを作成し、以下のデータを小さい順に並べよ。

$\displaystyle 123,\quad 35,\quad 99,\quad 41,\quad 2,\quad 999,\quad 567,\quad 15,\quad 68,\quad 362,\quad$    

ただし、データの入力は以下のように、メインルーチンで配列に直接代入する こと。

      A(1)=123
      A(2)=35
      A(3)=99
      A(4)=41
      A(5)=2
      A(6)=999
      A(7)=567
      A(8)=15
      A(9)=68
      A(10)=362
[問題 2]    三角関数の計算

2つの角度を度単位で入力し、それをラジアン単位に変換して、

$\displaystyle z1$ $\displaystyle =\sin(\theta_1)+\sin(\theta_2)$ (4)
$\displaystyle z2$ $\displaystyle =\sin(\theta_1)-\sin(\theta_2)$ (5)
$\displaystyle z3$ $\displaystyle =\sin(\theta_1)*\sin(\theta_2)$ (6)
$\displaystyle z4$ $\displaystyle =\sin(\theta_1)\div\sin(\theta_2)$ (7)

を計算せよ。ただし、これら4つの計算については、サブルーチン副プログラ ムを用いたプログラムであること。
ホームページ: Yamamoto's laboratory
著者: 山本昌志
Yamamoto Masashi
平成19年8月20日


no counter