National Institute for Environmental Studies

本講義の概要2024年度前期
情報処理演習第2回

2024/04/17
平山 修久（減災連携研究センター）

担当：平山 修久（減災連携研究センター）
減災館3階306号室
Email：hirayama.nagahisa@nagoya-u.jp
講義時間：前期・水曜3限（13:00〜14:30）
教室：Zoom
演習の進め方講義と演習。演習の課題は授業時間内に終了できる程名古屋大学減災連携研究センター

Disaster Mitigation Research Center, NAGOYA UNIVERSITY

度の内容。
演習レポートの提出は，NUCT

1

履修上の注意と質問への対応
履修上の注意学生同士で内容をコピーした場合には，コピーさせた学生とコピーした学生の両方とも採点しない。

評価方法

毎回の演習レポートと総合演習レポート
ただし，提出回数が8回未満の場合は評価しない。

質問など

Zoomチャット，Email等。
講義資料や課題解答は，TACT，Web（https://hirayamalab.com/lecture/）で。

IB北10階サテラボ講義室の使用ルール（念のため）
通常の利用時間：8:30〜18:00
土日祝日は利用不可

ゴミを放置しない。持ち帰る。
ホワイトボード使用後は消す。
使用後は，照明や空調を切ること。机のフタも元に戻す。
飲食厳禁。

本演習の目標
1. プログラムのアルゴリズムを理解する
2. Fortranの文法を理解し，プログラムの読み書きができる
3. 与えられた課題を解くためのアルゴリズムを考える
ことができる4. Fortranによるコンピューターでの数値解析（方程式，モンテカルロ法）ができる

情報処理

1. 情報処理序説（山本俊行先生，必修

本講義をはじめるにあたってコンピューターで計算・解析を行う。
汎用プログラミング言語を使ってプログラムを自作し，実行する。

Fortran，C言語，Mathematica，MAPLE，R，pythonなど

本講義では，「Fortran」

Windowsの場合1年春学期）

計算機，プログラム

2. 情報処理演習
本講義
3. 数値解析学（中井健太郎先生，選択，2年秋学期）
環境土木工学で用いる微分方程式の数値解析

1. gfortran - the GNU Fortran complier, part of GCCのwebsiteにアクセスし，DownloadからBinaries for Windows, Linux,MacOS and much more!のBinariesをクリックする。
2. TDM GCCをクリックし，TDM GCCのwebsiteからgfortranをインストールする。tdm64-gcc-9.2.0.exeを保存し，実行する。インストール時に，「New Installation:Choose Components」の時に，gcc/fortran に必ずチェックをつけてインストールする。

macOSの場合インストールできない場合

1. まず，Xcodeをインストールする。もし，macOSのバージョンにより最新のXcodeがインストールできない場合には，AppleDeveloperにサインインすることで，macOSのバージョンに合うXcodeを見つけることができる。
2. command line toolsをインストールする。
3. gfortran - the GNU Fortran complier, part of GCCのwebsiteにアクセスし，DownloadからBinaries for Windows, Linux,MacOS and much more!のBinariesをクリックする。

ideone.comでfortranが実行できます。本講義の課題は，ideoneで実行できることを確認しています。

4. macOSにあるhttps://github.com/fxcoudert/gfortran-formacOS/releasesから自分のmacOSのバージョンのdmgファイルをダウンロードし，インストールする。

ideone.comの場合
1. https://ideone.com/

本日の目標にアクセスする

2. プログラム言語が【Fortran】であることを確認（fortranを実行できる環境を整備する。）
プログラムを実行できる。
レポートをTACT上で提出できる。

プログラム作成，実行の流れ

1.プログラムを書く
2.書いたプログラムを動くようにする
3.プログラムを実行する

Step 2．プログラムを動くようにする

Step 1．プログラムを書く

エディタ（テキスト文章を作成，編集するアプリ
ケーション，Windowsではメモ帳，Macではテキストエディット，UNIX：viなど）を使って，キーボードでプログラムを打ち込み，ファイルに保存。

