<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    superwei

    導(dǎo)航

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    統(tǒng)計

    常用鏈接

    留言簿(4)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    COBOL語法和文法(1)

    ?REDEFINES
    ??? 可以用不同的變量描述同一內(nèi)存。
    ??? 01 PART_RECODE USAGE DISPLAY
    ????? 03 PART-TYPE PICTURE...
    ????? 03 PART_TYPE_A.
    ??????? 05 PART_NUMBER PICTURE...
    ??????? 05 PART_COST PICTURE...
    ????? 03 PART_TYPE_B REDEFINES PART_TYPE_A.
    ??????? 05 UPC_CODE PICTURE...
    ????? 03 PART_TYPE_C REDEFINES PART_TYPE_A.
    ??????? 05 ISBN PICTURE...
    ??? 根據(jù)PART_TYPE決定用PART_TYPE_A還是PART_TYPE_B還是PART_TYPE_C。
    ??? 規(guī)則:
    ??????? PART_TYPE_B和PART_TYPE_C長度不能大于PART_TYPE_A。
    ??????? 數(shù)據(jù)項不能有VALUE。
    ??????? 01層不能用REDEFINES.
    ??????? PART_TYPE_B和PART_TYPE_C中不能有OCCURS.

    PICTURE
    ??? 定義基本項目的具體長度,格式,數(shù)據(jù)類型。可以簡寫成PIC.
    ??? 格式字符串最多30個字符,可以包含下列字符:
    ??? A? 字母A-Z,a-z,空格
    ??? B? 插入空格
    ??? P? 標(biāo)量字符,代表字段中不顯示的小數(shù)點位置
    ??? S? 代數(shù)符號,實際顯示取決于項目的USAGE
    ??? V? 小數(shù)點位置
    ??? X? 任何字符
    ??? Z? 抑制前頭的0并轉(zhuǎn)換成空字符
    ??? 0? 插入0
    ??? 9? 數(shù)字0~9
    ??? /? 插入/
    ??? ,? 插入,(逗號不能作為字符串的最后一位,最后時逗號是分隔符)
    ??? 。 插入。
    ??? *? 抑制前頭的0并轉(zhuǎn)換成*
    ??? +? 正值插入+,負(fù)值插入-
    ??? -? 正值插入空格,負(fù)值插入-
    ??? $? 插入美元號
    ??? CR 正值插入兩個空格,負(fù)值插入CR
    ??? DB 正值插入兩個空格,負(fù)值插入DB
    例子:
    ??? 03 VAR PIC AAAAA.??? STATE變量長度為5個字符,不能有數(shù)字,等價于03 STATE PIC A(5)。
    ???輸入ASDFG ,顯示ASDFG
    ??? 03 VAR PIC XXXXX.?? FILLER變量長度為5個任意字符。等價于03 FILLER PIC X(5)。
    ???輸入123AS , 顯示123AS
    ??? 03 VAR PIC 99/XXX/9999 長度11,輸入05may2004,顯示05/may/2004
    ??? 03 VAR PIC 0ABXXX/9999 長度11,輸入05may2004,顯示05 may/2004
    ??? 03 VAR PIC 9(3) 長度3,0~999之間。
    ??? 03 VAR PIC 9(4)V99 長度6,0.00~9999.99之間。
    ??? 03 VAR PIC S9(5)V99 長度7,-99999.99~99999.99之間。
    ??? 03 VAR PIC 9(6)PPP 長度6,可以是1000,2000,...,999999000。輸入1234,顯示1000。
    ??? 03 VAR PIC PPP999 長度3,0.000001~0.000999之間。輸入123,顯示0.000123。
    ??? 03 VAR PIC ZZZ.99,輸入100.50,顯示100.50;輸入-51.50,顯示51.50;
    ??????????? 輸入0,顯示.00.
    ??? 03 VAR PIC $ZZZ.ZZ-,輸入100.50,顯示$100.50;輸入-51.50,顯示$51.50-;
    ??????????? 輸入0,顯示
    ??? 03 VAR PIC $***,***.99CR,輸入1000,顯示$**1000.00;輸入-1000,顯示$**1000.00CR;
    ??????????? 輸入0,顯示$***,***.00;輸入51.5,顯示$***,*51.50
    ??? 03 VAR PIC $$$,$$$.99,輸入100.50,顯示$100.50;輸入-100.50,顯示$100.50;
    ??????????? 輸入0.777,顯示$.77;輸入0,顯示$.00
    ??? 03 VAR PIC $.$$$,輸入1.00,顯示$.00;輸入0.65,顯示$.65;
    ??????????? 輸入0,顯示$.00;
    ??? 03 VAR PIC $--,輸入17.7,顯示$17;輸入-17.7,顯示$-17;
    ??????????? 輸入-5,顯示$-5
    ??? 03 VAR PIC $999.99+,輸入100.50,顯示$100.50+;輸入-100.50,顯示$100.50-;
    ??? 03 VAR PIC 9(3)B9(3),輸入55,顯示000 055;輸入1000.78,顯示001 000;

    USAGE 表示基本或組數(shù)據(jù)的類型。有BINARY,COMPUTATIONAL(COMP),DISPLAY,INDEX,PACKED-DECIMAL.

    JUSTIFIED
    ??? 03 VAR1 PIC X(5) JUSTIFIED RIGHT.
    ??? 03 VAR2 PIC X(5).
    ??? 輸入XYZ,VAR1顯示的是"? XYZ",VAR2顯示的是"XYZ? "。

    BLANK WHEN ZERO
    ??? 03 VAR PIC $999,999.99 BLANK WHEN ZERO .
    ??? 當(dāng)字段值為0,這個項目設(shè)置為全部空格。

    VALUE
    ??? 定義的時候就賦值。
    ??? 03 VAR PIC X(5) VALUE "ABCDE".
    ??? 01 VAR VALUE ALL SPACES.
    ????? 03 VAR1 PIC XXX.
    ????? 03 VAR2 PIC XX.

    算術(shù)語句
    ??? COBOL中操作符執(zhí)行順序為:取正(+)、取負(fù)(-)最高級,指數(shù)操作(**)其次,乘(*)、除(/)再其次,加(+)、減(-)最后。
    ROUNDED?? 舍入操作。
    ??? 77 A PIC 9V9 VALUE 9.1.
    ??? 77 B PIC 9.
    ????? ADD 0.5 TO A GIVING B ON SIZE ERROR GO TO PROC1.
    ????? ADD 0.5 TO A GIVING B ROUNDED ON SIZE ERROR GO TO PROC2.
    ????? END-ADD.
    ON SIZE ERROR 是當(dāng)語句出現(xiàn)錯誤時執(zhí)行的。本例中第一句話執(zhí)行沒有錯誤,所以O(shè)N SIZE ERROR
    不執(zhí)行PROC1.第二句話,當(dāng)0.5加上9.1得到9.6,因為有ROUNDED,所以執(zhí)行舍入操作,得到10。而B只有1位數(shù)字,所以發(fā)生錯誤,執(zhí)行ON SIZE ERROR操作,跳轉(zhuǎn)執(zhí)行PROC2。?
    CORRESPONDING(CORR)??? 數(shù)據(jù)項同名時編寫多條語句。ADD和SUBSTRACT有此選項。
    ??? 01 A .
    ????? 03 B.
    ??????? 05 B1 PIC 999V99.
    ??????? 05 B1 PIC 999V99.
    ??????? 05 B1 PIC 999V99.
    ????? 03 C.
    ??????? 05 B1 PIC 999V99.
    ??????? 05 B1 PIC 999V99.
    ??????? 05 B1 PIC 999V99.
    則語句ADD CORR B TO C.相當(dāng)于執(zhí)行了下面3條語句。
    ??? ADD B1 OF B TO B1 OF C.
    ??? ADD B2 OF B TO B2 OF C.
    ??? ADD B3 OF B TO B3 OF C.
    組項目不一定要格式相同。一個組項目中的內(nèi)容在另一個組項目中可以沒有,數(shù)據(jù)項順序也無關(guān)緊要。只是嚴(yán)格按照數(shù)據(jù)項名稱對應(yīng)。
    ??? ADD A,B GIVING C. END-ADD.????????????? 將A,B相加放入C。
    ??? SUBTRACT A,B FROM C。END-SUBTRACT.????? 從C中減去A,B.
    ??? MULTIPLY A BY B GIVING C. END-MULTIPLY. 將A,B相乘放入C。
    ??? DIVIDE A INTO B GIVING C. END-DIVIDE.?? 將B除于A的結(jié)果放入C.
    ??? DIVIDE A BY B GIVING C. END-DIVIDE.???? 將A除于B的結(jié)果放入C.
    ??? DIVIDE A BY B GIVING C REMAINDER D.???? 將A除于B的商放入C,余數(shù)放入D.
    ??? D=A-B*C.
    ??? 77 C PIC S99V9.
    ??? 77 D PIC S99V9.
    ??? DIVIDE 3 INTO 7 GIVING C REMAINDER D.
    ??? C的值為2.3,D為0.1。(D=7-3*2.3)

    COMPUTE
    ??? 除了取余操作要用DIVIDE外,其他操作都可以用此語句。本語句求值一個算術(shù)表達(dá)式,并將結(jié)果存放在一個或幾個變量中。
    COMPUTE? A ROUNDED,B? = X*Y/(N+M)+Z. 將X*Y/(N+M)+Z的結(jié)果存放在B中,然后舍入后放入A中。

    MOVE
    ??? MOVE A TO B.
    ??? 也可以用CORR選項。
    ??? MOVE CORR A TO B.

    posted on 2005-10-31 11:01 小辭猬 閱讀(1005) 評論(0)  編輯  收藏 所屬分類: COBOL


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲a∨无码一区二区| 波多野结衣免费在线观看| 免费观看国产小粉嫩喷水| 亚洲综合无码一区二区痴汉| 一级女人18毛片免费| 亚洲国产a级视频| 亚洲中文无码a∨在线观看| 57pao国产成视频免费播放| 亚洲精品亚洲人成在线麻豆| 一级免费黄色大片| 国产偷国产偷亚洲高清日韩| 亚洲精品无码一区二区| 日本一区二区三区日本免费| 91嫩草亚洲精品| 免费人成视频在线| 久久久久亚洲精品无码网址色欲| 国产免费人成视频在线观看| 一级中文字幕乱码免费| 午夜影视日本亚洲欧洲精品一区| 91免费国产在线观看| 亚洲AV无码专区在线观看成人 | 中文在线免费视频| 亚洲人成网7777777国产 | 永久免费看mv网站入口| 一区二区三区免费在线视频 | 亚洲三级在线视频| 国产中文字幕免费| 毛片免费在线观看| 国产亚洲精品线观看动态图| 97人妻精品全国免费视频 | 视频一区在线免费观看| 性感美女视频在线观看免费精品 | 无码av免费一区二区三区试看| 亚洲午夜无码AV毛片久久| 国产精品亚洲а∨无码播放麻豆 | 9久9久女女免费精品视频在线观看| 亚洲韩国在线一卡二卡| 成年女人看片免费视频播放器| 国产免费久久精品99久久| 久久久青草青青亚洲国产免观| 91成人免费观看在线观看|