免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6336 | 回复: 8
打印 上一主题 下一主题

COBOL 与 RPG [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-02-23 23:07 |只看该作者 |倒序浏览
请教COBOL  与  RPG 两者有何区别?

论坛徽章:
0
2 [报告]
发表于 2006-02-23 23:15 |只看该作者
高手呢?

论坛徽章:
0
3 [报告]
发表于 2006-02-24 09:25 |只看该作者
COBOL是最古老且使用最广泛的电脑语言,虽然不是400上最主要的语言(是RPG),但在商业中仍深具影响力。例子:
IDENTIFICATION DIVISION.
PROGRAM-ID. ORDERS.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. AS400.
OBJECT-COMPUTER. AS400.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
       SELECT ACCOUNTS-FILE
             ASSIGN TO DATABASE-ACCOUNTS
                   ORGANIZATION IS INDEXED
                   ACCESS MODE IS DYNAMIC
                   FILE STATUS IS ACCOUNT-FILE-STATUS
                   RECORD KEY IS EXTERNALLY-DESCRIBED-KEY.
       SELECT  PRINT-FILE
               ASSIGN TO PRINTER-QPRINT.
DATA DIVISION.
FILE SECTION.
FD     ACCOUNTS-FILE
         LABEL RECORDS ARE STANDARD.
01     ACCOUNTS-RECORD.
COPY DDS-ALL-FORMATS OF ACCOUNTS.
FD      PRINT-FILE
          LABEL RECORDS ARE OMITTED.
01      PRINT-RECORD                      PIC X(132).
WORKING-STORAGE SECTION.
77      ACCOUNTS-FILE-STATUS        PIC XX          VALUE SPACES.
01      RPT-REC.
          05   FNAME                             PIC X(15)      VALUE SPACES.
          05   LNAME                             PIC X(20)      VALUE SPACES.
          05   AMOUNT                          PIC 9999V9999 VALUE ZDROS.
          05   BIG-OUDER                      PIC X            VALUE SPACES.
PROCEDURE DIVISION.
A0000-MAIN-ROUTINE.
           OPEN INPUT ACCOUNTS-FILE
                     OUTPUT PRINT-FILE.
B0000-READ-RECORD.
           READ ACCOUNTS-FILE NEXT
                     AT END
                     GO TO B003-EXIT.
                      MOVE LSTNAM OF ACCT OF ACCOUNTS-RECORD
                                TO LNAME OF RPT-REC.
                      MOVE FSTNAM OF ACCT OF ACCOUNTS-RECORD
                                TO FNAME OF RPT-REC.
                      MOVE AMT OF ACCT OF ACCOUNTS-RECORD
                                TO AMOUNT OF RPT-REC.
                      IF        AMOUNT OF RPT-REC>1000
                                 MOVE "*" TO BIG-ORDER OF RPT-REC
                                 PERFORM B001-DISCOUNT
                      ELSE
                      MOVE  SPACES TO BI-ORDER OF RPT-REC.
          PERFORM B002-WRITE-RECORD.
         GO TO B000-READ-RECORD.
B001-DISCOUNT.
         COMPUTER AMOUNT = AMOUNT * .97.
B002-WRITE-RECORD.
          WRITE PRINT-RECORD FROM RPT-REC AFTER 1.
B003-EXIT.
         CLOSE ACCOUNTS-FILE
                     PRINT-FILE.
          STOP RUN.   
RPG最简单的例子:
C     'HELLO WORLD' DSPLY                                            
C                   SETON                                        LR  
C                                                                    
通过对比应该可以理解吧?~~

论坛徽章:
0
4 [报告]
发表于 2006-02-24 22:04 |只看该作者
估计是我看不懂的那部分就是COBOL,直观上有了了解,谢谢!

论坛徽章:
0
5 [报告]
发表于 2006-03-17 15:53 |只看该作者
IDENTIFICATION DIVISION.
       PROGRAM-ID. ORDERS.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SOURCE-COMPUTER. AS400.
       OBJECT-COMPUTER. AS400.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
              SELECT ACCOUNTS-FILE
                    ASSIGN TO DATABASE-ACCOUNTS
                          ORGANIZATION IS INDEXED
                          ACCESS MODE IS DYNAMIC
                          FILE STATUS IS ACCOUNT-FILE-STATUS
                          RECORD KEY IS EXTERNALLY-DESCRIBED-KEY.
              SELECT  PRINT-FILE
                      ASSIGN TO PRINTER-QPRINT.
       DATA DIVISION.
       FILE SECTION.
       FD     ACCOUNTS-FILE
                LABEL RECORDS ARE STANDARD.
       01     ACCOUNTS-RECORD.
       COPY DDS-ALL-FORMATS OF ACCOUNTS.
       FD      PRINT-FILE
                 LABEL RECORDS ARE OMITTED.
       01      PRINT-RECORD                PIC X(132).
       WORKING-STORAGE SECTION.
       77      ACCOUNTS-FILE-STATUS        PIC XX           VALUE SPACES.
       01      RPT-REC.
                 05   FNAME                PIC X(15)        VALUE SPACES.
                 05   LNAME                PIC X(20)        VALUE SPACES.
                 05   AMOUNT               PIC 9999V9999    VALUE ZDROS.
                 05   BIG-OUDER            PIC X            VALUE SPACES.
       PROCEDURE DIVISION.
       A0000-MAIN-ROUTINE.
                  OPEN INPUT ACCOUNTS-FILE
                       OUTPUT PRINT-FILE.
       B0000-READ-RECORD.
                  READ ACCOUNTS-FILE NEXT
                       NOT AT END
                           MOVE LSTNAM OF ACCT OF ACCOUNTS-RECORD
                                     TO LNAME OF RPT-REC
                           MOVE FSTNAM OF ACCT OF ACCOUNTS-RECORD
                                     TO FNAME OF RPT-REC
                           MOVE AMT OF ACCT OF ACCOUNTS-RECORD
                                     TO AMOUNT OF RPT-REC
                           IF        AMOUNT OF RPT-REC>1000
                                      MOVE "*" TO BIG-ORDER OF RPT-REC
                                      PERFORM B001-DISCOUNT
                           ELSE
                           MOVE  SPACES TO BI-ORDER OF RPT-REC
                           PERFORM B002-WRITE-RECORD
                           GO TO B000-READ-RECORD
                        AT END
                            GO TO B003-EXIT
                    END-READ
       B001-DISCOUNT.
                COMPUTER AMOUNT = AMOUNT * .97.
       B002-WRITE-RECORD.
                 WRITE PRINT-RECORD FROM RPT-REC AFTER 1.
       B003-EXIT.
                CLOSE ACCOUNTS-FILE
                      PRINT-FILE.
                STOP RUN.

论坛徽章:
0
6 [报告]
发表于 2006-03-17 15:59 |只看该作者
IDENTIFICATION DIVISION.
       PROGRAM-ID. ORDERS.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SOURCE-COMPUTER. AS400.
       OBJECT-COMPUTER. AS400.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
              SELECT ACCOUNTS
                    ASSIGN TO DATABASE-ACCOUNTS
                          ORGANIZATION IS INDEXED
                          ACCESS MODE IS DYNAMIC
                          FILE STATUS IS ACCOUNT-FILE-STATUS
                          RECORD KEY IS EXTERNALLY-DESCRIBED-KEY.
              SELECT  PRINT-FILE
                      ASSIGN TO PRINTER-QPRINT.
       DATA DIVISION.
       FILE SECTION.
       FD     ACCOUNTS
                LABEL RECORDS ARE STANDARD.
       01     ACCOUNTS-RECORD.
       COPY DDS-ALL-FORMATS OF ACCOUNTS.
       FD      PRINT-FILE
                 LABEL RECORDS ARE OMITTED.
       01      PRINT-RECORD                PIC X(132).
       WORKING-STORAGE SECTION.
       77      ACCOUNTS-STATUS        PIC XX           VALUE SPACES.
       01      RPT-REC.
                 05   FNAME                PIC X(15)        VALUE SPACES.
                 05   LNAME                PIC X(20)        VALUE SPACES.
                 05   AMOUNT               PIC 9999V9999    VALUE ZDROS.
                 05   BIG-OUDER            PIC X            VALUE SPACES.
       PROCEDURE DIVISION.
       A0000-MAIN-ROUTINE.
                  OPEN INPUT ACCOUNTS
                       OUTPUT PRINT-FILE.
       B0000-READ-RECORD.
                  READ ACCOUNTS NEXT
                       NOT AT END
                           MOVE LSTNAM OF ACCT OF ACCOUNTS-RECORD
                                     TO LNAME OF RPT-REC
                           MOVE FSTNAM OF ACCT OF ACCOUNTS-RECORD
                                     TO FNAME OF RPT-REC
                           MOVE AMT OF ACCT OF ACCOUNTS-RECORD
                                     TO AMOUNT OF RPT-REC
                           IF        AMOUNT OF RPT-REC>1000
                                      MOVE "*" TO BIG-ORDER OF RPT-REC
                                      PERFORM B001-DISCOUNT
                           ELSE
                           MOVE  SPACES TO BI-ORDER OF RPT-REC
                           PERFORM B002-WRITE-RECORD
                           GO TO B000-READ-RECORD
                        AT END
                            GO TO B003-EXIT
                    END-READ
       B001-DISCOUNT.
                COMPUTER AMOUNT = AMOUNT * .97.
       B002-WRITE-RECORD.
                 WRITE PRINT-RECORD FROM RPT-REC AFTER 1.
       B003-EXIT.
                CLOSE ACCOUNTS
                      PRINT-FILE.
                STOP RUN.

论坛徽章:
0
7 [报告]
发表于 2006-03-18 15:41 |只看该作者
COBOL 和RPG是2种语言了

语法什么的都不一样,但都能实现相同的功能,举个不太合适的例子:JSP和ASP都是写网页的语言,你说他俩有啥区别?

论坛徽章:
0
8 [报告]
发表于 2006-03-22 11:15 |只看该作者
cobol自由格式阅读性好些但语法繁琐,rpg固定格式阅读性稍差但语法简洁。

论坛徽章:
0
9 [报告]
发表于 2006-03-22 11:46 |只看该作者
rpg也有自由格式
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP