• Tidak ada hasil yang ditemukan

FORTRAN(と C)によるプログラミング

N/A
N/A
Protected

Academic year: 2024

Membagikan "FORTRAN(と C)によるプログラミング"

Copied!
4
0
0

Teks penuh

(1)

17

FORTRAN(と C)によるプログラミング

2 入出力

はじめに標準出力(ターミナル)にメッセージを書き出すプログラムを作ってみます。

FORTRANでは、各行の最初の6カラムは空白にします。ただし、行番号を書く場合は、この6カラムの中

に書きます。また行の1 カラム目にCと書くと、その行はコメント行となり、プログラムの実行には影響し ません。FORTRANでは、1行の文字数は80文字までに制限されています。80文字に収まらない場合は、次 の行の6カラム目に「+」のような文字を書くことによって、次の行に続けて書くことができます。FORTRAN では、文字列の入出力やファイル名などを除いて、大文字と小文字を区別しません。

プログラム:

FORTRAN

C Cで始まる行はコメント行であり、計算処理の実行には影響しない。

C WRITE文で文字列を書き出す。

C 標準出力に書き出す場合は機番として6を指定する。

C *は書式の指定がないことを示す。

WRITE(6,*) 'Hello, World!'

C プログラムの実行はSTOP文で終了する。

STOP

C 各プログラム単位はEND文で終わらなければならない。

END

(参考)C

/* この部分はコメント行であり、計算処理の実行には影響しない。 */

/* 標準入出力を利用する場合にはstdio.hをincludeする。 */

#include <stdio.h>

/* プログラムは関数mainで始まる。 */

int main(void) {

/* 関数printfで文字列を書き出す。 */

printf( "Hello, World!\n" );

/* 戻り値0を返してプログラムを終了する。 */

(2)

18 return 0;

}

実行例:

/home/snaoki> f77 prog02_1.f /home/snaoki> ./a.out

Hello, World!

次に、標準入力(コマンドを入力するウィンドウ)から温度(℃)を入力し、それを絶対温度(K)に変換 して出力するプログラムを作成してみます。

プログラム:

FORTRAN

C 入力を求めるメッセージを標準出力に書き出す。

WRITE(6,*) 'Temperature [deg.C]?'

C READ文で値を読みこむ。

C 標準入力から読みこむ場合は機番として5を指定する。

C *は書式の指定がないことを示す。

C ここでは、読みこんだ値を変数Tに代入する。

C 特に宣言しない場合、

C IからNで始まる変数名は整数、それ以外は実数になる。

READ(5,*) T

C Tに273.15を加える。

C つまり、T + 273.15の値をTに代入する。

T = T + 273.15

C 結果を標準出力に書き出す。

WRITE(6,*) 'Temperature [K] =', T

STOP END

(参考)C

#include <stdio.h>

int main(void) {

(3)

19 /* 変数の宣言は必ず関数の最初で行う。

浮動小数点型変数を宣言する。

intが整数、floatが浮動小数点である。 */

float t;

/* 入力を求めるメッセージを標準出力に書き出す。

"\n"は改行を表している。 */

printf( "Temperature [deg.C]?\n" );

/* 関数scanfで標準入力から値を読みこむ。

"%f"は入力の書式が浮動小数点型であることを表している。

関数から値を受け取るときは変数名の前に&をつける。 */

scanf( "%f", &t );

/* tに273.15を加える。

つまり、t + 273.15の値をtに代入する。 */

t = t + 273.15;

/* 結果を標準出力に書き出す。

"%f"は出力の書式が浮動小数点型であることを表している。 */

printf( "Temperature [K] = %f\n", t );

return 0;

}

実行例:

/home/snaoki> f77 prog02_2.f /home/snaoki> ./a.out

Temperature [deg.C]?

15.

Temperature [K] = 288.149994

プログラム中では整数と実数(浮動小数点)を区別する必要があります。整数の1000は「1000」、実数(浮 動小数点)の1000は「1000.」と書かなければなりません。「3./2.」は1.5ですが、「3/2」は整数として計算 されるので小数点以下は切り捨てられて1となります。

整数型の変数では、誤差を生じることなく厳密に値を表現できる。しかし、実数型(浮動小数点型)の変数 では、本来連続的な値をとる実数を有限の桁数で表現するため、誤差が生じる。単精度の実数(浮動小数点)

(4)

20 の精度は10進数で7桁程度である。

課題2:気温(℃)と気圧(hPa)を入力すると、温位(K)を計算して出力するプログラムを作成せよ

