2 平方根と三角関数を使ってみよう

これまで,5つの演算子を学習した.加減乗除(+-*/)と余り(%)である.これ だけでは,面白くないので,数学の関数を学習する.

教科書のp.127に示すように,C言語ではいろいろな数学関数が使える.その中でも,使用 頻度の高い平方根と三角関数の使い方を学習する.

2.1 平方根

まずは,平方根である.キーボードから,実数を入力して,その平方根を計算するプログ ラムは,リスト1のように書く.
   1 #include <stdio.h>
   2 #include <math.h>
   3 
   4 int main(void)
   5 {
   6   double x, y;
   7 
   8   scanf("%lf",&x);
   9 
  10   y=sqrt(x);
  11 
  12   printf("ルート%fは,%fです.\n",x, y);
  13 
  14   return 0;
  15 }
\fbox{結果}
1.23456789
ルート1.234568は,1.111111です.

2.1.0.1 平方根の計算

このプログラムは,キーボードから値を入力し,その平方根を計算して出力するプログラ ムである.リスト1の8行目で,キーボードからの値は変数xに格納す る.そして,10行で平方根の計算を行っている.10行目の内容を数式で書くと

$\displaystyle y=\sqrt{x}$ (1)

となる.C言語では,平方根をあらわす $ \sqrt{\quad}$という記号がつかえなので,変わりに sqrt()と書く4

2.1.0.2 おまじない

数学関数を使うためには,おまじないが必要である.コンパイル時に,「数学関数を使いま すよ」とコンパイラーに知らせている.リスト1の2行目
#include <math.h>

が,それにあたる.数学関数を使うときには,必ず,このおまじないを書くこと.

2.1.0.3 コンパイル方法

数学関数を使っている場合,#include <math.h>というおまじないに加えて,コンパ イルするときも呪文を追加しなくてはならない.例えば,リスト1のソー スファイル名がroot.cとする.これをコンパイルするためには,
gcc -lm -o keisan root.c

とする.できあがった実行ファイル名は,keisanとなる.ようするに,コンパイル するときに,-lmを追加する必要がある.これをオプションと言う.


まとめ(数学関数を使うためには)
  • プログラムの先頭付近に#include <math.h>というおまじないを書く.
  • コンパイルするときに,オプション-lmが必要である.
  • 数学の $ \sqrt{\quad}$の計算は,sqrt()と書く.

2.2 三角関数

次に三角関数である.角度を読み込んで,その正弦($ \sin$)の値を出力する.そのプログ ラムをリスト2に示す.

このプログラムの動作は,次のとおりである.


   1 #include <stdio.h>
   2 #include <math.h>
   3 
   4 int main(void)
   5 {
   6   double deg, rad, y;
   7 
   8   scanf("%lf",&deg);
   9   rad=deg/180.0*M_PI;
  10 
  11   y=sin(rad);
  12 
  13   printf("%f[deg]のsinの値は%fです.\n",deg, y);
  14 
  15   return 0;
  16 }
\fbox{結果}
30
30.000000[deg]のsinの値は0.500000です.



まとめ(数学関数を使うためには)
  • <math.h>の中で,M_PIは円種率($ \pi$)と定義されている.
  • C言語の三角関数は,全てラジアン単位である.
  • サインはsin(),コサインはcos(),タンジェントはtan()と書く.

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


no counter