• 検索結果がありません。

 The purpose of this paper is to present a method which make inexperienced persons master the FORTRAN Programming for a short space of time.

N/A
N/A
Protected

Academic year: 2021

シェア " The purpose of this paper is to present a method which make inexperienced persons master the FORTRAN Programming for a short space of time."

Copied!
7
0
0

読み込み中.... (全文を見る)

全文

(1)

初心者のためのFORTRANプログラミング

功*

(昭和51年9月10日受理)

FORTRAN Programming for lnexperienced Persons.

Isao MlyAll

(Received September 10, 1796)

 The purpose of this paper is to present a method which make inexperienced persons master the FORTRAN Programming for a short space of time.

1序

 いろいろな分野で,それぞれの仕事をもっとも有効に果 たしていくために,必要なプログラムを自ら作成すること が必須の基礎的技術となりつつある。そのため,工業高等 専門学校の学生には,工業分野の仕事を行なっていくため の基本的な技術の一つとして,電子計算機を活用する素地 を養うことが必要である。その実現には,電子計算機の利 用を積み重ねることによって,電子計算機を活用する自信 を得ることが必要である。

 工学の分野でプログラムを作成するのによく利用され,

たいていの電子計算機で使用できるFORTRAN語を短期 間に修得する方法について述べる。FORTRAN語全ての ステートメントを理解してからおもむろに電子計算機を利 用するのでは遅過ぎる。できるだけ短期間に必要最小限の ステートメントを実習の伴なった授業で理解した上で,こ れを基にして残りのステートメントは電子計算機の利用を 続け,体験を積み重ねながら,特に自分の問題を解く必要 に応じて徐徐に理解して行くのが電子計算機を活用する自 信を得る早道であると思う。

 ところが,従来のFORTRAN語入門の書籍には,初心 者が短期間に修得する上で次のような難点がある:(1)説明 が全般的に難解である;(2噺しいステートメントを説明す るたびに新しい問題を設定してプログラムを作るので,新 しいプログラムを与えられた上に更に新しいステートメン

トを理解しなければならないという二重の負担がかかる;

*機械工学科

(3)FORMAT文の欄記述子の説明がよくわからない;な

ど。

 ここでは以上の点を踏まえて,(1)説明をできるだけ平易 にし,②同じ問題を用いて基本的な文法を6つのプログラ ムによって一通り説明することによって負担を軽減し,更 に(3)FORMAT文の欄記述子の書き方をできるだけ標準化 することなどによって,短期間に一通りの文法の修得が可 能となる方法を提案する。

 3回の実習で一通りのFORTRAN語を修得させるとい

うことを目標にして,この方法を本校機械工学科3年生の 実習に適用した結果をも合わせて報告する。

 次のような順序で文法を一通り説明する。まず,第3節 で最:も基本的なステートメントであるREAD文, WRITE 文,FORMAT文,算術代入文, STOP文, END文を説明

する。次の第4節では,論理IF文と無条件GO TO文を

説明する。第5節では,宣言文の一つであるDIMENSION 文,DO文, CONTINUE文を説明する。第6節では,文関 数定義文を説明する。第7節では,関数副プログラムを説 明する。最:後に第8節では,サブルーチン副プログラムを 説明する。このように,最も基本的な6つのステートメン

トを土台にしたプログラムに薪しいステートメント1〜3 つを使って修正しながら,結局6つのプログラムを作る。

 大きなプログラムを作成する際には,フローチャートは 不可欠のものである。初めての学習者にとって,フローチ ャートは判りにくいようである。そこで以下に述べる簡単 なプログラムとそのフローチャートを対照してみることに よって,フローチャートの書き方も理解できるように全て のプログラムにフm一チャートを付した。

一65一

(2)

2 問 題

 第3節以降に述べるプログラムの問題とこれを処理する 大まかな順序を述べる。

 2.1 問    題

 水平と角度θ(rad)をなす斜面上に重力F(N)の立方体 がある。Fとθの値を読みこんで,式R ・=F cosθに従っ て,この物体に働く垂直抗力R(N)を計算して印刷せよ。

 2.2 問題の処理手順

 プログラムに用いる変数名をまず決める。その名前は適 当につければよいが,6文字以内でそれ自体である程度の 定義のかわりになるものがよい。重力と抗力はそれぞれ与 えられた式の変数名のままF,Rとする。角度はラインプ リンタにθの文字がないので,発音通りにTHETAとす

る。

 この問題の基本的な処理手順をフローチャートに書いた のがFig・1である。この図に従って説明する。 Fig・3の ようにデータカードにパンチされた重力と角度の値をカー ド読取装置から読み込んで,電子計算機の記憶装置のFと T肥TAと名前をつけた所に記憶させる。次に記憶された 数値を使って抗力を計算し,記憶装置の中のRと名前をつ

けた所に記憶させる。次に,これでは計算した 結果が人間の目に見えないから,F, THETA,

Rの内容をラインプリンタで印刷する。

      S量orセ     Read F and THETA     R富F事cos{THETA)

   Print F, THETA and R

      SセOP

Fig.1 Flow chart of program 1.

 Fig.1に従ってプログラムを組むとFig.2 のようになる。プログラムとデータのカードデ ックを用意して,Fig・3のように電子計算機室 に用意されているコントロールカードを挿入す れば,電子計算機で処理できる状態になる。

1234567890          正

本校のオペレーティングシステムで処理する場合,通常カ ードデックは,$$JOBカード2枚,$$FTNカード,

ソースプログラムカード(サブプログラムも含む),$*カ ード,$$LOADカード,データカード,$$*カードの ような順に並べて作成する。電子計算機の機種などにより コントロールカードは異なるのでマニュアルなどを参照す る必要がある。

3 数値の読み込み,計算および印刷

3・1プログラム1

 前節に述べた問題について,データを1組読み込ん で,計算して,結果を印刷して終るプログラムを作成 せよ。

 読み込み,計算,印刷だけを行なうこのプログラムは,

最も基本的なプログラムである。これを基にして,次節以 後に徐々に新しいステートメントを加えて行く。

 このプログラムのフローチャートをFig.1に,プログラ ムと結果をFig・2に示す。また,カードデック編成例を Fig・3に示す。データカードの書き方もFig・3を参照する

とよい。

⊂ 費費骨 5UICHOKU鱒KORYOKU NO KE15AN  l1}

  READ(5,5100) F,THETA

