/* * reidai1.c -- サブルーチン呼び出しによるグラフ描き * How to compile: ccx reidai1.c */ #include #include main() { /* 変数の宣言 * a: 区間の左端の座標, b: 区間の右端の座標, margin: 余白の大きさ */ double Pi, a, b, margin; int N, i; double h, x, f(); Pi = M_PI; a = 0.0; b = 2.0 * Pi; margin = (b - a) / 20; /* x 軸の分割の仕方の決定 */ printf("x軸の区間の分割数を入力して下さい: "); scanf("%d", &N); h = (b - a) / N; /* グラフィックスの初期化 */ openpl(); fspace2(a - margin, -3.0, b + margin, 3.0); /* 始点のセット */ fmove(a, f(a)); /* グラフ上の点を順に結ぶ */ for (i = 1; i <= N; i++) { x = a + i * h; fcont(x, f(x)); } /* 図形を記録する */ mkplot("reidai1.plot"); /* グラフィックスの後始末 */ closepl(); } double f(x) double x; { return sin(x) + sin(3.0 * x) + sin(5.0 * x); }