ACCEPT
从键盘或其他输入讑֤‡è¯Õd–æ•°æ®ã€?BR> ACCEPT A FROM DEV. 从DEVè¯Õd–æ•°æ®åˆ°AåQŒä¹Ÿå¯ä»¥çœç•¥FROM DEVåQŒè¡¨½CÞZ»Žé”®ç›˜è¯Õd–ã€?BR> ACCEPT A FROM DATE/DAY/DAY-OF-WEEK/TIME.è¯Õd–日期åQŒè¡¨½CÞZØ“6个嗽W¦ï¼Œå¦?90909åQ?999òq?æœ?日)ã€?BR> è¯Õd–当剿—¥æœŸåœ¨å¹´åº¦ï¼ˆå‰?ä½ï¼‰ä¸äØ“½W¬å‡ 天(å?ä½ï¼‰åQŒè¡¨½CÞZØ“6个嗽W¦ï¼Œå¦?994òq?æœ?日表½CÞZØ“94091ã€?BR> è¯Õd–当剿˜ŸæœŸå‡ ,表示ä¸?ä½å—½W¦ã€?表示星期一åQ?表示星期日ã€?BR> è¯Õd–当剿—‰™—´åQŒè¡¨½CÞZØ“8ä½å—½W¦ã€‚ç²¾¼‹®åˆ°æ¯«ç§’。如下åˆ2åQ?1表示ä¸?4410000ã€?/P>
DISPLAY
ž®†æ•°æ®å†™å…¥è¾“凸™®¾å¤‡ã€‚如监视器(moniteåQ‰ï¼Œ¾pÈ»Ÿè¾“出‹¹å’Œæ“作员控制å°åQˆconsoleåQ‰ã€?BR> DISPLAY AAAAA BBBBB [UPON DEV] [WITH NO ADVANCING]
如果使用UPON选项åQŒdevè¦ä¸Žspecial-namesŒDµä¸çš„硬件å相关è”ã€?BR> 如果使用no advancing选项åQŒåˆ™è¾“出最åŽä¸€ä¸ªå—½W¦åŽè¾“出讑֤‡ä»ç„¶ä¿æŒåŽŸä½åQŒä‹É下一æ¡displayè¯å¥˜q˜åœ¨è¯¥ä½¾|®æ˜¾½Cºã€‚å¦åˆ™å¯èƒ½åˆ°ä¸‹ä¸€è¡Œæ˜¾½Cºã€?/P>
INITIALIZE
åˆå§‹åŒ–æ•°æ®ï¼Œæ•°å—和数å—编辑数æ®é¡¹åˆå§‹åŒ–䨓0åQŒå…¶ä»–åˆå§‹åŒ–ä¸ºç©ºæ ¹{€?/P>
INSPECT TALLYING
计算™å¹ç›®ä¸è¯¥å—符串出现的‹Æ¡æ•°ã€?BR> INSPECT AA TALLYING BB FOR ALL “EEâ€? 从AA䏿Ÿ¥æ‰¾æœ‰å¤šå°‘个EEåQŒå°†ä¸ªæ•°å†™å…¥BBã€?BR> INSPECT AA TALLYING BB FOR CHARACTERS BEFORE “Eâ€? 从AA䏿Ÿ¥æ‰¾Eå‰é¢æœ‰å¤šž®‘个å—符åQŒå°†ä¸ªæ•°å†™å…¥BBã€?BR> INSPECT AA TALLYING BB FOR CHARACTERS AFTER “Câ€?BEFORE “Eâ€? 从AA䏿Ÿ¥æ‰¾CåŽé¢Eå‰é¢æœ‰å¤šž®‘个å—符åQŒå°†ä¸ªæ•°å†™å…¥BBã€?BR> INSPECT AA TALLYING BB FOR LEADING “Eâ€? 从AAä¸ç¬¬ä¸€ä¸ªå—½W¦å¼€å§‹æŸ¥æ‰¾æœ‰å¤šå°‘个EåQŒå¦‚果没有就¾l“æŸæ“作åQŒæœ‰ž®±å°†ä¸ªæ•°å†™å…¥BBåQŒç›´è‡Ïx²¡æœ‰ã€?BR> INSPECT AA TALLYING BB FOR LEADING “Eâ€?AFTER “Câ€? 从AAä¸CåŽé¢å¼€å§‹æŸ¥æ‰¾æœ‰å¤šå°‘个EåQŒå¦‚果没有就¾l“æŸæ“作åQŒæœ‰ž®±å°†ä¸ªæ•°å†™å…¥BBåQŒç›´è‡Ïx²¡æœ‰ã€?BR>¾l„åˆä¾‹ååQ?BR> 77 CS PIC X(9) VALUE "REELWHEEL".
77 COUNT-0.
77 COUNT-1.
77 COUNT-2.
MOVE 0 TO COUNT-0,COUNT-1,COUNT-2.
INSPECT CS TALLYING
COUNT-0 FOR ALL "E",
COUNT-1 FOR LEADING "W" AFTER "L",
COUNT-2 FOR CHARACTERS.
½E‹åºé¦–先判æ–的是å—符"R",执行COUNT-0 FOR ALL "E"åQŒå› 为第一个嗽W¦ä¸æ˜?E"åQŒæ‰€ä»¥ç¨‹åºè{而执行COUNT-1 FOR LEADING "W" AFTER "L"åQŒä¹Ÿä¸ç¬¦åˆè¦æ±‚,
于是½E‹åºæ‰§è¡ŒCOUNT-2 FOR CHARACTERSåQŒCOUNT-2 =1。然åŽå—½W¦ä¸²å¾€ä¸‹ä¸€ä½ï¼Œåˆ¤æ–"E",执行COUNT-0 FOR ALL "E"åQŒç¬¦åˆè¦æ±‚,则COUNT-0=1ã€?BR> 有了满èƒöæ¡äšg的判æ–,则余下的判æ–ä¸å†æ‰§è¡ŒåQŒå—½W¦ä¸²å†å¾€ä¸‹ä¸€ä½ï¼Œåˆ¤æ–"E"åQŒåˆ™COUNT-0=2。接ç€åˆ¤æ–"L",则COUNT-2 =2。以æ¤ç±»æŽ¨ï¼Œæœ€åŽç»“æžœäØ“COUNT-0=4åQ?BR> COUNT-1=1åQŒCOUNT-2=4ã€?BR>INSPECT REPLACING
用å¦ä¸€ä¸ªå—½W¦ä¸²æ›¿æ¢˜q™ä¸ªå—符丌Ӏ?BR> ˜q˜ç”¨ä¸Šé¢çš„例åã€?BR> INSPECT CS REPLACING ALL "E" BY "Y". ¾l“æžœ"RYYLWHYYL"
INSPECT CS REPLACING CHARACTERS BY "Z" AFTER "L". ¾l“æžœ"REELZZZZZ"
INSPECT CS REPLACING LEADING "E" BY "Y". ¾l“æžœä¸å˜
INSPECT CS REPLACING LEADING "E" BY "Z" AFTER "H". ¾l“æžœ"REELWHZZL"
INSPECT CS REPLACING FIRST "E" BY "I". ¾l“æžœ"RIELWHEEL"
INSPECT CS REPLACING FIRST "EE" BY "00",ALL "WH" BY "TH",CHARACTERS BY SPACE. ¾l“æžœ" 00 TH "
INSPECT CONVERTING
ž®±æ˜¯INSPECT REPLACING的羃写ã€?BR> INSPECT CS CONVERTING "EE" TO "00". 也å¯ä»¥åŠ ä¸ŠBEFOREåQŒAFTERã€?/P>
STRING
ž®†å‡ 个嗽W¦ä¸²åˆåƈæˆä¸€ä¸ªå—½W¦ä¸²ã€?BR> STRING A DELIMITED BY SPACEåQ? åQ? DELIMITED BY SIZE INTO C.å‡è®¾Aä¸çš„内容æ˜?HELLO",则结果是"HELLO !".
DELIMITED BY SPACEæ„æ€æ˜¯¼„°åˆ°½Iºæ ¼åQŒæˆ–到A的结ž®¾æˆ–C的结ž®¾ï¼Œåˆ™åˆòq¶Aå—符串结æŸã€?BR> DELIMITED BY SIZEæ„æ€æ˜¯åˆ? åQ?的结ž®¾æˆ–C的结ž®¾ï¼Œåˆ™åˆòq? åQ?å—符串结æŸã€?BR> STRING A INTO B POINTER C ON OVERFLOW PROC1 NOT ON OVERFLOW PROC2.
ž®†Aå—符串å¤åˆ¶åˆ°Bä¸ç”±C开始的地å€å¤„。如果Cž®äºŽ1或大于B的长度,或A的长度大于Bä¸C到结ž®‘Ö¤„的长度,则å‘ç”?BR> OVERFLOW溢出åQŒæ‰§è¡ŒPROC1ã€?/P>
UNSTRING
ž®†ä¸€ä¸ªå—½W¦ä¸²ä¸çš„å—ç¬¦æŒ‰ç…§è¦æ±‚攑օ¥å¤šä¸ªå˜é‡ä¸ã€?BR> UNSTRING AAA [DELIMITED BY [ALL] B [OR [ALL] C] ...] INTO { C [DELIMITER IN D] [COUNT IN E] } ...[WITH POINTER F] [TALLYING IN G] [ON OVERFLOW PROC1] [NOT ON OVERFLOW PROC2] [END-UNSTRING]
ž®†AAAä¸çš„å—符攑օ¥CåQŒå¦‚果还有其他å˜é‡ï¼Œå¦‚C2åQŒåˆ™½{‰Cæ”¾æ»¡åŽæ”¾å…¥C2ã€?BR> DELIMITED BYå’ŒSTRINGä¸çš„ä½œç”¨ä¸€æ —÷€‚表½Cºå°†AAAä¸åˆ°B为æ¢çš„å—½W¦å–出。如果有ORåQŒåˆ™è¡¨ç¤ºåˆ°B或Cå—符为æ¢çš„å—½W¦å–出。如果有ALLåQŒåˆ™å¦‚æžœå‡ ä¸ªç›¸åŒçš„Båœ¨ä¸€èµøP¼Œåˆ™è®¤ä¸ºæ˜¯ä¸€ä¸ªBã€?BR> DELIMITER IN ž®†B攑օ¥DåQŒçŸ¥é“是哪个å—符为分隔符ã€?BR> COUNT IN 实际å¤åˆ¶åˆ°Cä¸çš„å—符数放入Eä¸ã€?BR> WITH POINTER å’ŒSTRIGNä¸ä¸€æ —÷€?BR> TALLYING IN è®¡ç®—æœ‰å‡ ä¸ªæŽ¥å—项。访问一个新的接å—项åQŒGå€¼åŠ 1ã€?BR>例ååQ?BR> 03 CITY PIC X(10).
O3 ZIP PIC X(10).
77 TEST PIC X(20).
MOVE "NEW YORK,NY 10017" TO TEST.
UNSTRING TEST DELIMITED BY "," INTO CITY,ZIP.
执行¾l“æžœCITY值是NEW YORK.ZIP的值是NY 10017ã€?/P>
逻辑和控制è¯å?BR> IF (A [NOT] > B) ½{‰ähäº?IF (A [NOT] GREATER THAN B)
IF (A [NOT] < B) ½{‰ähäº?IF (A [NOT] LESS THAN B)
IF (A [NOT] = B) ½{‰ähäº?IF (A [NOT] EQUAL TO B)
IF (A >= B) ½{‰ähäº?IF (A GREATER THAN OR EQUAL TO B)
IF (A <= B) ½{‰ähäº?IF (A LESS THAN OR EQUAL TO B)
IF A IS [NOT] NUMERIC æ•°å—å’Œå¯é€‰ç¬¦å?BR> IF A IS [NOT] ALPHABETIC A~Z,a~zå—符和空æ ?BR> IF A IS [NOT] ALPHABETIC-LOWER a~zå—符和空æ ?BR> IF A IS [NOT] ALPHABETIC-UPPER A~Zå—符和空æ ?BR> IF A IS [NOT] CLASS-NAME SPECIAL-NAMES定义的嗽W¦é›†
例如åQšSPECIAL-NAMES.
CLASS MYDEFINE IS "12345+ABCDE-".
判æ–å˜é‡æ˜¯å¦å®šä¹‰äº†æ•°å€¹{€‚这个å˜é‡æ˜¯88层的åQŒä¸”è¦ä¸Žä¸€ä¸ªæ•°æ®é¡¹å…Œ™”ã€?BR> 03 STATE PIC XX.
88 CON VALUES ARE "A","B","C".
IF CON ...
判æ–厂家定义˜q行开关的开/关状æ€ã€?BR> SPECIAL-NAMES.
SWITCH-A ON STATUS IS A-ON ,OFF STATUS IS A-OFF.
IF A-ON...
若开兛_œ¨å¼€ä½ç½®åQŒåˆ™IF A-ON˜q”回TRUEã€?/P>
IF A IS [NOT] POSITIVE åˆ¤æ–æ˜¯å¦å¤§äºŽ0
IF A IS [NOT] NEGATIVE åˆ¤æ–æ˜¯å¦ž®äºŽ0
IF A IS [NOT] ZERO åˆ¤æ–æ˜¯å¦½{‰äºŽ0
COBOL支æŒNOT ,AND ,OR æ“作ã€?/P>
PERFORM
˜q‡ç¨‹è°ƒç”¨åQŒä½†æ˜¯ä¸ä¼ 递傿•°ã€?BR> PERFORM PROC1 [THROUGH PROC2]
执行完PROC1冿‰§è¡ŒPROC2.没有THROUGH(THRU)ž®±åªæ‰§è¡ŒPROC1.
PERFORM PROC1 [THRU PROC2] N TIMES
执行PROC1[或者还有PROC2]N‹Æ¡ã€?BR> PERFORM PROC1 [THRU PROC2] [WITH TEST BEFORE/AFTER] UNTIL A NOT EUQAL 0.
执行PROC1[或者还有PROC2]直到Aä¸ç‰äº?。WITH TEST BEFORE/AFTER指定在第一‹Æ¡æ‰§è¡Œä¹‹å‰è¿˜æ˜¯ä¹‹åŽåˆ¤æ–æ¡ä»¶ã€‚默认是BEFOREåQŒæ‰§è¡Œä¹‹å‰åˆ¤æ–ã€?BR> PERFORM PROC1 [THRU PROC2] [WITH TEST BEFORE/AFTER] VARYING A FROM B BY C UNTIL CONDITION1 [AFTER D FROM E BY F UNTIL CONDITION2].
相当于FOR循环åQŒå°†Açš„å€ég»ŽB开始,以C为å•ä½é€’增åQŒç›´åˆ°æ»¡‘³CONDITION1。AFTERè¯å¥æ˜¯ä¸€ä¸ªåµŒå¥—çš„FOR 循环。VARYING是外循环åQŒAFTER是内循环。AåQŒBå¯ä»¥æ˜¯çƒ¦å¼•ã€?/P>
˜q‡ç¨‹ä¹Ÿå¯ä»¥ç›´æŽ¥å†™å…¥PERFORMä¸ã€‚但是THROUGHž®×ƒ¸å¥½ç”¨äº†ã€‚è¯æ³•如ä¸?åQ?BR> PERFORM ˜q‡ç¨‹è¯å¥ END-PERFORM.
PERFORM N TIMES ˜q‡ç¨‹è¯å¥ END-PERFORM.
PERFORM [WITH TEST BEFORE/AFTER] UNTIL CONDITION ˜q‡ç¨‹è¯å¥ END-PERFORM.
PERFORM [WITH TEST BEFORE/AFTER] VARYING A FROM B BY C UNTIL CONDITION1 ˜q‡ç¨‹è¯å¥ END-PERFORM.
IFè¯å¥
IF CONDITION THEN STATEMENTS1/NEXT SENTENCE ELSE STATEMENTS2 END-IF/NEXT SENTENCE/ENDIF
NEXT SENTENCEž®†èŸ©å‡ºIFæ“作è¯å¥æ‰§è¡Œä¸‹ä¸€æ¡è¯å¥ã€?BR> IFè¯å¥ä¸ä¸è¦ä‹Éç”?å¥å·ã€?å¥å·ž®†ç»“æŸæ‰€æœ‰IFè¯å¥ã€‚覾l“æŸä¸€ä¸ªåµŒå¥—çš„IFè¯å¥åQŒå¯ä»¥ä‹É用END-IF或者NEXT SENTENCE.å¦?BR> IF A IF B END-IF ELSE C END-IF.或è€?BR> IF A IF B ELSE NEXT SENTENCE ELSE C END-IF.
EVALUATE
相当于SWITCH CASEè¯å¥ã€?BR> EVALUATE A
WHEN B ...
WHEN 0 THRU 100 ...(FROM 0 TO 100)
WHEN OTHER ...
[END-EVALUATE]
首先得到A的结果,和WHENè¯å¥çš„傿•°æ¯”较,如果和B相ç‰åQŒå°±æ‰§è¡ŒBåŽçš„æ“ä½œåQŒæ‰§è¡Œå®Œäº†ä¸å†æ‰§è¡ŒåŽé¢çš„WHENè¯å¥ã€‚如果丽{‰å°±æ‰§è¡Œä¸‹ä¸€æ¡WHENè¯å¥ã€‚如果没有相½{‰çš„ž®±æ‰§è¡ŒWHEN OTHERè¯å¥ã€?BR> EVALUATE A ALSO B
WHEN C ALSO D ...
WHEN E ALSO F ...
WHEN OTHER ...
å¯¹äºŽæœ‰å¤šä¸ªåˆ¤æ–æ¡ä»¶çš„åQŒè¦å¤šä¸ªæ¡äšgåŒæ—¶æ»¡èƒö。如上è¦C=AåŒæ—¶D=BåQŒæ‰æ‰§è¡ŒWHENè¯å¥ã€?/P>
CONTINUE
¾l§ç®‹æ‰§è¡Œä¸‹é¢çš„程åºã€?/P>
GO TO
GO TO PROC1 [DEPENDING ON N] DEPENDING ON Nž®†èŸ©è½¬åˆ°æ¸…å•ä¸çš„½W¬N个PROC.
EXIT
ä¸€èˆ¬äØ“æœ€åŽä¸€å¥è¯ã€?/P>
STOP
STOP RUN ¾l“柽E‹åºã€?/P>
ALTER
ALTER PROC1 TO PROC2. 䏿‡‚ä»€ä¹ˆæ„æ€ï¼Œåæ£å·²ç»ä»Žæ ‡å‡†ä¸åºŸé™¤äº†è¿™ä¸ªè¯å¥ã€?/P>
ENTER
使其他编½E‹è¯a€ä¸çš„è¯å¥å¯ä»¥æ”¾è¿›å½“剿ºç¨‹åºä¸ã€?BR> ENTER LANGUAGE-NAME [ROUTINE-NAME]
LANGUAGE 是厂家指定å¯ä»¥è¾“å…¥COBOLçš„ä“Q何è¯a€åQŒè¿™ä¸ªè¯å¥åŽé¢æ˜¯å…¶ä»–¾~–程è¯è¨€çš„è¯å¥ï¼Œç„¶åŽè¦ç”¨ENTERCOBOL表示˜q”回COBOLè¯è¨€ã€?BR> å¦‚æžœæ— æ³•ž®†å…¶ä»–è¯a€çš„程åºç›´æŽ¥æ”¾å…¥ï¼Œå¯ä»¥ç”¨ROUTINE-NAME引用其他è¯è¨€¾~–写的程åºã€?BR>
PICTURE
   定义基本™å¹ç›®çš„å…·ä½“é•¿åº¦ï¼Œæ ¼å¼åQŒæ•°æ®ç±»åž‹ã€‚å¯ä»¥ç®€å†™æˆPIC.
Â Â Â æ ¼å¼å—符串最å¤?0个嗽W¦ï¼Œå¯ä»¥åŒ…å«ä¸‹åˆ—å—符åQ?BR>   AÂ å—æ¯A-Z,a-z,½Iºæ ¼
   B æ’å…¥½Iºæ ¼
   PÂ æ ‡é‡å—符åQŒä»£è¡¨å—ŒDµä¸ä¸æ˜¾½Cºçš„ž®æ•°ç‚¹ä½¾|?BR>   S 代数½W¦å·åQŒå®žé™…显½Cºå–决于™å¹ç›®çš„USAGE
   V ž®æ•°ç‚¹ä½¾|?BR>   X ä»ÖM½•å—符
   Z 抑制å‰å¤´çš?òq¶è{æ¢æˆ½Iºå—½W?BR>   0 æ’å…¥0
   9 数å—0~9
   / æ’å…¥/
   , æ’å…¥,(逗å·ä¸èƒ½ä½œäØ“å—符串的最åŽä¸€ä½ï¼Œæœ€åŽæ—¶é€—å·æ˜¯åˆ†éš”符)
   ã€?æ’å…¥ã€?BR>   * 抑制å‰å¤´çš?òq¶è{æ¢æˆ*
   + æ£å€¼æ’å…?åQŒè´Ÿå€¼æ’å…?
   - æ£å€¼æ’入空æ û|¼Œè´Ÿå€¼æ’å…?
   $ æ’å…¥¾ŸŽå…ƒå?BR>   CR æ£å€¼æ’入两个空æ û|¼Œè´Ÿå€¼æ’å…¥CR
   DB æ£å€¼æ’入两个空æ û|¼Œè´Ÿå€¼æ’å…¥DB
例ååQ?BR>   03 VAR PIC AAAAA.   STATEå˜é‡é•¿åº¦ä¸?个嗽W¦ï¼Œä¸èƒ½æœ‰æ•°å—,½{‰ähäº?3 STATE PIC A(5)ã€?BR>   输入ASDFG ,昄¡¤ºASDFG
   03 VAR PIC XXXXX.  FILLERå˜é‡é•¿åº¦ä¸?个ä“Qæ„å—½W¦ã€‚ç‰ä»·äºŽ03 FILLER PIC X(5)ã€?BR>   输入123AS åQ?昄¡¤º123AS
   03 VAR PIC 99/XXX/9999 长度11åQŒè¾“å…?5may2004,昄¡¤º05/may/2004
   03 VAR PIC 0ABXXX/9999 长度11åQŒè¾“å…?5may2004,昄¡¤º05 may/2004
   03 VAR PIC 9(3) 长度3åQ?~999之间ã€?BR>   03 VAR PIC 9(4)V99 长度6åQ?.00~9999.99之间ã€?BR>   03 VAR PIC S9(5)V99 长度7åQ?99999.99~99999.99之间ã€?BR>   03 VAR PIC 9(6)PPP 长度6åQŒå¯ä»¥æ˜¯1000åQ?000åQ?..,999999000。输å…?234åQŒæ˜¾½C?000ã€?BR>   03 VAR PIC PPP999 长度3åQ?.000001~0.000999之间。输å…?23åQŒæ˜¾½C?.000123ã€?BR>   03 VAR PIC ZZZ.99åQŒè¾“å…?00.50,昄¡¤º100.50;输入-51.50,昄¡¤º51.50;
           输入0,昄¡¤º.00.
   03 VAR PIC $ZZZ.ZZ-åQŒè¾“å…?00.50,昄¡¤º$100.50;输入-51.50,昄¡¤º$51.50-;
           输入0,昄¡¤º
   03 VAR PIC $***,***.99CRåQŒè¾“å…?000,昄¡¤º$**1000.00;输入-1000,昄¡¤º$**1000.00CR;
           输入0,昄¡¤º$***,***.00;输入51.5,昄¡¤º$***,*51.50
   03 VAR PIC $$$,$$$.99åQŒè¾“å…?00.50,昄¡¤º$100.50;输入-100.50,昄¡¤º$100.50;
           输入0.777,昄¡¤º$.77;输入0,昄¡¤º$.00
   03 VAR PIC $.$$$åQŒè¾“å…?.00,昄¡¤º$.00;输入0.65,昄¡¤º$.65;
           输入0,昄¡¤º$.00;
   03 VAR PIC $--åQŒè¾“å…?7.7,昄¡¤º$17;输入-17.7,昄¡¤º$-17;
           输入-5,昄¡¤º$-5
   03 VAR PIC $999.99+åQŒè¾“å…?00.50,昄¡¤º$100.50+;输入-100.50,昄¡¤º$100.50-;
   03 VAR PIC 9(3)B9(3)åQŒè¾“å…?5,昄¡¤º000 055;输入1000.78,昄¡¤º001 000;
USAGE 表示基本或组数æ®çš„类型。有BINARY,COMPUTATIONAL(COMP),DISPLAY,INDEX,PACKED-DECIMAL.
JUSTIFIED
   03 VAR1 PIC X(5) JUSTIFIED RIGHT.
   03 VAR2 PIC X(5).
   输入XYZåQŒVAR1昄¡¤ºçš„æ˜¯" XYZ",VAR2昄¡¤ºçš„æ˜¯"XYZ "ã€?/P>
BLANK WHEN ZERO
   03 VAR PIC $999,999.99 BLANK WHEN ZERO .
   当嗌Dµå€égØ“0åQŒè¿™ä¸ªé¡¹ç›®è®¾¾|®äؓ全部½Iºæ ¼ã€?/P>
VALUE
   定义的时候就赋倹{€?BR>   03 VAR PIC X(5) VALUE "ABCDE".
   01 VAR VALUE ALL SPACES.
     03 VAR1 PIC XXX.
     03 VAR2 PIC XX.
½Ž—术è¯å¥
   COBOL䏿“作符执行™åºåºä¸ºï¼šå–æ£(+)ã€å–è´?-)最高çñ”åQŒæŒ‡æ•°æ“ä½?**)其次åQŒä¹˜(*)ã€é™¤(/)å†å…¶‹Æ¡ï¼ŒåŠ?+)ã€å‡(-)最åŽã€?BR>ROUNDED  èˆå…¥æ“作ã€?BR>   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 是当è¯å¥å‡ºçŽ°é”™è¯¯æ—¶æ‰§è¡Œçš„ã€‚æœ¬ä¾‹ä¸½W¬ä¸€å¥è¯æ‰§è¡Œæ²¡æœ‰é”™è¯¯åQŒæ‰€ä»¥ON SIZE ERROR
䏿‰§è¡ŒPROC1.½W¬äºŒå¥è¯åQŒå½“0.5åŠ ä¸Š9.1得到9.6åQŒå› 为有ROUNDED,所以执行èˆå…¥æ“作,得到10。而Båªæœ‰1使•°å—,所以å‘生错误,执行ON SIZE ERRORæ“作åQŒèŸ©è½¬æ‰§è¡ŒPROC2。Â?
CORRESPONDING(CORR)   数殙å¹åŒåæ—¶¾~–写多æ¡è¯å¥ã€‚ADDå’ŒSUBSTRACT有æ¤é€‰é¡¹ã€?BR>   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.相当于执行了下é¢3æ¡è¯å¥ã€?BR>   ADD B1 OF B TO B1 OF C.
   ADD B2 OF B TO B2 OF C.
   ADD B3 OF B TO B3 OF C.
¾l„项目ä¸ä¸€å®šè¦æ ¼å¼ç›¸åŒã€‚一个组™å¹ç›®ä¸çš„内容在å¦ä¸€ä¸ªç»„™å¹ç›®ä¸å¯ä»¥æ²¡æœ‰ï¼Œæ•°æ®™åšw¡ºåºä¹Ÿæ— 关紧è¦ã€‚åªæ˜¯ä¸¥æ ¼æŒ‰ç…§æ•°æ®é¡¹å称对应ã€?BR>   ADD A,B GIVING C. END-ADD.             ž®†A,Bç›¸åŠ æ”‘Ö…¥Cã€?BR>   SUBTRACT A,B FROM C。END-SUBTRACT.     从Cä¸å‡åŽ»A,B.
   MULTIPLY A BY B GIVING C. END-MULTIPLY. ž®†A,Bç›æ€¹˜æ”‘Ö…¥Cã€?BR>   DIVIDE A INTO B GIVING C. END-DIVIDE.  ž®†B除于A的结果放入C.
   DIVIDE A BY B GIVING C. END-DIVIDE.    ž®†A除于B的结果放入C.
   DIVIDE A BY B GIVING C REMAINDER D.    ž®†A除于B的商攑օ¥CåQŒä½™æ•°æ”¾å…¥D.
   D=A-B*C.
   77 C PIC S99V9.
   77 D PIC S99V9.
   DIVIDE 3 INTO 7 GIVING C REMAINDER D.
   Cçš„å€égØ“2.3åQŒDä¸?.1ã€?D=7-3*2.3)
COMPUTE
   除了å–ä½™æ“作è¦ç”¨DIVIDE外,其他æ“作都å¯ä»¥ç”¨æ¤è¯å¥ã€‚本è¯å¥æ±‚å€ég¸€ä¸ªç®—术表辑ּåQŒåƈž®†ç»“æžœå˜æ”‘Öœ¨ä¸€ä¸ªæˆ–å‡ ä¸ªå˜é‡ä¸ã€?BR>COMPUTE A ROUNDED,B = X*Y/(N+M)+Z. ž®†X*Y/(N+M)+Zçš„ç»“æžœå˜æ”‘Öœ¨Bä¸ï¼Œç„¶åŽèˆå…¥åŽæ”¾å…¥Aä¸ã€?/P>
MOVE
   MOVE A TO B.
   也å¯ä»¥ç”¨CORR选项ã€?BR>   MOVE CORR A TO B.