\documentclass[12pt]{jarticle}

\oddsidemargin 0mm
\evensidemargin 0mm
\textwidth 160mm
\topmargin -15mm
\textheight 240mm

\title{数値計算法概論: No.1}
\date{}
\author{}

\begin{document}
\maketitle

\section{講義の目的}

当講義では、プログラム言語 Fortran 90 を用い、プログラミングの
 初歩と、数値計算について学ぶ。すでに C,C++ などのプログラミング言語
 を知っている者がいれば、そちらを使っても構わない。数値計算としては、2次
 方程式の解、数値積分、収束加速法、ニュートン法などを扱う。

 成績評価はレポート（数回）による。

\section{プログラム言語の参考図書}

 Fortran 90 の言語の入門書として次のものを上げておく。

\underline{ 「Fortran 90 入門」 新井 親夫 著、森北出版 （2800円）。}

生協書籍部に45部注文している。（すでに他の Fortran, C, C++ 
などの文法書を揃えている人を除き）この本を購入し、講義の際に必ず持ってく
るようにすること。

\section{一般的注意}

Unix でのコマンド、エディターとしての mule (emacs)、電子メール（Mew など)
の使い方は「九州大学情報処理教育センター利用の手引」を熟読すること。
以下の URL 

http://www.cse.ec.kyushu-u.ac.jp/manual/

から見ることもできる。

教育センターの使用時間は月ー金の 8:30-20:00,土日休み。
講義優先。

\section{ワークステーションの利用法}

利用の手引 8章 UNIX ワークステーション参照。

\subsection{ssh (利用の手引 8.3)}

PC のデスクトップから TELNET と表記されているアイコンをダブルクリックす
る。すると利用の手引の図 8.3 のような TTSSH の接続画面が表示されるので、
これに ユーザーID、パスワードを入力する。

ワークステーションを終了するには、logout (または exit) と打ち
込む。

\subsection{mule (エディター)（利用の手引 8.5）}

プログラムや、文書作成に使うツールがエディターである。
フリーソフトである mule を使う。文字列のカット ＆ ペーストなど、エディター
の機能を有効に使うと作業能率が大幅に向上する。

\subsection{X Window System: ASTEC-X (利用の手引 8.6)}

gnuplot,tgif など、図表を扱うツールを使うには、X Window System を使うと
楽である。PC から UNIX の X Window System を使うには、ASTEC-X を通して入
る。

\section{簡単なプログラム}

\subsection{プログラムの作成}

次のプログラムを test.f( xyz.f のように .fで終っていれ
ば何でも良い) のファイル名で作成する。
まず、

\%mule test.f

でエディターを起動し、以下のプログラムを作成する。

\begin{verbatim}
      real a,b,c,d,e,f
c
      a=5.0
      b=2.0
c
      c=a+b
      d=a*b
      e=a/b
      f=a**b
      write(*,*) "a,b ",a,b
c
      write(*,*) c,d,e,f
c
      end
\end{verbatim}

[Ctrl]-x [Ctrl]-c でエディターを終了する。

\% ls でファイル一覧を見て test.f のプログラムが出来ている事を確認。

\% cat test.f でファイルの中身を見ることができる。

\subsection{プログラムのコンパイル、実行}

\%frt test.f 

とすると a.out*(実行形式のファイル)ができる（コンパイル
\footnote{フリーのコンパイラーとして g77 もある。}）。その後

\%a.out [Return]

とするとプログラムが実行される。

プログラムに誤りがあればエラーメッセージが出るので、必要に応じプ
ログラムを修正する（デバッグ）。計算結果がおかしい時にも修正して実行し直す。

なお、

\% a.out $>$ out.data 

とすると、画面に出ていたデータを out.data といった
別のファイルに保存できる。

\subsection{簡単な説明}
\begin{enumerate}
 \item a*b は積、a/b は割算、a**b は冪乗  $a^b$ を表す。
 \item a=2.0 は 変数 a に 2.0 という数字を代入することを意味する。
 \item プログラムの最後は必ず end 文で終る。
 \item Fortran では1行72文字(桁)までである。
1桁目に c(または C,*,!) があると注釈行とみなし、実行しない。
2桁目から5桁目の数字は文番号で、別の文からその文を参照するのに使
う。
6桁目の文字は、継続行を意味する。
7桁目から72桁目の間に実際に実行すべき文を書く
(TAB キーを使うと mule が自動的に設定する)。
 \item 1行目の real a,b,c は変数が実数型であることの宣言文(Fortran に限らず、一
般に変数の実数型と整数型では扱いが異なる)。
\end{enumerate}

例 次のプログラムを実行してみよ
(integer は整数型の宣言)。
\begin{verbatim}
      integer i,j,k
c
      i=5
      j=3
c
      k=i/j
      write(*,*) "i,j",i,j
c
      write(*,*) k
c
      end
\end{verbatim}
割算が切捨てとなる。

\section{講義のプリント}

講義のプリントを次の URL に置いておいた。

http://maya.phys.kyushu-u.ac.jp/\~{}knomura/

この中の
\begin{verbatim}
	数値計算法概論(2004 年度；3年前期 ）
\end{verbatim}
から参照すること。

また、レポート提出者の一覧、その他の掲示もこの URL を使う。

\section{連絡先}

質問は、講義中に積極的にすること、講義後に疑問がある場合は、直
接以下の部屋に訪れても良いし、e-mail を使っての質問も受け付ける。

野村 2641 号室(knomura@stat.phys.kyushu-u.ac.jp)

村島(TA) 2632 号室(murasima@stat.phys.kyushu-u.ac.jp)

\end{document}
