next up previous
Next: この文書について...

課題5の解き方

桂田 祐史

課題5-2の解き方を解説する。

サンプル・プログラム bisection.c, newton.c を入手 1・変更して、自分が望むプログラムに 書き換えるのが簡単である。

例えば $\sqrt 2$ を二分法で計算するプログラムを作るには以下のように する。(注: これはあくまでも例であって、$\sqrt 2$ 計算専用のプ ログラムなんてあまり誉められたものではない。ユーザーが入力した数 a の平方根 $\sqrt a$ を計算し、C 言語の sqrt() 関数で計算した値と 比較するようなプログラムにするのが望ましい。課題の文章を読めばそうなっ ている。)


\begin{screen}\begin{tex2html_preform}\begin{verbatim}cp bisection.c root2b.c
m...
...root2b.c &
cco root2b.c
root2b\end{verbatim}\end{tex2html_preform}\end{screen}

以下順に説明する。

1.
最初に cp コマンドで bisection.croot2b.c にコ ピーする。(root2b.c という名前は、内容が分かるものならば何でも良 い。)
2.
次にテキスト・エディター mule を使って、root2b.c を編集 する。プログラムの末尾のあたりに、関数 f() の定義があるので、そ こを書き直す。具体的には、例えば
\begin{screeen}\begin{tex2html_preform}\begin{verbatim}double f(double x)
{
return x - cos(x);
}\end{verbatim}\end{tex2html_preform}\end{screeen}


\begin{screen}\begin{tex2html_preform}\begin{verbatim}double f(double x)
{
return x * x - 2;
}\end{verbatim}\end{tex2html_preform}\end{screen}

のようにする。
3.
コンパイルは、cco コマンドがあれば、単に cco Cプログラム の名前 とするだけで OK.
4.
実行は、実行可能ファイルの名前 (cco でコンパイルした場合は、 .c を取ったもの) を入力する。
5.
プログラムの使い方は、元の bisection.c と同じだから解説は略す る。

Newton 法についても同様のことをする。
\begin{screen}\begin{tex2html_preform}\begin{verbatim}cp newton.c root2n.c
mule root2n.c &
cco root2n.c
root2n\end{verbatim}\end{tex2html_preform}\end{screen}

両者の結果を比較する (「何を比較すればよいのか?」 -- これは配布プ リントの解説を読んで、自分の頭で考えること)。



 

Masashi Katsurada 平成10年7月10日