3 プログラム作成の練習

[練習1]
次のプロトタイプをもつユーザー定義関数を作成する.
			void sum_arg(int a);

これは仮引数の値を加算し,表示する関数とする.た とえば,この関数を引数,2, 9, 5を伴って三回呼び出したとすると, 2, 11, 16を表示する.

メイン関数のループ文で,キーボードから値を読み取り,この関数 を呼出し,これまでの合計を計算するプログラムを作成せよ.ルー プの回数は5回とする.プログラムは,次の2種類のものを作成する.

  • 静的なローカル変数を使う.
  • グローバル変数を使う.

[練習2]
2個のソースファイルから1つの実行ファイルを作成する練習を行う. file1.cは,メイン関数で次の動作を行う.
  • キーボードから2つの数値a, b(倍精度実数)を読み込む.
  • file2.cに書かれた関数を
    				kansu(a, b);
    

    と呼び出す.
  • グローバル変数x, yの値を表示する.
  • aの値が正の場合,この処理を繰り返す.
file2.cには,void kansu(double a, double b)の処理を書く. この関数は,グローバル変数xyの計算を行う.

  $\displaystyle \mathrm{x}=\mathrm{a}^\mathrm{b}$   $\displaystyle \mathrm{y}=\log_{\mathrm{a}}\mathrm{x} =\frac{\log_{10}\mathrm{x}}{\log_{10}\mathrm{a}}$   (1)

C言語でこの数学関数については,教科書のp.127を見よ. #include math.hの記述とコンパイルの時-lmを忘れない と.

[練習3]
レジスター変数を使っているリスト7のプログラ ムの実行時間を測定せよ.そして,レジスター変数を使わない場合 の実行時間と比較せよ.



ホームページ: Yamamoto's laboratory
著者: 山本昌志
Yamamoto Masashi
平成18年11月17日


no counter