計算機実習Ⅰ
FORTRAN担当
2021.6.8

ファイル編集からプログラムのコンパイル・実行までの流れ
ファイル編集の方法は2通りある．どちらの手法でもよい．
どちらの手法も目の前のPCで作業する．

OS:windows■TeraTermで全て作業する方法（viエディタを使える人向け）

１．TeraTermでサーバへログイン．
２．TeraTermのファイル編集機能のviエディターを使ってプログラム編集．
３．TeraTerm上でプログラムをコンパイル，プログラム実行．

TeraTerm■ファイル編集をWindowsのエディタを使用する方法

１．TeraPadにある編集機能を使ってプログラムを編集
ファイルの保存：「名前を付けて保存」⇒ファイルの種類「全てのファイル*.*」を選択し、「ファイル名.f」という拡張子で保存する。

TeraPad２．作成したファイルをサーバへ転送
サーバ：UNIX(LINAX)FFFTP

WinSCP

３．TeraTermでサーバへログイン．
４．TeraTerm上でプログラムをコンパイル，プログラム実行．

TeraTerm

(2)UNIXパソコンへの接続「TeraTerm」の起動①ホスト 「nutech」②サービス 「SSH」

OK(2)UNIXパソコンへの接続(S+学籍番号6桁)「TeraTerm」使用方法④ユーザー名パスワード

OK「TeraTerm」の使用方法
接続に成功するとこのようになる

作成ファイルを自分で保存したいとき
Linuxサーバから，自分の目の前のPCへデータを転送することが可能

OS：UNIX(LINAX)

OS:windows
ファイルを移動

現在使用しているPC

FFFTP

作成したプログラムファイルを印刷・持ち帰ることができる

作成したプログラムファイルはこの中に保存されている

WinSCPkadai.f

大学内(1階にあるPC)

「FFFTP」の使用方法

ここまで自宅PCでFORTRANを使う/ ここまで

Teratermを用いた作業方法

Linuxを操作①UNIX PCの中の中身を確認する「 ls 」と入力

先週作成したファイルが表示される

本日(2021.6.8)の課題の準備

datain1.txt「datain1.txt 」を新規に開く

本日作成するデータ

N AGA OK A
学生番号を記入 1 7 2 9 9 9 9 92マスあける 5 2マス 67 . 1 2 8 . 2 0
1マスあける
1マスあける8 5 . 3 2マス 0 . 12マス 5 . 3 2 2 0 . 1
名前を記入

viエディタの場合

TeraPadの場合

1行目

2行目
3行目
4行目
5行目
6行目

③ファイルを入力して終了する
・保存して終了「Esc」 → 「:wq!」
・保存しないで終了 「Esc」 → 「:q!」ファイル保存後，サーバへファイルを転送
kadaiのディレクトリ内に保存する

(1) 変数宣言

整数、実数の区別(宣言文で区別する)

プログラムでは、「整数 1」と「実数 1.0」は違う
プログラム例

宣言文

整数： INTEGER
実数： REAL
文字： CHARACTER
フローチャート
開始
整数型宣言 I , J,K
実数型宣言 A, B,C
文字型宣言 N, D

PROGRAM MAIN
6文字スペース

INTEGERI , J , K 整数
REAL
A , B , C 実数
CHARACTER N*20 , G*20
STOPEND

文字(20文字以内)

終了「*20」は20文字以内という意味

