Fortranプログラミング入門 -Fortranプログラムの基本- 関根 晃太 プログラム作成の流れ 0. 作成したいプログラムを決める 失敗なんて 怖くない!! 1. エディターを使ってソースコードを書く 2. gfortranを使って実行ファイルを作成 3. 実行ファイルを実行し,期待通りの動作をしない場合 1.に戻りソースコードを修正 何も考えずに一度作ってみよう!! P-01 例題1 0. 作成したいプログラムを決める 失敗なんて 怖くない!! 1. エディターを使ってソースコードを書く 2. gfortranを使って実行ファイルを作成 3. 実行ファイルを実行し,期待通りの動作をしない場合 1.に戻りソースコードを修正 P-02 例題1 例題1 : 画面に「好きな言葉」を表示させるプログラムを作成 P-03 例題1:ソースコードを書く 0. 作成したいプログラムを決める 失敗なんて 怖くない!! 1. エディターを使ってソースコードを書く 2. gfortranを使って実行ファイルを作成 3. 実行ファイルを実行し,期待通りの動作をしない場合 1.に戻りソースコードを修正 P-04 例題1:ソースコードを書く 英字(26文字) : A-Z ※大文字と小文字の区別はありません!! 数字(10文字) : 0-9 特殊文字(21文字) : 空白(半角スペース) = + - * / ( ) , . ‘ : ! ” % & ; < > ? ¥または$ P-05 例題1:ソースコードを書く Fortranのメインプログラムの書き方!! program プログラムの名称 宣言文 実行文 stop end program プログラムの名称 P-06 例題1:ソースコードを書く ファイル名 : like_word.f90 本講義では拡張子はf90としましょう!! program like_word write (*,*) ’好きな言葉’ stop end program like_word 忘れてしまった人のためのエディタの使い方 emacs like_word.f90 & と端末で書こう! P-07 例題1:コンパイル 0. 作成したいプログラムを決める 失敗なんて 怖くない!! 1. エディターを使ってソースコードを書く 2. gfortranを使って実行ファイルを作成 3. 実行ファイルを実行し,期待通りの動作をしない場合 1.に戻りソースコードを修正 P-08 例題1:コンパイル 端末で… gfortran like_word.f90 と書けば良い!! gfortran [オプション] ファイル名 良く使うオプション オプション名 -o FILENAME -O0, -O1, -O2, -O3 説明 実行ファイル名をFILENAMEとして実行ファイルを作成 最適化のレベルを指定(デフォルトは0) P-09 例題1:実行方法 0. 作成したいプログラムを決める 失敗なんて 怖くない!! 1. エディターを使ってソースコードを書く 2. gfortranを使って実行ファイルを作成 3. 実行ファイルを実行し,期待通りの動作をしない場合 1.に戻りソースコードを修正 P-10 例題1:実行方法 端末で… ./a.out と書けば良い!! できたかな? ./実行ファイル名 今いるディレクトリという意味 エラーでうまくいかないときは聞いてください!! P-11 プログラムの詳細 1行目 program like_word ☆文法 program 名前 ・主プログラムの開始を表す. ・「end program 名前」と対になる ・わかりやすい名前をつける ・ファイル名とは別の名でOK! ・省略可能であるが,ちゃんと書こう! P-12 プログラムの詳細 2行目 write (*,*) ’好きな言葉’ ☆文法 write (装置番号,書式) 出力対象, 出力対象, … ・「装置番号」に「書式」の通りに「出力対象」を出力. ・装置番号 * か 6 は標準出力 (ディスプレイ出力) ・書式 * は標準書式で出力.自動的に設定. 装置番号・書式の詳細は別の機会に!! P-13 プログラムの詳細 3行目 stop ☆文法 stop ・プログラムの実行を終了させる ・stop ’コメント’ と書いて「コメント」を出力できる P-14 プログラムの詳細 4行目 end program lile_word ☆文法 end program 名前 ・主プログラムの終わりを表す. ・「program 名前」と対になる ・end以下の「program 名前」は省略可能だが,ちゃん と書こう P-15 変数 変数とは… メモリーのどこかに名前をつけて,様々なデータを 格納及び利用できるようにしたもの. 変数名の付け方の注意 ・英字,数字,アンダースコアー_のみ ・変数名の先頭は英字のみ ・Fortranで用意されている予約語(write等)は使えない ・プログラム名と同じ変数名は使えない P-16 変数 変数のデータ型とは… ・変数に格納するデータの種類. ・変数を利用する際は,宣言時にデータ型を指定する データ型 説明 宣言文 整数型 32bitの整数 INTEGER :: 変数リスト 整数型(長い桁) 64bitの整数 INTEGER(8) :: 変数リスト 単精度実数型 32bit 有効数字約7桁の実数 REAL :: 変数リスト 倍精度実数型 64bit 有効数字約7桁の実数 REAL(8) :: 変数リスト 複素数型 実部,虚部が単精度の複素数 COMPLEX :: 変数リスト 文字型 文字データ CHARACTER :: 変数リスト 論理型 論理演算 真(.ture.) 偽(.false.) LOGICAL :: 変数リスト P-17 変数 変数の宣言文 program プログラムの名称 implicit none データ型1 :: 変数1, 変数2, … データ型2 :: 変数3, 変数4, … … 実行文 stop end program プログラムの名称 P-18 変数 暗黙の型宣言とは… FORTRAN77では宣言文を書かなければ ・i, j, k, l, m, nから始まる変数は整数型 ・それ以外は単精度浮動小数点数型 になる.必要なときに限り宣言文を書いていた. implicit noneとは Fortran90以降は暗黙の型宣言を推奨しておらず, 「暗黙の型宣言をなくす」という文. P-19 必ず書くようにしましょう!! 定数 定数の書き方 数字を書く際,書き方によってデータ型が変わる 整数型 1402 -25 間違った例 1.2 +39 0 1,000 P-20 定数 定数の書き方 数字を書く際,書き方によってデータ型が変わる 単精度実数型 1.23 1.0 2.4e3 +5.43e2 倍精度実数型 2.45d-3 2.4d3 +5.43d2 2.45e-3 -3.14e2 -3.14d2 P-21 定数 定数の書き方 数字を書く際,書き方によってデータ型が変わる 複素数型 (3.14,2.5) (1.58e-2,40.3) (-2.0,4.2e3) (1.56e-4,6.88e4) P-22 代入文 代入演算子= 変数に値を代入する 変数 = 代入したい値 例 implicit none integer :: i, j i=5 j = 100 P-23 例題2 整数型の変数 intを宣言し, 5, 5.1, 5.0d-2, (1.0, 2.0) をそれぞれintに代入し,それぞれ出力するプログラムを 作成せよ. 但し,ファイル名をsubs.f90とせよ. 定数と変数の 型が違うぞ!? P-24 例題2 program subs implicit none integer :: int int = 5 write (*,*) int int = 5.1 write (*,*) int ・・・ stop end program subs 定数と変数の 型が違うぞ!? P-25 課題1 5, 5.1, 5.0d-2, (1.0, 2.0) をそれぞれ適切に代入できる型の変数を宣言,代入,及 び出力するプログラムを作成せよ. 但し,ファイル名をsubs2.f90とせよ. (コマンド cp subs.f90 subs2.f90 を使うとよい) P-26 演算子 算術演算 Fortranでの表現 + + - - × * ÷ / べき乗 ** 例 a + b÷c a × bc → → a + b/c a*b**c P-27 課題2 a = 3,h = 5とする.そのとき,三角形の底辺の長さaと高 さhに対し,面積Sを表示するプログラムを書け. 但し,プログラム名をmes.f90とせよ. ※変数,定数の型に注意しましょう!! P-28 エクストラ課題 整数型,単精度実数型,倍精度実数型を混在で計算さ せ,型の優先順位を見つけ出せ. P-29
© Copyright 2024 Paperzz