5100 FOR閏A丁ζ2FlO・∩}

  R3F糞(:05 了H巳TAl

  WRTTE(6,6000) F,THETA,R

6nOa FORMATCiH ,4X,2HF=,E15.T,4H tN)/

  茸 1:;雛認;差Iil茅τ鵡H謂 !

  ? :Rp

  F= O.12345nOE 02 tN)

THETA= O,S23AOOOE OO tRAD)

  R= O.10691n7E 02 (Nj

Fig.2 Program 1 and the result.

Fig.3 Construction of prograrn card deck.

2paa

 3.2プログラムの説明

第1行:プログラムの内容などを書く注釈行である。この   行は,人間のためのもので,1桁目にCと書き,2桁   目以後に何を書いても電子計算機は無視する。

第2行:FとTHETAにカード読取装置からデータを読み   込むためのREAD文である。 READ(5,5100)の5は   5番の読取装置ということである。読取装置は他にも   あるのでそれらと区別するためにある。その次の5100

はデータのパンチされている形式を示すFORMAT文

の文番号である。この後に,読み込むデータの変数名

を並べて書く。変数名の間は,(コンマ)で区切る。

(3)

第3行:データがデータカード上でどのような形式でパン

  チされているかを示すFORMAT文である。FORMAT

  文には必ず文番号が必要で,文番号は1〜5桁の間に書   く。データを入力するためのFORMAT文の文番号は   5000番台を用いるとよい。実数のデータを読み込む場   合川記述子はF10・0とする。この欄記述子を翠変換   という。FIO.Oの前には,1枚のデータカードに読み   込むデータの数を書く。すなわち,2F10.0は, F10.0,

  F10.0と2つ続けて書くのと同じことを意味する。こ   うしておくと,Fig.3のようにデータカードの最初の   10桁の中にFのデータを,次の10桁にTHETAのデー   タをパンチすればよい。実数のデータの場合,小数点   を必ず入れるようにする。

第4行:垂直抗力Rを計算する算:術代入文である。演算子   +,一,*,/,**は,それぞれ加算,減算,乗算,除   算,べき乗を表わす。COSは基本外部関数であり,こ   れを引用するにはCOSの後にかっこでくくられた実引   数THETAを書く。このように,頻繁に使用する基本   的な関数は,組込み関数や基本外部関数として用意さ   れているので,所定の名前を書くだけで関数値を求め   ることができる。用意されている関数は,電子計算機   の機種などにより異なるので,マニュアルなどを参照   する必要がある。

第5行:F,THETA, Rに記憶されているデータをライン   フ。リンタに印刷するためのWRITE文である。WRITE   (6,6000)の6は6番の出力装置ということである。続   く6000は,データをどのような形式で印刷するかを示   すFORMAT文の文番号である。

第6〜8行:F,THETA, Rの値を印刷するときの形式を示す   FORMAT文である。データを印回するためのFOR−

  MAT文の文番号は6000番台を用いるとよい。欄記述   子の間はコンマで区切る。以下に欄記述子を1つづつ   説明する。1H_(一は空白を表わす)は1行改行する   ことを表わしており,印刷する行の最初には欄記述子   1H...,を必ず書く。次の4Xは,4桁だけ空白を作るこ   とを意味する欄記述子である6これをX変換という。

  2HF=は, F=という2文字を印刷させる欄記述子で   ある。これをH変換といい,Hの前に印刷させたい文   字数を,後にその文字を書く.。E15.7は,実数のデー   タを印刷する形式を示す欄記述子である。これをE変   換といい,15はデータを印刷するのに必要な総桁数   で,次の7は小数点以下の桁数を表わす。実数のデー   タを印刷する場合,欄記述子はE 15.7とする。4H一   (N)は,一(N)という4文字を印刷させる欄記述子で   あるσ最後の/は,これで1行分の.印刷が終ることを   示す斜め線である。第7,8行の6桁目の*は,FOR一

  MAT文が前の行から纏い℃いることを示す継続行で   あることを示している。これらの第7,8行の他の欄   記述子は,第6行と同様なので説明を省略する。以上   の欄記述子の意味は,Fig.2の結果を参照するとよく   わかる。

第9行:プログラムの実行の終りを示すSTOP文である。

  プログラムの実行がここで停止する。

第10行:プログラムの記述の終りを示すENI)行である。

  プログラム単位ごとに書く必要がある。

