はじめに
日刊工業新聞社より1989年に出版された、「プログラミング実習シリーズ① FORTRAN 」を一通り読ませていただきました。
本の詳しい情報について、インターネットで調べても得られませんでしたので、記録として残しておきます。
また、サンプルプログラムについて、私なりに解いたものをこちらに公開しています。
実行環境
MacBook Air 2020(M1)
VsCode 1.79.0
Docker(OS:Debian 10.2.1-6)
gfortran 10.2.1
概要
学生向けの講義に使われることを意識した本です。(1989年当時)
キーボードやディスプレイ等の基本的な使い方や、アルゴリズムとは何か、プログラムとは何かなどの基本的なことから書かれてあります。
内容について、序盤はサンプルプログラムの一行ごと丁寧な解説があります。
終盤になるに従って、解説は要点を絞ったものになります。
収録内容(目次)
長いので折りたたんでいます
- 【1章】コンピュータと対話するためには
- ファイルの実行
- キーボードモニタの使い方)
- 【2章】プログラミングの基礎となること
- アルゴリズムとは
- プログラムとは
- フローチャート
- 【3章】基本的なFORTRANプログラムを見る
- プログラムの書き方
- アルゴリズムとは
- 【4章】機能の基本的なことを知る
- 変数、定数
- 配列
- READ文
- 関数
- IF文
- DO文
- 編集記述子
- 【5章】プログラミングを容易にする機能
- サブルーチン
- 文関数(Function)
- 【6章】知っていると便利な機能
- データの型
- 入出力
- PARAMETA文、IMPLICT文 - 【7章】プログラム例
注意点
-
プログラムの終了判定に、キーボード入力時のEND指定子が使われています。
私の環境では、キーボード入力次にEND指定子が入れられませんでしたので、一部分をTXTからの読み込みで対応しました。
Control + D でEND指定子を挿入することができます。(@cure_honey 様にご指摘いただきました。ありがとうございます。) -
PROGRAM F7X2 で SUBROUTINEに引数Aを渡すと、原因不明のメモリエラーになりました。(SUBROUTINE内でAを定義することで回避しました。)
-
PROGRAM F7X7 の33行目の終了判定が
X+H .GT. XEND
になっていますが、このままだと1回分出力が少なくなってしまいます。
終了判定をX .GT. XEND
にして対応しました。 -
WRITEでの出力の初めに、' 1'
が入れられているプログラムがあります。
書籍内での実行結果には出てこないので、' '
に置き換えて対応しました。(当時の実行環境の仕様?なんでしょうか)
当時のキャリッジ制御用の文字であり、出力の際の改ページ、スペースの挿入等を制御しているみたいです。(@cure_honey 様にご指摘いただきました。ありがとうございます。)
調べたところ、Oracleで公開されている FORTRAN 77 言語リファレンス(表5.4)に該当する記述がありました。以下のサイトです。