(3) 入出力(直接入力） プログラム名「kadai.f」とする．
■プログラム中でのデータの入力と出力(WRITE文)

フローチャート
開始
整数型宣言 I , J,K
実数型宣言 A, B,C
文字型宣言 N, D
I=1、A=1.0
N=NAKAOKA
I、A、Nの出力

終了

PROGRAM MAIN
INTEGERI , J ,KREAL
A , B,C
CHARACTER N*20 , G*10
6文字スペース

I=1
A=1.0
N=‘NAGAOKA’「I」、「A」、「N」に値を入力

WRITE(6,’(I10)’) I
WRITE(6,’(F10.2)’) A
WRITE(6,’(A10)’) N「I」、「A」、「N」を画面に出力

STOP
ENDWRITE文のルール
整数文字

WRITE(6 , ‘( 2 I 5 )’)WRITE(6 , ‘( 2 A 5 )’)どこに出力するかどこに出力するか2つ5マス出力される結果

2345マス出力される結果

41

2つ5567

1つ89 10

2つC I V0 7 ENV 0 7
123456

1つ789 10

2つ

実数

WRITE(6 , ‘( 2 F 5.2 )’)どこに出力するか2つ5マス出力される結果

4 . 00123
1つ456 . 00678
2つ9 10WRITE(6 , ‘( 2 F 5.2 )’)「6」は画面に出力

プログラムを実行してみよう
・PCで作成したプログラムファイルをFFFTPで転送
・FFFTPで転送したLINUX側のファイルを右クリック
・「名前変更」で「kadai.f」などに変更（拡張子は「*.f」「*.for」
プログラム「kadai.f」ファイルをコンパイル「 g95 kadai.f 」と入力

大学Linuxの場合

Tdm-gccの場合

プログラムを実行「 ./a.out 」 を入力すると実行
正しく実行されると、結果が表示される

11.00
NAGAOKA
このように表示されていれば良い(3) 入出力(ファイルから入力・出力)

データの読み込み

データの出力プログラム(FORTRAN言語)

datain1.txt

計算，データ処理など

dataout1.txt

(3) ファイルからデータを入力
プログラムでは、「OPEN文」と「REDA文」を使用する。
プログラム例

ファイル名「datain1.txt」というファイルを開く

OPEN(10,FILE=‘datain1.txt’)
READ(10,’(A20)’) N
ファイルの文字を「N」、「G」に入力
READ(10,’(A20)’) G
READ(10,’(2I3)’) I, J
ファイルから「I」、「J」に入力
CLOSE(10)5
番号を合わせる

I6J「datain1.txt」というファイルを閉じる

Kadai.f
PROGRAM MAIN
INTEGERI , J,KREAL
A , B,C
CHARACTER N*20 , G*20
I=1
A=1.0
N=‘NAGAOKA’
WRITE(6,’(I10)’) I
WRITE(6,’(F10.2)’) A
WRITE(6,’(A10)’) N
OPEN(10,FILE=‘datain1.txt’)
READ(10,’(A20)’) N
READ(10,’(A20)’) G
READ(10,’(2I3)’) I, J
CLOSE(10)OPEN(20,FILE=‘dataout1.txt’)
WRITE(20,’(2I5)’) I, J
WRITE(20,’(2A20)’) G, N
CLOSE(20)
STOPEND(3) 新しいファイルへ結果を出力
プログラム例OPEN(10,FILE=‘datain1.txt’)
READ(10,’(A20)’) N
READ(10,’(A20)’) G
READ(10,’(2I3)’) I, J
CLOSE(10)OPEN(20,FILE=‘dataout1.txt’)
WRITE(20,’(2I5)’) I , J
WRITE(20,’(F5.1)’) A
WRITE(20,’(2A20)’) G , N
CLOSE(20)出力したファイルの中身を確認

vi dataout1.txt
又はPCへ転送してWordPadなどで開く

結果が出力されている

本日の課題(2021.6.8版）

作成したプログラムファイル「kadai.f」と、出力した「dataout1.txt」ファイルを犬飼までメールで提出すること
期限：6月15日（火）の授業開始まで■プログラムが完成したらＴＡの前で実行してみせる■ＴＡからＯＫをもらったら名簿にチェックを入れる■プログラムをFFTPへ自分のPCへ転送■WordPadにプログラムをコピーしてファイル作成■作成したファイルを犬飼へメール送信して提出
メール・アドレスはinu@nagaokaut.ac.jp
メールは学生Webmailを使用して送信すること．

http://ipc.nagaokaut.ac.jp/GUIDE/user/squirrelmail/index.html