次に示す例は、2倍角の公式
 |
(1) |
を確認するプログラムである。角度を0〜360度まで、1度ずつ変化させてそれぞれを、表
示させている。
#include <stdio.h>
#include <math.h>
double function1(double x);
double function2(double x);
/*==============================================================*/
/* main function */
/*==============================================================*/
int main(void){
int kakudo;
double pi, theta, y1, y2;
pi=3.141592;
for(kakudo=0; kakudo<=360; kakudo++){
theta = kakudo*pi/180.0;
y1 = function1(theta);
y2 = function2(theta);
printf("%d\t%lf\t%lf\n", kakudo, y1, y2);
}
return 0;
}
/* <<<<<<<<<< これ以降は、サブルーチン >>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
/*==============================================================*/
/* sin(2x)の計算 */
/*==============================================================*/
double function1(double x){
double y;
y=sin(2.0*x);
return y;
}
/*==============================================================*/
/* sin(x)cos(x)の計算 */
/*==============================================================*/
double function2(double x){
double y;
y=2.0*sin(x)*cos(x);
return y;
}
このプログラムをコンパイルする場合、以下のようなオプションを付ける必要がある。こ
れは、数学関数sin()を使っているためである。
cc -lm -o bai baikaku1.c
オプション
-lmが数学関数を使いますよとコンパイラーに知らせているのである。実
際には、数学のライブラリーも併せてコンパイルしているのである。この辺のことは気に
しないで、数学関数を使う場合、このプログラムの2行目に書いてある
#include <math.h>とあわせて、使うと憶えれば良
い。
以下の練習問題のプログラムを作成すること。
もう一つの2倍角の公式
 |
(2) |
を確認するプログラムを作成せよ。
- ただし、例にならって、プログラムを作成すること。。
- 公式が成り立っていることをよく確認すること。
三角形の面積

をヘロンの公式
|
 |
(3) |
|
 |
(4) |
を使って計算するプログラムを作成せよ。ここで、

は辺の長さである。プログラ
ムの条件は以下の通りとする。
- キーボードから、辺の長さを読み込む。
- 面積の計算は、関数を使うこと。ただし、
の場合は、"三
角形になりません"と表示して、プログラムを止めること。
このプログラムができたならば、再度計算するか否かのメッセージを出す。そして、次の三角形の
面積を計算する、あるいはプログラムを止めるように改造すること。
ホームページ:
Yamamoto's laboratory著者:
山本昌志
Yamamoto Masashi
平成17年1月29日