`
cuiyadll
  • 浏览: 196322 次
文章分类
社区版块
存档分类
最新评论

COBOL PERFORM A THRU A EXIT笔误 COMPUTE +或- 笔误 结果分析

阅读更多
1、COMPUTE A = + B,A = - B 一般为笔误,执行结果:A的值等于|B|。
测试:
MOVE 5 TO WK-INPUT
MOVE 5 TO WK-OUTPUT
或者
MOVE -5 TO WK-INPUT
MOVE -5 TO WK-OUTPUT
COMPUTE WK-OUTPUT = + WK-INPUT
执行结果:WK-OUTPUT结果为5.
COMPUTE WK-OUTPUT = - WK-INPUT
执行结果:WK-OUTPUT结果为5.

2、THRU笔误:编译测试均通过
以下包括THRU执行流程、THRU笔误执行测试。
如下笔误:
……                                                          ==> 该部分代码正常执行
PERFORM XXXX-TEST-PREFORM
   THRU XXXX-TEST-PREFORM EXIT  ==> 红色字为COBOL关键字 不执行XXXX-TEST-PROFORM-EXIT
……                                                          ==> 该部分代码正常执行
XXXX-TEST-PROFORM-EXIT.
    EXIT.
上述语句编译成功,不影响正常程序流,程序执行步骤完全一致,所有测试全部通过。
EXIT语句,其实就是标识而已,不起作用。

若XXXX-TEST-PROFORM-EXIT写法如下,执行结果会有很大不同。若写法如下,可能是程序退出点,但因为未正确书写“THRUXXXX-TEST-PROFORM-EXIT”,则程序不会执行该段,导致程序无法退出。
XXXX-TEST-PROFORM-EXIT.
    GOBACK./STOP RUN.

测试程序如下:
PROCEDURE DIVISION.                                       
*                                                          
MAIN-ROUTINE.                                             
*                                                          
     DISPLAY 'MAIN ROUTINE START'.                         
*                                                          
     PERFORM A-ROUTINE                                     
        THRU A-ROUTINE-EXIT                                
*                                                          
     DISPLAY '== START EXEC A-C ROUTINE =='.               
     PERFORM A-ROUTINE                                     
        THRU C-ROUTINE-EXIT                                
     DISPLAY '== END EXEC A-C ROUTINE =='.                 
*                                                          
     PERFORM B-ROUTINE                                     
        THRU B-ROUTINE-EXIT                                
*                                                          
     PERFORM C-ROUTINE                                     
        THRU C-ROUTINE EXIT                                
     DISPLAY 'C-ROUTINE EXIT IN MAIN'.                     
*                                                          
     PERFORM C-ROUTINE                                     
        THRU C-ROUTINE-EXIT                                
     DISPLAY 'C-ROUTINE-EXIT IN MAIN'.                
*                                                     
     PERFORM D-ROUTINE                                
        THRU D-ROUTINE-EXIT                           
*                                                     
     DISPLAY 'MAIN ROUTINE END'.                      
MAIN-ROUTINE-EXIT.                                   
     STOP RUN.                                        
*                                                     
A-ROUTINE.                                           
     DISPLAY 'EXEC A ROUTINE'.                        
A-ROUTINE-EXIT.                                      
     DISPLAY 'EXEC A ROUTINE EXIT'.                   
     EXIT.                                            
*                                                     
B-ROUTINE.                                           
     DISPLAY 'EXEC B ROUTINE'.                        
B-ROUTINE-EXIT.                                      
     DISPLAY 'EXEC B ROUTINE EXIT'.                   
     EXIT.                                            
*                                                     
C-ROUTINE.                                           
     DISPLAY 'EXEC C ROUTINE'.                        
C-ROUTINE-EXIT.                        
     DISPLAY 'C-ROUTINE-EXIT IN C'.     
     EXIT.                              
*                                       
D-ROUTINE.                             
     DISPLAY 'EXEC D ROUTINE'.          
D-ROUTINE-EXIT.                        
     DISPLAY 'EXEC D ROUTINE EXIT'.     
     EXIT.                              
*                                      

执行结果如下:
MAIN ROUTINE START         
EXEC A ROUTINE             
EXEC A ROUTINE EXIT        
== START EXEC A-C ROUTINE ==
EXEC A ROUTINE             
EXEC A ROUTINE EXIT        
EXEC B ROUTINE             
EXEC B ROUTINE EXIT        
EXEC C ROUTINE             
C-ROUTINE-EXIT IN C        
== END EXEC A-C ROUTINE == 
EXEC B ROUTINE             
EXEC B ROUTINE EXIT        
EXEC C ROUTINE             
C-ROUTINE EXIT IN MAIN     
EXEC C ROUTINE             
C-ROUTINE-EXIT IN C        
C-ROUTINE-EXIT IN MAIN     
EXEC D ROUTINE             
EXEC D ROUTINE EXIT        
MAIN ROUTINE END          

转自:http://hi.baidu.com/clisdena/item/01857711271c686c70d5e8d0

3,
       IDENTIFICATION DIVISION.
       PROGRAM-ID. PGM012.
       AUTHOR. MAINFRAMEWIZARD.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 WS-SUB PIC 9(3) VALUE ZEROS.
       PROCEDURE DIVISION.
       10000-MAIN-PARA.
             PERFORM 20000-FIRST-PARA THRU 30000-THIRD-PARA
             DISPLAY 'DEPICTING PERFORM THRU BY MAINFRAMEWIZARD.COM'
             DISPLAY 'PARA NAME IS  10000-FIRST-PARA'
             STOP RUN.
       20000-FIRST-PARA.
             DISPLAY 'PARA NAME IS  20000-FIRST-PARA'.
       25000-SECOND-PARA.
             DISPLAY 'PARA NAME IS  25000-SECOND-PARA'.
       30000-THIRD-PARA.
             DISPLAY 'PARA NAME IS  30000-THIRD-PARA'


Output of the above program is as below



PARA NAME IS  20000-FIRST-PARA                                                                                          
PARA NAME IS  25000-SECOND-PARA                                                                                         
PARA NAME IS  30000-THIRD-PARA                                                                                          
DEPICTING PERFORM THRU BY MAINFRAMEWIZARD.COM                                                                           
PARA NAME IS  10000-FIRST-PARA                                     
- See more at: http://www.mainframewizard.com/content/cobol-perform-thru#sthash.SBBE20eI.dpuf
分享到:
评论

相关推荐

    谭浩强COBOL_A

    谭浩强COBOL_A 谭浩强COBOL_A谭浩强COBOL_A谭浩强COBOL_A谭浩强COBOL_A谭浩强COBOL_A

    后端研发-Notepad++-高兼容的代码编辑及查看工具

    Notepad++自带中文,支持众多计算机程序语言: C,C++,Java,pascal,C#,XML,SQL,HTML,PHP,ASP, 汇编, DOS批处理, Caml, COBOL, Cmake, CSS,ActionScript, Fortran, Gui4Cli, Haskell, INNO, JSP, KIXtart, LISP, Lua, ...

    cobol语言入门------

    cobol语言入门cobol语言入门------------

    cobol的ppt---------------------

    COBOL的简介------------------------------------------------------------------------------

    富士通COBOL 编译器Windows版本

    There is an embedded SQL Preprocessor, an embedded COBOL Report Writer, a full function COBOL GUI Source Code Debugger, an IDE , Micro Focus Conversion Utility and a file utility.

    cobol语言----总结篇

    COBOL 是Common Business Oriented Language 的缩写。它不仅是商业数据处理的理想语言, 而且广泛用于数据管理领域,因此COBOL 语言也被称为“用于管理的语言”。 一。COBOL 语言的特点 最适于数据处理领域:...

    1cobol案例分析

    cobol银行计算机系统建设案例分析.................

    IBM-COBOL关于cobol的资料

    IBM-COBOL关于cobol的资料,cOBOL技术资料

    COBOL经典面试题

    COBOL经典面试题 中英文 ------------------------- Q14) My program has an array defined to have 10 items. Due to a bug, I find that even if the program access the 11th item in this array, the program ...

    Beginning COBOL for Programmers

    Beginning COBOL for Programmers is a comprehensive, sophisticated tutorial and modular skills reference on the COBOL programming language for established programmers. This book is for you if you are a...

    COBOL-85简明教程

    COBOL-85简明教程,译自COBOL-85 Tutorial 原作者:Kim Kjærsulf

    MS-COBOL2.1

    DOS版本的cobol2.1,简单、实用。

    cobol-compiler.zip

    windows 环境下 cobol编译器 cobol-compiler.zip

    COBOL2002 01-01A

    COBOL2002 01-01A,cobol开发工具

    CoBOL-GraalVM:用GraalVM编译和执行CoBOL

    作为一名前大型机/ CoBOL开发人员,我希望看到在更开放的环境中现代化的数十亿行CoBOL。CoBOL现代化本文的目的是解释GraalVM如何在几乎任何平台上运行CoBOL。 主要在金融机构和政府中的IT部门急切地寻求CoBOL和大型...

    Cobol面试题---同济论坛里粘贴下来的Word版本

    Cobol面试题---同济论坛里粘贴下来的Word版本

    cobol面试小结

    COBOLの構成部分(DIVISIONS)の名前 データ定義する時、A型とX型の区別

    COBOL-学习-总结

    近为了为后台编程做准备,开始看COBOL的有关知识,并对里面一些比较实用的语法做了归纳,希望组员看了后能更有效地在编程上少花费去查资料的时间.

    cobol

    学习cobol的好东西

    COBOL文法书-一本描述COBOL语法的初级入门书

    第2章 COBOLの機能 COBOLの機能を機能別に説明します。 第3章 見出し部とプログラム終わり見出し 見出しとプログラム終わり見出しの文法を説明します。 第4章 環境部 環境部の文法を説明します。 第5書 デー...

Global site tag (gtag.js) - Google Analytics