このページは、FORTRANプログラム理解支援システム「Okikaze」を使ってつくられています。

dummymain_main

表示のリセット

ソースをブロック化して表示 ←おすすめ機能
コメントアウトを淡くする / 消す
コメントアウトを強調する / だけを表示する
検索する
検索する
検索する

0000 * dummymain.f 0
0001 * Src code start
0002 c このメインプログラムは、サブルーチン群 Chara.f の理解支援を目的とした
0003 c メインプログラムです。
0004 c
0005 c このメインプログラムは正しく動きますが、あまり意味はありません。
0006
0007       character*20 fname1, fname2
0008       character*10 ia,ra
0009       character*100 fname
0010       character*100 text
0011       integer lg1,lg2
0012       real r
0013       integer i, i2
0014       data fname1/'file'/,fname2/'.txt'/
0015       
0016       call ALGGN(fname1,lg1) ! 文字型変数に記憶されているバイト数を出力
0017       call ALGSRP(fname2,lg2) ! 文字型変数に記憶されているバイト数を出力(大サイズ変数用)
0018       do 100 i=1,5
0019 *
0020         call ITOAGN(i,ia,ilg) ! 整数型データを文字型アラビア数字列に変換 (例: 123 → '123')
0021         fname = ' '
0022         fname(1 :lg1 )=fname1(1:lg1)
0023         fname(lg1+1 :lg1+3 )='000'
0024         fname(lg1+3-ilg+1 :lg1+3 )=ia(1:ilg)
0025         fname(lg1+3+1 :lg1+3+lg2)=fname2(1:lg2)
0026         open( 20 , file=fname(1:lg1+3+lg2) )
0027         text = 'Hello, world!'
0028         call WRFILE(20,text) ! ファイルへの書き込み
0029         close(20,status='keep')
0030 *
0031         call ATOIGN(ia, i2) ! 文字型アラビア数字列を整数型データに変換 (例: '123' → 123)
0032         ra = '1.'//ia(1:ilg)
0033         call ATORGN(ra, r) ! 文字型アラビア数字列を実数型データに変換 (例: '1.23' → 1.23)
0034         write(*,*) i2, r
0035 *
0036  100 continue
0037       stop
0038       end
0039


● 構造
 ○ 正展開
dummymain_main !
 ┣ ALGGN ! 文字型変数に記憶されているバイト数を出力
 ┣ ALGSRP ! 文字型変数に記憶されているバイト数を出力(大サイズ変数用)
 ┣ ITOAGN ! 整数型データを文字型アラビア数字列に変換 (例: 123 → '123')
 ┃ ┗ T1LPAS ! プログラムの一時停止
 ┣ WRFILE ! ファイルへの書き込み
 ┃ ┣ ALGGN ! 文字型変数に記憶されているバイト数を出力
 ┃ ┗ ALGSRP ! 文字型変数に記憶されているバイト数を出力(大サイズ変数用)
 ┣ ATOIGN ! 文字型アラビア数字列を整数型データに変換 (例: '123' → 123)
 ┃ ┗ ATORGN ! 文字型アラビア数字列を実数型データに変換 (例: '1.23' → 1.23)
 ┗ ATORGN ! 文字型アラビア数字列を実数型データに変換 (例: '1.23' → 1.23)

 ○ 逆展開
(1) dummymain_main !



● 変数(個別)
 ○ Input

 ○ Input & Output

 ○ Output

● 変数(子を含む)
 ○ Input

 ○ Input & Output

 ○ Output




以下は、人間用のデータではありません。


* dummymain.f  0
* Src code start
c このメインプログラムは、サブルーチン群 Chara.f の理解支援を目的とした
c メインプログラムです。
c
c このメインプログラムは正しく動きますが、あまり意味はありません。

character*20 fname1, fname2
character*10 ia,ra
character*100 fname
character*100 text
integer lg1,lg2
real r
integer i, i2
data fname1/'file'/,fname2/'.txt'/

call ALGGN(fname1,lg1) ! 文字型変数に記憶されているバイト数を出力
call ALGSRP(fname2,lg2) ! 文字型変数に記憶されているバイト数を出力(大サイズ変数用)
do 100 i=1,5
*
call ITOAGN(i,ia,ilg) ! 整数型データを文字型アラビア数字列に変換 (例: 123 → '123')
fname = ' '
fname(1 :lg1 )=fname1(1:lg1)
fname(lg1+1 :lg1+3 )='000'
fname(lg1+3-ilg+1 :lg1+3 )=ia(1:ilg)
fname(lg1+3+1 :lg1+3+lg2)=fname2(1:lg2)
open( 20 , file=fname(1:lg1+3+lg2) )
text = 'Hello, world!'
call WRFILE(20,text) ! ファイルへの書き込み
close(20,status='keep')
*
call ATOIGN(ia, i2) ! 文字型アラビア数字列を整数型データに変換 (例: '123' → 123)
ra = '1.'//ia(1:ilg)
call ATORGN(ra, r) ! 文字型アラビア数字列を実数型データに変換 (例: '1.23' → 1.23)
write(*,*) i2, r
*
100 continue
stop
end

© TAKAGI-1