(report02.f[.c])。ただし、FORTRAN では、ある実数XのY乗(Yは実数)は「X**Y」のように書く。C の場合は「pow( x, y )」である。また、Cにおいては、数学関数を使うときには、プログラムの最初でmath.h をincludeし(#include <math.h>と書き)、コンパイル時に-lmオプションを指定する必要がある。複数の変 数を読みこむときは、「READ(5,*) T,P」、「scanf( "%f,%f", &t, &p );」のようにすればよい。プログラムを 実行するときには、気温と気圧の値を「25,1013」のようにコンマで区切って入力する。C においては、変数 宣言も必要に応じて追加する。変数名は2文字以上であってもよい。

(参考)温位

温位は乾燥大気の鉛直安定度を評価するために用いられる。温位θは、断熱変化における保存量(変化しない量)

であり、

θ = T ( p

0

p )

2 7

で定義される。ただし、Tは温度、pは圧力である。pは基準となる圧力で、p=1000hPaである。

温位の定義は以下のように導出される。熱力学の第1法則(エネルギー保存則)より、断熱変化においては、気 体の内部エネルギーの増加と気体が外部にした仕事の和はゼロだから、

d

Q = C

v

dT + pdα = 0

が成り立つ。上の式に、理想気体の状態方程式

pα = RT

を代入して、

d

Q = C

v

dT + pd ( RT

p ) = C

v

dT + RdT − RT

p dp = C

p

dT − RT

p dp = 0 C

p

dT

T − R dp p = 0

ここで、物理量θを

θ = T ( p

0

p )

R C p

と定義すると、

dθ = ( p

0

p )

R C p

dT − R C

p

T p ( p

0

p )

R C p

dp = T ( p

0

p )

R C p

(C

p

dT

T − R dp

p ) = 0

となるので、θは断熱変化における保存量である。このθを温位と定義する。

Referensi

Dokumen terkait

手続き抽象化機能をもつプログラミング言語による 3D 印刷 金田 泰1,a 概要:機械加工や3D印刷をコンピュータを使用しておこなうとき,工作機械や3Dプリンタを手続き的 に制御するためのプログラムが必要になる.この目的のためにひろく使用されているのがGコードであ る.Gコードはもともと切削加工の制御のために開発され,当初は設計者がそれによるプログラムを記述

2, 2014 マウスの性行動を制御するペプチド性フェロモン ESP1 の立体構造決定 クラス C タイプ GPCR によるリガンド認識機構の解析 多くの生物はさまざまな伝達手段を通じてコミュニ ケーションをとりあう.これらの伝達手段のなかでも, 匂いやフェロモンは種と生命の維持に重要な役割を果た している.多くの動物は,同種の個体間において,性的

第5回 VOCALOID による音声合成 他の実験テーマと同様に,本実験テーマでも十分予習を行うこと.本指導書は最後まで熟読し,事前 に行うべきことは実験前に完了させておくこと.今回利用するVOCALOID3は,体験版を無料で入手す ることができる.実験時間に不安がある人は,体験版で使い方も予習しておくこと. 1 実験目的

ウェブページのアクセス制限設定 概要 教員用に提供されているホームページへのアクセス制限は..htaccess という名前のファイルに必要事項を記載し,制限をかけたい ディレクトリに配置することで実現できます.制限方法はいくつか種類ありますが,ここでは以下の2つの設定例を紹介します. 例A.ユーザIDとパスワードの認証によるアクセス制限

変数 Mathematicaは,高級な電卓としての機能のみならず,プログラム言語としての機能も有する.Mathematica に限らず,プログラムを組むには,変数の扱いに慣れることが必須である. x=1と入力すればxに1を代入する.Clear[x]またはx=.はxを単なる変数に戻す. x1 1 Expandxyˆ5 15 y10 y210 y35

ワープロソフトによる 文書作成 Word の基本操作と文書作成 文書作成におけるポイント 5/6 ビジネス文書の作成 5/13 レポート・論文形式の文書作成 授業の進め方 要点は示すが Wordのすべてを教えることは不可能 積極的にソフトウェアを操作し 課題(+ α )をこなすこと! 目標設定 (1) ビジネス文書 (2)

種々の数値計算のためのプログラムの書き方を解説し,プログラミングの教科書としている.そ のためFORTRANやCのような代表的な言語ごとに書かれている.著者は主に情報系である. 計算機が利用され出した4, 50年前にはこれらすべてが一つにまとまった授業が行われ,そのよう な教科書が数多く書かれた.その目的は具体的な問題に対して自分でプログラムを書いて解を求める

・国語の授業中、Wが筆者に「先生、国語好き?」と聞いたので、「まあまあ。Wくんは?」 と言うと、Wは「嫌い。社会、好き」と言っていた。 ・国語の授業の終わりに近づくと「10分」「5分」「2分」とカウントダウンし、早く授業が 終わってほしいとそわそわしていた。 ・書写は鉛筆で書くように言われていたのに、Wは鉛筆を持って来ていなかった。そこで、