4画面と飛び越しを用いた繰り返し 4.1プログラム2

IF文とGO TO文を組み合わせてループを作って,デ ータを変えて次々に処理できるように,プログラム1 を修正せよ。ただし,データの終りの印としてFに 0.0を読み込むものとする。

 プログラム1は,書いた順に上から下へ実行した。しか し,行を追って実行すれば処理が済むような問題は,現実 にはほとんどない。条件を判断し,それに基づき実行すべ き文を選択したり,いくつかの文の実行を行なわず,これ らの文を飛び越したりする必要がしばしば起こる。このプ ログラムでは,プログラムの進行順序を制御する文である IF文とGO TO文を使用する。

 このプログラムのフロチャートをFig.4に,プログラム と結果をF量9.5に示す。データカードをFig.6に示す。

      Start

ユ2345678901

        .11

Read F and THETA

E:O,OL>E一,( stop

  R=Fxce$(THETA)

Print F, THETA and R

Fig.4 Flow chart of program 2.

( 費長曇 5U!(:目OKU陽KORYOKU NO KEISAN  {2}

 100e READtS,S1OO} F,THETA  5100 FORMAT{2FIOeO)

   rFcF.EQ.o.o) sTop    R=FNCOStTHETA)

   WR!TE 6●6000, F,ヤトtE了AgR  6000 FORMATt:H t4X,2こ口n,E15.7,4H tN}/

   ; }目:畷τ鼎=多量ξ1号τ謡H、謂1    GO TO 1000

   END

  F= O.1234SOOE 02 CN)

THETA= o.s23600eE oo CRAD)

  R= O.1069107E 02 CN)

  F= O.6789000E 02 (N)

THETA= O.7S53999E OO {RADI   R= O.4800S39E 02 CN)

  F=. O.6T89000E 02 (N)

THETA= O.1047200E O: {RAD)

  R= O.3394487E 02 {N)

Fig.5 Program 2 and the results.

一67一

(4)

Fig.6 Data card deck of program 2.

 4・2プログラム2の説明

 プログラム1と同じ行は説明を省略する。以下の節でも すでに説明した同様の行の説明は省略する。