ファイルの内容（ソースコード）は人は理解できるが，CPUは理解できない。

Step.3

プログラムを実行する

コンパイル
ソースコードを機械語に変換（コンパイル）する。
Fortranであれば，Fortranコンパイラコンパイルで作成された実行ファイルを動かす。

プログラムに間違いがなければコンパイルに成功。
実行ファイル（a.exe，a.out）が作られる。

OSのコマンドライン（Windows：コマンドプロンプト，Mac：ターミナル）で，実行ファイルの書いたプログラムの文法に誤りがあればコンパイルに失敗し，コンパイルはエラーを表示。その場合には，ソースコードを修正し，再度コンパイル。

ファイル名を入力。

プログラムの実行（Windows）

コマンドプロンプトの基本（Windows）
ターミナルの基本（macOS）「>」マークの左側は現在のディレクトリ（カレントディレクトリ）。

Step 1

プログラムを書くエディタ（メモ帳）でソースコードを入力し，ファイル「*.f90」（拡張子）で保存。

Step 2

プログラムをコンパイルする

コマンドプロンプトで，「gfortran プログラム名」で，「a.exe」の実行ファイルを生成。

Step 3

プログラムを実行

コマンドプロンプトで，「a.exe」と入力してEnter

基本的なコマンド：

書式：cd パス名

cd

パス名を省略すると，カレントディレクトリのパスを出力。Zドライブの直下にある「fortran」ディレクトリに移動したら，「z:¥fortran>」となる。
dir(macOSはls)

書式：dir パス名

指定したパスのディレクトリやファイル一覧を表示。パスを省略すればカレントディレクトリの情報を表示
cls（macOSはclear）

コマンドプロンプトの表示をクリアする。
exit
コマンドプロンプトを終了する。
「↑」「↓」

入力履歴の表示

実際にプログラムを動かしてみよう1/4

実際にプログラムを動かしてみよう2/4

エディタを開く。スタート→プログラム→アクセサリ→メモ帳，もしくはWindows+R→notepad.exeを入力

コマンドプロンプトを起動。デスクトップ上のショートカットをク配布した資料のプログラム例を入力。入力は全て半角。プ
ログラムを見やすくするため，字下げするとよい。
書いたプログラムを，「sample0419.f90」という名前のファイルとして，fortranディレクトリ内に保存する。
ファイル名が「sample0419.f90.txt」となった場合には，「.txt」を削除。

macOSの場合「テキストエディット」を起動。

ファイル名は，最後に「.f90」をつける。

リック，スタート→プログラム→アクセサリ→コマンドプロンプト，
Windows+R→cmdと入力プログラムファイルを保存したディレクトリ「fortran」に移動
cd ¥fortran
macOS:
コンパイラgfortranを使ってコンパイルする。
gfortran sample0421.f90
コンパイラに成功するとプログラムファイルが存在するディレクトリ内にa.exe，macOSではa.outという実行ファイルが作成される。

実際にプログラムを動かしてみよう3/4
Windows：実行ファイルを実行する。コマンドプ
ロンプト上でa.exeと入力してEnter
a.exe
macOS：実行ファイルを実行する。ターミナル上
で./a.outと入力してEnter./a.out
ideone：Runをクリック

ソースコードを修正する4/4

スクリーンショットを撮る【Windows】.f90の拡張子のファイルを開く「.f90」の拡張子のファイルをダブルクリック
ウィンドウが出現したら，一覧からプログラムを選択するにチェックを入れてOKをクリック「NotePad（メモ帳）」をクリック
この種類のファイルを開くときは，選択したプログラ
ムをいつも使うにチェックを入れてOKをクリック【macOS】.f90のファイルを右クリックし，テキストエディットで開く【ideone】edit をクリックする。

【Windows】
キーボードの「PrintScreen」，「Alt +PrintScreen」キーを利用する。
PrintScreenでデスクトップ全体
Alt + PrintScreenで最前面のウィンドウのみ
その後，ペイント（「スタート」→「プログラム」→「アクセサリ」→「ペイント」）を起動し，貼り付け（Control + V，もしくは右クリックで貼り付け」
ファイルを保存【macOS】⌘+Shift+3，もしくは⌘+Shift+4

