7.4 中途半端なウインドウ

ウインドウの最小値・最大値は必ずしも切りのよい値でなくても大丈夫です. UXYZ4 のプログラム例では, x軸については-50から50の範囲で, y軸については1000から0.4の範囲でウインドウを設定しています. このと き, UXAXDV はきざみ値の整数倍となるところに目盛とラベルを描きま す. また, ULYLOG は10nから10n+1を1サイクルとして目盛とラ ベルを描きます. このように, 目盛やラベルは切りのよいサイクルを単位とし て作画がおこなわれます. さらに, 好みの間隔で目盛をうち, 好みのところに ラベルを描きたい場合は, 次章を見て下さい.

なお, この例では, ULYLOG を用いて対数座標軸を描画する際に, ULISET ルーチンで整数型内部変数 'IYTYPE' を3に変更してラベルの 書式を変えました. 対数軸に付けるラベルの書式は全部で4種類用意されてい ます.

      PROGRAM UXYZ4

      WRITE(*,*) ' WORKSTATION ID (I) ? ;'
      CALL SGPWSN
      READ (*,*) IWS

      CALL GROPN( IWS )
      CALL GRFRM

      CALL GRSWND( -50., 50., 1.E3, 0.4 )
      CALL GRSVPT(  0.2, 0.8,  0.2, 0.8 )
      CALL GRSTRN( 2 )
      CALL GRSTRF

      CALL UXAXDV( 'B', 5., 20. )
      CALL UXAXDV( 'T', 5., 20. )
      CALL UXSTTL( 'B', 'LATITUDE (deg)', 0. )

      CALL ULISET( 'IYTYPE', 3 )
      CALL ULYLOG( 'L', 3, 9 )
      CALL ULYLOG( 'R', 3, 9 )
      CALL UYSTTL( 'L', 'PRESSURE (hPa)', 0. )

      CALL UXMTTL( 'T', 'UXAXDV/ULYLOG', 0. )

      CALL GRCLS

      END
PROGRAM UXYZ4

\resizebox{10cm}{!}{\includegraphics{uxyz1/uxyz4.eps}}
uxyz4.f: frame1
 

計算機のなまり 3

文字の内部表現

文字の内部表現も実数表現と同様に機種に依存しています.DCL の CHGLIB と CHKLIB のサブパッケージは,機種依存する文字処理を規格化するためのものです.

FORTRAN では以下の FORTRAN 文字集合が定められており,プログラムは,注釈行や文字型データの中は例外として,これらの文字だけで書かなければなりません.

                                           
  英字:       ABCDEFGHIJKLMNOPQRSTUVWXYZ   
                                           
  数字:       0123456789                   
                                           
  特殊文字:   空白 !'()                    
              *+,-./:=! 通貨記号           
                                           

したがって,小文字で FORTRAN プログラムを書くのは厳密に言えば文法違反になります.

これらのFORTRAN文字を含めて,文字の内部表現方法はFORTRANの規格では特に規定されていません.文字の内部表現方法は実数の場合と同様に,IBM規格であるEBCDICと,アメリカの標準規格であるASCIIとに大別されます.

EBCDIC は,IBM によって定められた拡張2進化10進情報交換用コード (Extended Binary Coded Decimal Interchange Code)です. 富士通,日立などのいわゆる IBM 互換の汎用機でも採用されていますが,各社で微妙に定義が異なります.富士通のコードには,IBM規格以外の制御コードも定義されており,日立のEBCDIK(最後のKはカナ)ではアルファベットの小文字のコードが異なります.

ASCIIコードはアメリカ規格協会(ANSI)で規定された文字コード体系です. UNIX, MS-DOS などで採用されている文字コードです.日本では,ほぼ同じものがJIS X0201として規定されています. ASCII コードは7ビットで,最上位桁は0ですが,JISには8ビット全部使ってカタカナまで規定した8単位符号表があります.

詳細は,MISC1 のマニュアル(dcl-x.x/doc/misc1/gaiyou/char.tex)を御覧下さい.