第4行:Fの値が0.0であるかどうかを判定する論理IF文   である。この行の意味は,F=0.0ならばプログラム   の実行を停止し,F≒0.0ならば何もしないで次の行   の算術代入文を実行するということである。関係演算   子.LT.,.LE.,.EQ.,.NE.,.GE.,.GT.は,それぞれ   〈,sg;,=,≒,2,〉を意味する。この関係演算子   を用いたF.EQ.0.0のような式を関係式という。

第10行:文番号1000のREAD文に無条件に飛ぶ無条件GO   TO文である。

5 配列とDO文を用いた繰り返し 5.1プログラム3

 配列とDO文を用いてループを作って,データを変 えて次々に処理できるように,プログラム1を修正せ よ。ただし,データの組の数Nは読み込むものとする。

 同じ計算手順を何回も反復して使用したい場合,前節で 説明したIF文とGO TO文を併用して行なうこともできる が,ここでは,特にこの目的のために用意されているDO 文を使用する。

 このプログラムのフロチャートをFig.7に,プログラム をFig.8に示す。プログラム3以後の結果は, Fig.5の結 果と同じであるので省略する。データカードの例をFig.9 に示す。

1234567890123ら5         111111

C 曇功田 SUICHOKU胃KORYOKU NO KEIsAN  l3}

  DIMENSION FtlOOI,THETA(100},RCIOO)

  READC5,5000) N 5000 FORMATCI5)

  DO 1000 1=bN

  READ 5.5100} F 工,gTHETA{1〕

5100 FORMAT(ZFIO.Ol   RtT}=F(1)一CO5(THFTAC:})

  WRITE(6,6000) F(r),THETA{r),RCr}

6000 FORMAT(IH t4Xf2HF=,E15.T,4H {N)/

  =  }剥離鼎醤1茅1二自H 鰐1!

looe coNTINvE

  STOP

  END

   Fig.8 Program 3.

Fig.9 Data card deck of program 3.

S曾ort

Reod N

i呂1

Reod F【i}

ond THEτAω

i= +1 烈il=Fli}零co訓THETAIi}}

P丙nセF{il,

丁HETAID ond

Rli}

i・N

  ≧ r奮OP

Pig.7 Flow chart of program 3.

 5.2プログラム3の説明

第2行:100個の添字付変数からなる配列F, T肥TA, Rを   宣言するDIMENSION文である。これによって, F,

  THETA, Rと呼ぶ配列名で記憶装置内にそれぞれ100   個つつ記憶場所を確保する。実際に使う記憶場所より   少し大目に確保するのがよい。配列の要素はF(1),

  F(2),…,F(100)などと表わされる。 DIMENSION文   などの宣言文は,実行文より前に書かなければならな   い。

第3行:Nにデータを読み込むためのREAD文である。変   数名の先頭が1,J, K, L, M, Nの変数は,整数型変   数(整変数)であり,これ以外の場合は実数型変数(実   変数)である。従って,Nには整数型のデータを読み   込むことになり,いままで使って来たF,THETA, R   は実変数である。

第4行:データが5桁の整数でパンチされていることを示   すFORMAT文である。整数のデータを読み込む場   合,欄記述子は15とする。これを1変換という。整数   のデータはFig.9のように5桁目にそろえる。

第5行:1を1から1つつ増加してNになるまでN回繰り   返して文番号1000の所まで処理させるためのDO文で   ある。このDO文に書いた1を制御変数といい,整変   数でなければならない。これによって,1=1として   文番号1000の所まで処理し,次に1=2として文番号   1000の所まで処理し,というようにして1=Nまで処   理を反復する。

第6,8,9行:変数に添字が付いている以外はプログラム1

  と同じである。配列宣言した変数は,添字の付いた添

(5)

  野付変数にしなければならない。

第13行:DO文の終りを示すためのCONTINUE文である。

  この文は実行文の一一一mpであるが,何も行なわないで,

  単に文番号をつけるために用いられる。DO文の範囲   の端末文には,CONTINUE文を使うのがよい。

6文

6・1プログラム4

関 数

抗力Rを求める計算に文関数を用いるようにプログ ラム3を修正せよ。文関数名はVREACとする。

を実引数という。

      7関数副プログラム

7.1プmグラム5

