Google
オフコン練習帳内を検索
インターネット全体を検索

NECオフコン関連
オフコン一般
情報
トップ  >  2種類の画面入出力

2種類の画面入出力

下の2つのプログラムを見てください。
両方とも、DISPLAY命令で画面に「HELLO A-VX WORLD」と表示して、ACCEPT命令で入力待ちになるプログラムです。
何か1文字入力するとプログラムが終了します。

(1)サンプルプログラム5

000010 IDENTIFICATION  DIVISION.                                
000020 PROGRAM-ID.     SAM005.                                  
000030 ENVIRONMENT     DIVISION.                                
000040 DATA            DIVISION.                                
000050 WORKING-STORAGE SECTION.                                 
000060 01  DSP-OUT     PIC X(16) VALUE "HELLO A-VX WORLD".      
000070 01  ACP-IN      PIC X(01).                               
000080 PROCEDURE       DIVISION.                                
000090 MPRG.                                                    
000100     DISPLAY   DSP-OUT                                    
000110     ACCEPT    ACP-IN.                                    

(2)サンプルプログラム6

000010 IDENTIFICATION  DIVISION.                                
000020 PROGRAM-ID.     SAM006.                                  
000030 ENVIRONMENT     DIVISION.                                
000040 DATA            DIVISION.                                
000050 WORKING-STORAGE SECTION.                                 
000060 01  DSP-WK      PIC X(16) VALUE "HELLO A-VX WORLD".      
000070 01  ACP-WK      PIC X(01).                               
000080 SCREEN          SECTION.                                 
000090 SD  GAMEN      END STATUS IS ENDSTS.                     
000100 01  DSP-OUT.                                             
000110     05  LINE 23 PIC X(16) USING DSP-WK.                  
000120 01  ACP-IN.                                              
000130     05  LINE 24 PIC X(01) USING ACP-WK.                  
000140 PROCEDURE       DIVISION.                                
000150 MPRG.                                                    
000160     DISPLAY   DSP-OUT                                    
000170     ACCEPT    ACP-IN.                                    

小入力命令/表示命令の説明

(1)も(2)も画面の入出力にDISPLAYとACCEPTを使っていますが、(1)のDISPLAY/ACCEPT命令と(2)のDISPLAY/ACCEPT命令は違う命令です。

(1)の方のDISPLAY命令は「表示命令」、ACCEPT命令は「小入力命令」です。 説明書から概要を下に抜き出します。

機能

ACCEPT(小入力)命令は,少量のデータを指定されたデータ項目へ格納する。

一般形式
書き方1
ACCEPT 一意名-1 [FROM 呼び名-1]

構文規則

書き方1では,呼び名-1は,環境部の特殊名段落でハードウェア装置(CONSOLE)に対応付けておかなければならない。
ACCEPT命令は,一意名-1のデータ項目の内容を,ハードウェア装置から読み込んだデータで置き換える。
FROM呼び名句が指定されていてもいなくても,操作卓からデータが入力される。


機能

DISPLAY(表示)命令は,少量のデータをハードウェア装置に表示する。

一般形式
DISPLAY {一意名-1 | 定数-1}・・・[UPON 呼び名-1] [WITH NO ADVANCING]

構文規則

呼び名−1は、環境部の特殊名段落でハードウェア装置(CONSOLE,またはGDD)に対応付けておかなければならない。


いろいろな装置に対してDISPLAYやACCEPTができるのが一般的なようですが、A−VXのCOBOL85の場合は、実質CONSOLE(端末装置の画面のことね)だけです。

画面制御機能のデータ表示命令とデータ受け取り命令

(2)のプログラムの方のDISPLAY命令とACCEPT命令は、「画面制御機能」の「データ表示命令」と「データの受け取り命令」となります。
DISPLAY/ACCEPT命令で指しているデータ項目が画面節(SCREEN SECTION)上のものになっています。

機能

ACCEPT(データの受け取り)命令は,指定された領域にディスプレイステーションよりデータを入力する。

一般形式
ACCEPT 一意名-1 [{ BEFORE | AFTER } ROLlING 〜後略〜

構文規則

一意名-1は画面節の画面データ記述項の名前でなければならない。
ACCEPT命令はディスプレイステーションからデータを一意名-1で定義された入力領域に入力し,その値をINTO句またはUSING句で指定された一意名-1に転記する。入力領域から一意名への転記に際しては通常の転記の規則に従う。


機能

DISPLAY(データの表示)命令は,画面上に指定した項目を表示する。

一般形式
DISPLAY {一意名-1}・・・ 〜後略〜

構文規則
一意名−1は画面節の画面データ記述項の名前でなければならない。


2種類のDISPLAY命令やACCEPT命令を1つのプログラム中で混在して書くのは良くないようです。
COBOL言語説明書中に、以下のような注意事項が書いてあります。

画面制御機能のACCEPT命令と小入力命令の書き方1のACCEPT命令を混在して使用した場合には、結果はどうなるかわからない。 画面制御機能のDISPLAY命令と表示命令のDISPLAY命令を混在して使用した場合、結果はどうなるかわからない。


おまけ

何となく作ってみたA−VXのCOBOL85で一番短い(と思う)HELLO WORLDのプログラム。
DISPLAYもACCEPTも使っていないし、特殊すぎますね。
実はDISPLAY命令を使わなくても画面に文字を表示することができます。

000010 IDENTIFICATION DIVISION.                                
000020 PROGRAM-ID. SAM007.                                     
000030 PROCEDURE DIVISION.                                     
000040 MPRG.   STOP    "HELLO A-VX WORLD".