入出力（IDEONE）
エラーが出てプログラムを修正するプログラムファイルをダウンロードする

入力値を実行する前に入力するプログラムの構成と書式

Fortranプログラムの一般的な構成
PROGRAM kadai̲̲̲
宣言部
実行部
副プログラム部END PROGRAM kadai̲̲̲

データ型，定数，変数
Fortranには5種類の基本データ型
INTEGER：整数 0，137，-2516，17745
REAL：実数

1.234，-0.01536，+56473.，

337.456，3.37456E2
COMPLEX：複素数 (a, b),(1.0, 1.0),(-6.0, 7.2)
CHARACTER：文字列，二重引用符またはアポスト
ロフィで囲まなければならず，両端に同じ記号。
LOGICAL：論理変数，.TRUE.，.FALSE.

識別子
プログラム，定数，変数など，プログラム中の要素を識別するために使う名前。
英文字で始まり，最大30文字までの英文字，数字，下線
Mass
Rate
Velocity
Speed_of_Light
Fortran90では大文字と小文字を区別しない．

一般的に，Fortranのキーワードは大文字，プログラ
マが定義する識別子は小文字（最初も文字は大文字）

変数
Fortran変数の型は，その変数に代入される値の型を決定する。ゆえに，型宣言文によって，Fortranプログラムの各変数の型を宣言する。
INTEGER :: リスト
REAL :: リスト

INTEGER :: NumValues, Sum
REAL :: Mass, Velocity

CHARACTER(n) :: リスト

CHARACTER(15) :: FirstName, LastName
CHARACTER :: Initial
CHARACTER(15) :: Name, L_Name*20, Initial*1

IMPLICIT NONE文プログラムではつけること。
Fortranでは，型宣言文で明示的に型を宣言しない変数は，暗黙の型宣言に従って型を割り当てられる。名前がI, J, K, L, M, Nおよび対応する小文字で始まる未宣言の識別子は整数型（INTEGER）となり，それ以外はすべて実数型（REAL）
この暗黙の型宣言を無効にする文IMPLICIT NONE

変数の初期化

入出力
PRINT *, 出力並び

Fortranではすべての変数が初期状態では未定義
REAL :: W = 1.0, X = 2.5, Y = -7.73

名前付定数：PARAMETER属性
型指定子, PARAMETER :: リスト
INTEGER, PARAMETER :: Limit = 50
REAL, PARAMETER :: Pi = 3.141593, TwoPi = 2.0* Pi
CHARACTER(*), PARAMETER :: Units = “cm”

PRINT *, “At time”, Time, “seconds”
PRINT *READ *, 入力並び
READ *, InitialHeight, InitialVelocity,Time
100.0, 90.0, 4.5
100.0 90.0 4.5
100.0 90.0
4.5

今日の課題

課題1

1. 「kadai0417̲1.f90」を実行する。提出物：実行結果のスクリーンショット

kadai0417̲1.f90を実行する。

2. PRINT文を用いて，自分の学籍番号と名前（ローマ字）を表示するプログラムを作成，実行する。
提出物：プログラムファイル

ファイル名：kadai0417̲1.png

提出物：実行結果のスクリーンショット

3. 以下の計算式をPRINT文を用いて実行し，表示される答えの違いを知る。
2.0 + 8 / 5と 2+ 8.0 / 5

課題2

PRINT文を用いて，自分の学籍番号と名前（ローマ字）を表示するプログラムを作成，実行する。
提出物：プログラムファイル
ファイル名：kadai0417̲2.f90

課題3
演算優先規則と整数型（Integer）と実数型（Real）を理解する。
提出物：実行結果のスクリーンショット
ファイル名：kadai0417̲3.png
以下の計算式をPRINT文を用いて実行する
2.0 + 8 / 5
2 + 8.0 /5