抗力Rを求める計算に関数副プログラムを用いるよ うにプログラム3を修正せよ。関数名はプログラム4 と同様にVREACとする。

 プログラム1で説明した組み込み関数や基本外部関数は 種類が限られている。実際に計算を行なう場合,もっと多 種多様な関数が必要なことがしばしばある。ここでは,関 数を作る1つの手続きであり,1つだけの文で定義する文 関数を使用する。

 このプログラムのフローチャートをFig.10に,プログ ラムをFig.11に示す。

123今567890L23蒔56

         1夏ユー111

S†qrf VREAαX,Y}=X鼠cos{Y}

Reqd N

i=1

Reqd F i}qnd THETA{il 1= +1 R i♪題VREAC FIP, THE丁Ali♪}

Prir1量F(i}, THETA{i,αnd Rli}

卜N

@ ≧ r看OP

Fig.10 Flow chart of program 4.

C 畳★曇 5UICHOKU瞬KORYOKU Ne KEIsAN   ら,

  DIMENSION Ft100),THETA(100),RttQO}

  VREACtX,Y)FX−COStY)

  READC5,5000) N 5000 FORMAT(r5)

  DO 1000 1=1,N

  READ{S,5100} FtlATHETA{IJ 5100 FORMATC2FIO.O)

  Rtl)=VREACtFt1},THETAtl))

  wRITEt6,6000) Fcr),THETAcr),R{!)

600e FORMAT(IH ,4X,2HF=,E15.7,4H (NtX   :  1旨.:簸τ窪驚差幾τ轟自H講1}!

1000 CONT!NUE

  STOP

  END

   Fig.11 Program 4[

 6.2プログラム4の説明

第3行:2つの実変数X,Yをもった関数を定義する文関   数定義文である6このX,Yを仮引数という。仮引数   は添字付変数であってはならない。文関数は宣言文よ   り後で,実行文より前になければならない。

第9行:文関数VREACを用いて抗力Rを計算する算術代   入文である。この関数の引数となっているF, THETA

 プログラム4で用いた文関数は,1つの文で定義できる ものに限られている。ところが,ここで用いる関数副プロ グラムは,関数を定義するのにいくつもの文が必要なとき に使用できる。文関数と関数副プログラムの作り方は異な るが,主プログラムでの関数の用い方はどちらも同じであ る。今までのプログラムは,どれも主プログラムだけから なるプログラムであった。このプnグラム5は,主プログ

ラムと関数副プログラムの2つのプログラム単位に分かれ ている。

 このプログラムのフローチャートをFig.12に,プログ ラムをFig.13に示す。

123ら5678.90よ2ヨ456789

         11111ーユー11

$量αr量 VREACIX,Y}.

ReαdN VREAC=X塞co$IY,

i=【

Re†urn

Reσd

Fli】αnd THETA{i}

1= +1 R{il=

VREAC(FIP. THETA il,

Prinf RD, THETAIr}αnd R P.

i=N

@≧

S†OP

Fig.12 Flow chart of program 5.

C 菅膏菅 SU!(HOKU騨KORYOKU NO KEI5AN  〔51

  DIMENSION FCLOO),THETA(IOOhR(100}

  REAbt5,50eQ} N 5000 FORMAT(r5)

  DO 1000 1=1−N

  READ(5,5100) F(1),THETA{1)

5100 FORMATc2FIO.O)

  R(f)=VREAC(F(r)t1 HETA(1))

  WRITEC6,6000) FCT),THETACI},R(r)

60eO FoRMATclH ,4xt2HF=pE15.7t4H {N}1

  # 謂;雛識ξ}1§聯H謂,!

lgoo coNTINuE   S了OP   ENP

  FUNCTION VREAC(X,Y)

  VRE.AC=xXCOsCY}

  RETURN

  ENP 

   Fig.13 Program 5.

 7.2プログラム5の説明

第16行:このプmグラムがX,Yを仮引数とするVREAC

  という名前の関数副プログラムであることを定義する

  FUNCTION文である。 FUNCTIONに続いて,関数

  名,仮引数を書く。

第17行:計算した結果を関数VREACに入れるための算術

一69一

(6)

  代入文である。

第18行:この関数副プログラムを使おうとした主プログラ   ムの所に戻ることを示すためのRETURN文である。

第19行:副プログラムの終りを示すEND行である。主プ   ログラムから独立させる役割をもっており,副プログ   ラムのそれぞれの終りにも必ず書かなければならな   い。

8 サブルーチン副プログラム 8・1プログラム6

 プ戸グラム3を,.読み込み,計算および印刷の3つ に分けて,それぞれを副プログラムにして,主プログ ラムでこれらを次々と呼んで実行させるプログラムに 修正せよ。3つの副プログラム名を,それぞれYOMU,

KEISANおよびINSATUとする。

Sfart

YOMU KEISAN

KEISAN

i=1

1NSATU

   sui)=F{O t cos(THETA(i))

.固刊

Stop

YOMU

Read N

く i;N

  z

Return 

i=1

1NSATU

i=1

 このプuグラムは,4つのプログラム単位から成ってお り,1つのプログラム単位の終りには必ず1つのEND行 が必要である。普通,副プログラムYOMUの申で使用さ れている変数Fと他の副プログラム,たとえばK:EISAN,

の中で使用されている変数Fとは全く別の記憶場所に割り 当てられる。このプログラムでは,全てのプログラムで同 じ変数は同じ記憶場所に割り当てるため,COMMON宣言 文を用いる。

 このプログラムのフm一チャートをFig.14.に,プログ ラムをFig.15に示す。

 8.2プログラム6の説明

第2,3,4行:副プログラムの実行を開始させるためのCALL   文である。CALLに続いて副プログラム名を書く。

第7行:以下に続くプログラムがYOMUという名前のサ   ブルーチン副プログラムであるごとを定義する

  SUBROUTINE文である。

  第8行:各プログラム単位から参照できるF,THETA,

    R,Nの共通な記憶場所を確保することを宣言する     COMMON文である。宣言文なので,実行文より     前に書く。異なったプログラム単位に変数名の同     じものが現われていても,それらは一般にプログ     ラム単位が異なれば,互いに無関係のものであ     る。たとえば,副プログラム.KEISANの中の変数     Rと副プログラムINSATUの申の変数Rとは,一般     に違う記憶場所を意味する。.しかし,COMMON

   Reod F(i) and THETACi)

      ;t=i+I

i冨i+1

1234567890123らう67巳901Z34567δ9nL23        1111111且L!22222222223333

Return

Fig.14

      Return Flow chart of program 6.

C ttN SUrCHOKU一:KORYOKU NO KE1SAN t6)

   CALL YOMU    CALL KEIsAN    CALL INSATU    STOP    END

   sUBROU丁INE YO卜4U

   COMMON F{100),THETAclOO),RCIOO),N    READC5,SOOO} N .

snoo FORMAT(15)

   r)o looo 1=1,N

   READCS,5100} FCI),THETA(1)

510n FORMAT(2FIO.n)

1000 CONTINUE    RETURN    END

   sURROUTINE KEISAN

   CDMMON FtlOO),THETA{10P),R{100),N    DO IOOO 1=1,N

   R !}詔F .!,砦⊂OS【↑HE了A ll)

1000 CONTINUE    RETURN    ENO

   SUSROUTINE INSATU

   COMMON FCIOe),THETACiOO),R(:OO},N    DP LOOO 1=1,N

   NRTTE(6,6000) F(r),THETA(1),.R(:)

6000 FORMATCrH tgX,2HF=,E15.7t4H CN)1   一 IH t6HTHETA=,E15.7,6H CRAD)/

  sc IH f4X,2HRF,E15.7t4H CN)!)

1000 CONTINUE    RETURN    END

   Figユ5 Program 6..

print F(il, THETA{i}。nd R{i}   宣言をしたプログラム単位相互の間では,共通の   くi、N         記憶場所を使って数値を受け渡すことができる。

       このプログラムでは,3つの副プログラムYOMU,

       KEISAN, INSATUに同じCOMMON文があるの        で,変数F,THETA, R, Nは同じ記憶場所を意味        .する。

       第17,24行:以下に続くプログラムがKEISAN, INSATU        という名前のサーブルーチン副プログラムであること        を定義するSUBROUTINE文である。

9 適 用  .例

 2年生でFORTRAN入門をすでに終了している本校機

械工学科3年生に対して,1回3時間の実習を3回行なっ

た。1回目実習人数は5〜6人で,処理は5台の端末があ

るNEAC3200/50のタイムシェアリングシステム(以下TSS

と略す)で行なった。.・およそ半数の学生は,2年次に数回

演習しており,残りは全然演習をしていない。高校物理を

題材にした約80題の問題を作成し,各人に事前に1.問つつ

渡した。これらは,第2節に述べt問題とほぼ同じ程度の

問題である。1回の実習で2つのプログラムを完成させる

ことを目標にして,プログラムは実習前に作成して来るよ

(7)

うに指導した。しかし,この指導を半数以上の学生は守ら なかった。実習の最初の30分〜1時間,前節までに述べた プログラムを2つづつ説明した。ただし,入出力機器は TSSの端末なのでタ・fプライタになり, READ文および WRITE文の機番がいずれも1となるため,この部分は変 えて説明した。

 このような方法でFORTRAN語を一通り修得させると いうことを目標にして実習を行なった結果をTable 1,2に 示す。Table 1のように過半数以上の者がプログラム6ま で完成させることができた。それぞれのプログラムの平均 完成処理件数は,Table 2のように2〜3件とかなり少な

く,全体では約2.4件であった。これらは,今までに実習 の終了した31人の学生についてまとめたものである。

Table 1. Distribution of the number of processed     programs.

かった。このような悪い条件にもかかわらず,Tabl 1,2の ような結果が得られたことは,ここに提案した方法が短期 間に一通りの文法を理解する一つの方法であることを裏付

けていると言える。

No. of

programs

1 2 3 4 5 6

Tota1

10結

No. oi students  ln process

No. of students in completion

1 3  1 1 3 22

3  2  0  1  3 22 31

 次のような特徴を持つここに提案した方法によって,初 歩の学習者に短期間にFORTRANプログラミングの技術 を獲得させることが可能である。

(1洞じ問題についてプログラムを修正して作成するので,

前のプログラムと比較することにより,新しく加わったス テートメントの役割などが理解されやすい。

{2)特に理解しにくいFORMAT文については,欄記述子を できるだけ標準化することによって,あいまいな点が少な いので理解されやすい。

(3汰きなプロラグムを作成する際に不可欠なフローチャー トを簡単なプmグラムにおいて理解できるようにした。

31

Table 2. The average number of jobs to be necessary     for completing each progra;n.

Program number 11 2 3 4 s 6 IWhole

 終りに,本報告を通読して戴き有益な御教示を戴いた本 校岸本俊祐先生,常日頃からいろいろと御指導戴いている 本校中原寿喜太先生,また,実習の雑事をうまく処理して 戴いた赤堀登美子氏の方々に深く感謝致します。

Average number

  of jobs

2.8 2.5 2.8 2.1 1.7 2.3

2.4

 (1)約半数が演習を1度もしていない学生である。(2)半数 以上の学生は,実習時間内にプログラムを作成し,処理し た。(3臆とんどの学生が,副プログラムを用いたことがな

参 考 文 献

1)松本欣二;フォートランプログラミング,(1972),朝 倉書店.

2)森口繁一,小林光夫;FORTRAN入門,(1970),共

立出版.

3)中村正一,大西正和;実用フォー一一トラン,(1970),日 刊工業.

一71一

参照

関連したドキュメント

そればかりか,チューリング機械の能力を超える現実的な計算の仕組は,今日に至るま

実際, クラス C の多様体については, ここでは 詳細には述べないが, 代数 reduction をはじめ類似のいくつかの方法を 組み合わせてその構造を組織的に研究することができる

※ 硬化時 間につ いては 使用材 料によ って異 なるの で使用 材料の 特性を 十分熟 知する こと

用 語 本要綱において用いる用語の意味は、次のとおりとする。 (1)レーザー(LASER:Light Amplification by Stimulated Emission of Radiation)

Windows Hell は、指紋または顔認証を使って Windows 10 デバイスにアクセスできる、よ

■使い方 以下の5つのパターンから、自施設で届け出る症例に適したものについて、電子届 出票作成の参考にしてください。

つまり、p 型の語が p 型の語を修飾するという関係になっている。しかし、p 型の語同士の Merge

既に使用している無線機のチャンネルとユーザーコードを探知して DJ-DPS70 に同じ設定をす る機能で、キー操作による設定を省略できます。子機(設定される側)が