cobol基本语法

合集下载

cobol 语法

cobol 语法

cobol 语法COBOL语法COBOL(Common Business-Oriented Language)是一种面向商业应用的编程语言,特别适用于处理大型数据和事务处理。

本文将介绍COBOL语法的一些关键要点,并展示其在实际应用中的一些特性。

一、程序结构在COBOL中,程序由多个部分组成,包括IDENTIFICATION DIVISION、ENVIRONMENT DIVISION、DATA DIVISION、PROCEDURE DIVISION等。

IDENTIFICATION DIVISION用于声明程序的名称和作者信息,ENVIRONMENT DIVISION用于定义程序的运行环境,DATA DIVISION用于定义数据,PROCEDURE DIVISION用于编写程序逻辑。

二、数据类型COBOL提供了多种数据类型,包括数字、字符、日期等。

数字类型可以是整数或浮点数,字符类型可以是单个字符或字符串。

日期类型可以表示年、月、日或日期和时间。

在使用数据类型时,需要声明变量的名称和类型,并为其分配初始值。

三、变量和常量在COBOL中,变量和常量都需要使用特定的关键字进行声明。

变量用于存储和处理数据,而常量是固定的数值或字符串。

变量和常量的名称必须符合特定的命名规则,并且需要在使用之前进行定义和初始化。

四、条件语句COBOL提供了多种条件语句,用于根据条件执行不同的程序逻辑。

其中最常用的是IF语句,可以根据条件判断是否执行某个程序块。

在条件语句中,可以使用比较运算符(如等于、大于、小于)和逻辑运算符(如AND、OR)进行条件的组合和判断。

五、循环语句COBOL提供了多种循环语句,用于重复执行某个程序块。

最常用的是PERFORM UNTIL和PERFORM VARYING语句。

PERFORM UNTIL语句会在满足条件之前一直执行程序块,而PERFORM VARYING语句会在指定的范围内重复执行程序块,并可以根据循环变量的值进行控制。

cobol教程

cobol教程

cobol教程COBOL教程COBOL(Common Business-Oriented Language)是一种面向商业应用的编程语言,它主要用于处理大型企业的数据处理和事务处理。

本教程旨在帮助初学者了解和学习COBOL的基本概念和语法规则,从而能够编写简单的COBOL程序。

1. 基本语法COBOL程序由一系列的“句子”组成,每个句子以句点(.)结束。

句子由一系列的“词”组成,每个词由一个或多个字符组成。

COBOL对大小写敏感,因此要注意单词的大小写。

2. 数据定义在COBOL中,需要先定义要处理的数据。

可以使用“DATA DIVISION”来定义数据项及其属性。

数据项可以是数字、字符或日期等类型。

例如,可以定义一个名为“EMPLOYEE-ID”的变量来存储员工的唯一标识。

3. 过程部分过程部分是COBOL程序的核心,用于执行实际的业务逻辑。

可以使用各种控制结构(如IF语句和PERFORM循环)来实现条件判断和循环操作。

通过使用一系列的“句子”来描述要执行的操作。

4. 文件处理COBOL可以处理各种类型的文件,如顺序文件和索引文件。

可以使用“FILE SECTION”来定义文件及其属性,然后使用相关的文件处理语句来读取和写入文件。

5. 运行和调试COBOL程序可以通过COBOL编译器进行编译,并通过COBOL运行时系统来执行。

可以在运行过程中进行调试,以便找出程序中的错误并进行修复。

总结本教程提供了COBOL的基本概念和语法规则的介绍,以及一些常用的编程技巧和注意事项。

希望通过学习本教程,您能够对COBOL有一个初步的了解,并能够编写简单的COBOL程序。

cobol 语法

cobol 语法

cobol 语法
COBOL语法是一种高级编程语言的语法,主要用于商务、金融和行政等领域的计算机应用程序的编写。

以下是COBOL语法的一些特点:
1.COBOL程序由一系列称为“分行”的语句行组成。

2.语句块以关键字开始并以圆点结尾。

3.COBOL使用分号分隔同一行的多个语句。

4.COBOL语言不区分大小写。

5.COBOL使用特殊的关键字来表示变量和数据类型。

6.COBOL中的标识符可以包含字母、数字和特殊字符,但必须以字母开头。

7.COBOL支持程序分段,可以将程序分成逻辑部分,例如数据定义、程序逻辑和输出代码。

8.COBOL具有大量内置函数和运算符,包括算术运算符、比较运算符和逻辑运算符。

9.COBOL中的条件语句可以使用IF-ELSE结构。

10.COBOL语言具有格式化输出功能,可以输出复杂的格式化报表。

Cobol基础

Cobol基础

Cobol 语法基础作成者审查者承认者丁成远变更履历日期版本作成者备注1。

0丁成远初版2005—03-01一.COBOL 语言的特点最适于数据处理领域:算数计算量少而逻辑处理量多,输入输出量大,数据间存在着一定的逻辑关系,大量的分类排序;COBOL比较接近英语,容易懂;通用性强,易植,COBOL结构严谨,层次分明。

二。

COBOL的组成部分1.标识部(IDENTIFICATION DIVISION):用于标识程序名.IDENTIFICATION DIVISION。

PROGRAM-ID。

程序名。

[AUTHOR。

作者名。

][INSTALLATION. 计算机设置场所。

][DATE-WRITTEN. 源程序编写日期。

][DATE-COMPILED. 源程序编译日期. ][SECURITY. 保密程度。

]2.环境部(ENVIRONMENT DIVISION):用于说明程序运行的环境。

ENVIRONMENT DIVISION.CONFIGRATION SECTION.SOURCE—COMPUTER。

源计算机名。

OBJECT—COMPUTER. 目标计算机名。

[SPECIAL—NAMES。

专用名描述项。

][INPUT—OUTPUT SECTION。

FILE-CONTROL。

{文件控制描述体}[I—O—CONTROL。

输入输出控制描述体]]3.数据部(DATA DIVISION):用于说明程序中涉及的所有数据。

4.过程部(PROCEDURE DIVISION):是程序的核心部分,它决定计算机应进行什么操作.三。

最简单的COBOL 程序举例1.环境配置说明:(1)安装“Fujitsu NetCOBOL for Windows V7。

0"的企业版,安装完成后选择“COBOL Project Manager"打开COBOL主控制台。

(2)选择“Open Project”打开存在的COBOL程序,或者输入新的Project名选择打开,可以建立新的COBOL Project.。

cobol中go to 语句

cobol中go to 语句

cobol中go to 语句【实用版】目录1.COBOL 中的 GO TO 语句概述2.GO TO 语句的基本语法3.GO TO 语句的应用实例4.GO TO 语句的注意事项正文【1.COBOL 中的 GO TO 语句概述】在 COBOL 编程语言中,GO TO 语句是一种用于控制程序流程的语句。

它可以使程序在执行过程中跳转到指定的程序段,从而实现有条件地执行某些程序段或者根据特定条件重复执行某些程序段的功能。

GO TO 语句对于 COBOL 程序的逻辑处理和结构优化具有重要意义。

【2.GO TO 语句的基本语法】GO TO 语句的基本语法如下:```GO TO label```其中,`label`是表示目标程序段的标签。

在 COBOL 中,标签是由字母、数字和下划线组成的字符串,但不能以数字开头。

使用 GO TO 语句时,需要确保目标程序段的标签已经定义。

【3.GO TO 语句的应用实例】下面举一个简单的例子来说明 GO TO 语句的应用:```cobolIDENTIFICATION DIVISION.PROGRAM-ID.go_to_example.ENVIRONMENT DIVISION.INPUT-OUTPUT SECTION.FILE-CONTROL.SELECT INFILE ASSIGN TO "input.txt"ORGANIZATION IS LINE SEQUENTIAL.SELECT OUTFILE ASSIGN TO "output.txt"ORGANIZATION IS LINE SEQUENTIAL.WORKING-STORAGE SECTION.01 WS-INPUT.02 INFILE-LINE PIC X(100).01 WS-OUTPUT.02 OUTFILE-LINE PIC X(100).PROCEDURE DIVISION.000-MAIN.001 OPEN INPUT INFILEOUTPUT OUTFILE.002 READ INFILEAT END MOVE "END" TO INFILE003 PERFORM 001-PROCESS-LINE UNTIL INFILE-LINE ="END".004 CLOSE INFILEOUTFILE.005 STOP RUN.001-PROCESS-LINE.001-READ-LINE.READ INFILE-LINEAT END MOVE "END" TO INFILE-LINE002.002-PROCESS-DATA.DISPLAY INFILE-LINEGO TO 003-PROCESS-NEXT-LINE003.003-PROCESS-NEXT-LINE.IF INFILE-LINE = "END" THENLEAVE 001-PROCESS-LINEEND-IFMOVE " " TO INFILE-LINEGO TO 001-READ-LINE```在这个例子中,我们使用 GO TO 语句实现了从 002-PROCESS-DATA 程序段到 003-PROCESS-NEXT-LINE 程序段的跳转,以便在处理完一条输入数据后,继续处理下一条输入数据。

第五章 COBOL基本语句(1)

第五章  COBOL基本语句(1)
2013-10-28
COBOL语言程序设计
DISPLAY "Name is ", Initials SPACE Surname. DISPLAY "Date is " CurrentDay SPACE CurrentMonth SPACE CurrentYear. DISPLAY "Today is day " YearDay " of the year". DISPLAY "The time is " CurrentHour ":" CurrentMinute. STOP RUN.
2013-10-28
COBOL语言程序设计
例子1: 01 TAX-INFO. 03 NET-INCOME PIC S9(8)V99. 03 TAX-RATE PIC V999. EVALUATE NET-INCOME WHEN 0 THRU 12500 MOVE 0 TO TAX-RATE WHEN 12501 THRU 28000 MOVE 0.15 TO TAX-RATE WHEN 28001 THRU 50000 MOVE 0.28 TO TAX-RATE WHEN OTHER MOVE 0.33 TO TAX-RATE END-EVALUATE.
2013-10-28
COBOL语言程序设计
JCL文件:
//UR00203 JOB ACCT#,UR001,NOTIFY=UR002,MSGLEVEL=(1,1) //MYLIB JCLLIB ORDER=SYS1.PROCLIB //STEP1 EXEC PROC=IGYWCLG //COBOL.SYSIN DD DSN=UR002.COBOL.SOURCE(AANDD),DISP=SHR //SYSPRINT DD SYSOUT=* //GO.SYSIN DD * COUGHLANMS9476532LM511245M

cobol initialize 组项

cobol initialize 组项

COBOL Initialize 组项COBOL(Common Business-Oriented Language)是一种早期的高级程序设计语言,主要用于商业数据处理。

在COBOL中,初始化是指为变量或数据项分配初始值的过程。

在本文中,我们将介绍COBOL中的初始化组项。

1. 什么是初始化组项?在COBOL中,组项是一种特殊的数据结构,用于组织和管理相关的数据项。

初始化组项是指为组项中的所有子项目分配初始值的过程。

通过初始化组项,我们可以为整个数据结构设置默认值,以便在程序执行过程中使用。

2. 初始化组项语法下面是COBOL中初始化组项的基本语法:01 group-name.05 sub-item-1 PIC X(10) VALUE 'INITIAL'.05 sub-item-2 PIC 9(5) VALUE ZERO....•group-name:初始化组项的名称。

•sub-item-1, sub-item-2, ...:子项目名称。

•PIC:定义子项目的数据类型和长度。

•VALUE:为子项目分配初始值。

在上面的例子中,sub-item-1被定义为一个长度为10个字符(X)的字符串,并且被赋予初始值’INITIAL’。

sub-item-2被定义为一个长度为5位数字(9)的整数,并且被赋予初始值0。

3. 初始化组项示例下面是一个具体的COBOL初始化组项示例:01 Employee-Record.05 Employee-ID PIC X(10) VALUE SPACES.05 Employee-Name.10 Last-Name PIC X(20) VALUE SPACES.10 First-Name PIC X(20) VALUE SPACES.05 Salary PIC 9(7)V99 VALUE ZERO....在上面的示例中,我们定义了一个名为Employee-Record的初始化组项。

Cobol基本语法总结

Cobol基本语法总结

コボル基本語法一、COBOL基本語法compla項目使用的Cobol是Micro Focus 公司生产的Cobol,采用在HP-UNIX上运行。

一、cobol的书写格式(每行)1、前6列为序号区(一般不编辑)2、第7列为标示列,仅可以写如下几个标示符。

a. “*”注释符(注释当前行的代码)b “/“注释符(注释当前行的代码,程序编译时,强制程序清单另起一页,不建议使用)c “-“字符串连接符d “D”DEBUG行标示符(程序为DEBUG模式时,标有该标示符的语句行代码执行,否则和注释行效果一样)3、第8列---11列为A区,包括以下内容。

a 部、节名。

b 层号014、第12列---72列为B区,过程部的程序必须写在B区中。

5、第72以后部分不能编辑。

二、cobol的语法结构(几大部分)1、标示部(IDENTIFICATION DIVISION):提供程序的一般性文档说明,本项目只保留程序名(PROGRAM-ID)一项。

2、环境部(ENVIRONMENT DIVISION): 提供程序外部有关的项目。

a.配置节(CONFIGURATION SECTION)①.指定源计算机(SOURCE-COMPUTE).②.目标计算机(OBJECT-COMPUTE).③.设置debug模式(SOURCE-COMPUTE H9000V WITH DEBUGGING MODE)④. 指定读环境变量设置.SPECIAL-NAMES.ENVIRONMENT-VALUE IS CNS-ENV-PARMENVIRONMENT-NAME IS CNS-ENV-NAME.b. 输入输出节(INPUT-OUTPUT SECTION).文件的物理路径的定义。

方法一:(写死文件路径)SELECT FILE-LOG ASSIGN"/usr3/WSI/commonlog/WSI1101.log"ORGANIZATION IS LINE SEQUENTIAL.方法二:(过程部中动态指定文件)SELECT FILE-LOG ASSIGN TO SELECT-FILEORGANIZATION IS LINE SEQUENTIAL.在数据部定义字符串变量SELECT-FILE,在文件FILE-LOG打开前动态指定文件路径。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基本語法一、COBOL基本語法一、cobol的书写格式(每行)1、前6列为序号区(一般不编辑)2、第7列为标示列,仅可以写如下几个标示符。

a. “*”注释符(注释当前行的代码)b “-“字符串连接符3、第8列---11列为A区,包括以下内容。

a 部、节名。

b 层号014、第12列---72列为B区,过程部的程序必须写在B区中。

5、第72以后部分不能编辑。

二、cobol的语法结构(几大部分)1、标示部(IDENTIFICATION DIVISION):提供程序的一般性文档说明。

2、环境部(ENVIRONMENT DIVISION): 提供程序外部有关的项目。

a.配置节(CONFIGURATION SECTION)①.指定源计算机(SOURCE-COMPUTE).②.目标计算机(OBJECT-COMPUTE).b. 输入输出节(INPUT-OUTPUT SECTION).文件的物理路径的定义。

方法二:(过程部中动态指定文件)SELECT FILE-LOG ASSIGN TO SELECT-FILEORGANIZATION IS LINE SEQUENTIAL.在数据部定义字符串变量SELECT-FILE,在文件FILE-LOG打开前动态指定文件路径。

3、数据部(DATA DIVISION)。

程序中的变量都在数据部中定义,Cobol中没有全局变量和局部之分。

(变量的类型结构参照5.变量类型)a. 文件节(FILE SECTION)给环境部定义的文件指定一个RECORD变量,读写文件用:FD FILE-LOG.01 RECORD-LOG PIC X(2000).b. 工作存储节定义程序中用到的临时变量。

a) COBOL变量定义需要加层号(表示层次关系),·层号从01开始如: 01 I PIC X(10).·组合项如: 01 WORK-AREA.05 NUM-1 PIC 9(09).05 STR-1 PIC X(10).b) 层号依次排列顺序为:01 ,05,10,15,20,30 ·······c.连接节子程序的参数的定义。

4、过程部(PROCEDURE DIVISION)程序的主体:程序的逻辑运算在此操作。

a、每个程序分为四大节(模块),·前处理(初始化变量,设定初始值等)·主处理(程序业务处理部分)·后处理(程序正常结束时的出口)·错误处理(程序异常结束时的出口)b、对于子程序,PROCEDURE DIVISION 后应列出LINK节中定义的参数。

如: PROCEDURE DIVISION USING LINK-INPUT-DATA LINK-OUTPUT-DATA.c、程序结束。

·主程序 STOP RUN.·子程序 GO BACK.5、变量类型COBOL程序的基本变量类型分为两大类字符串型(X)、数值型(9)。

a 字符串型01 STRING-A PIC X(100).100个字符长的变量,程序可以局部操作一个变量( STRING-A(start: length)如:MOVE ALL “X”TO STRING-A(2:10)(将变量STRING-A第2位开始10长度的内容全赋为”X”字符)b 数值型注:1、对于出力型数值变量,可以用9代替Z,它们的区别是:结果为零的整数部高位,小数部低位:Z型变量用空格显示,9型变量用零显示2、COBOL语言中数值型变量种类很多,针对不同的要求有不同的数值类型。

c、在COBOL变量定义时,可以加入格式字符串字符。

d、不同类型变量间赋值。

整数1、字符串中数值部分可以作为对应长度的DISPLAY型变量给其它各种数值型变量。

2、DISPLAY型变量(包括出力型变量)被赋值时,超出它表示范围的数可以被接受,但截去超出的高位。

3、COMP型变量被赋值时,超出它表示范围的数不能被接受。

小数1、DISPLAY型变量(包括出力型变量)被赋值时,超出它表示范围的数可以被接受,但整数部截去超出的高位,小数部截去低位。

2、COMP型变量被赋值时,整数部超出它表示范围的数不能被接受,小数部超出它表示范围的数可以被接受,但小数部截去低位注: 以上所述赋值变量为任何类型的数值型变量(经过严格测试得出结论)。

e、字符型比较。

·字符串比较时,系统自动截去尾部空格(如“a “= “a”)。

·数字的数值形式和数字字符形式相等(如“1234567890” = 1234567890)·综合以上两点, 有“12 “= 12二、基本语法:1、赋值语句MOVE。

a、将一个变量赋给另个变量move a to b.b、将一个变量同时赋给另外两个变量。

Move a to b c .c、将一个变量全部赋为某个字符move all “x”to a.d、对于赋值溢出,截取的方式为.·字符型变量截去左边的溢出部分。

·数值型变量截去整数部高位、小数部低位的溢出部分。

e、组和项传送,它们的数据结构必须相同f、对于组合项成员的局部引用,应该如下:01A-AREA.05 STR-1 PIC X(10).05 STR-2 PIC X(10).01B-AREA.05 STR-1 PIC X(20).05 STR-2 PIC X(10).MOVE STR-1 OF A-AREA(1:4) TO STR-1 OF B-AREA(1:4).3、四则运算原则上,四则运算不用助记符语句,但对于简单运算( ++,--),可采用助记符语句。

a、加法( ADD 1 TO NUM-1)b、减法(SUBTRACT 1 FROM NUM-1)c、其它所有运算均采用COMPUTE 语句COMPUTE NUM-1 = NUM-2 + NUM3 * 10运算符如下:+ 加- 减* 乘/ 除** 指数在COMPUTE语句中,变量和运算符间至少留有一个空格。

4、重定义语句REDEFINES(数据部中使用)01 A PIC X(10) VALUE SPACE.01 B REDEFINES A PIC 9(10).变量A,B使用同一个空间,重定义时,重定义变量必须紧跟着被重定义变量后面,并且在字符串同数值一起重定义时,如果对变量进行初始化,变量会初始化为空格。

5、数组关键词OCCURSOCCURS 整数 TIMES.a.简单数组01 A OCCURS 10 PIC X(30).b. 组合项数组01 A.05 B OCCURS 10.10 C PIC X(10).10 D PIC X(20).注意:引用数组中某一元素如下DISPLAY C OF B OF A(1) “@@”.6、连结语句STRINGSTRING A, B, C DELIMITED BY SIZE INTO D .·将字符串A, B, C按它们定义长度连接赋给变量D.STRING A, B, C DELIMITED BY SPACE INTO D .·将字符串A, B, C连接赋给变量D,去掉中间所有的空格.STRING “AAAAAAA” DELIMITED BY SIZE“BBBBBBB ” DELIMITED BY SIZEB DELIMITED BY SIZEINTO D .·将字符串和字符串变量连接赋给变量D.7、IF语句·IF 条件THEN语句(无“.”结束)ELSE语句(无“.”结束)END-IF..注: IF 语句最多只能使用三层嵌套,条件用括号括起来。

10关系运算符注:判断字符串能否转换为数字。

NUMERIC NOT NUMERICIS NOT NUMERIC11、PERFORM 语句PERFORM XXX-RTN.·调用子节,直到遇到第一个只包含EXIT语句的段中止,回到该调用语句的下一条语句。

EXIT只与它搭配有效。

所以节的定义规定如下:XXX-RTN SECTION.语句块········XXX-EXT.EXIT.PERFORM XXX-RTN N TIMES.·循环调用子节N次PERFORM XXX-RTN UNTIL N> 30.·循环调用子节,直到N 大于30。

PERFORM UNTIL 表达式语句·······END-PERFORM.·循环调用语句块,表达式判断在语句块前进行。

PERFORM VARYING X FROM A BY B UNTIL X > 12 语句·······END-PERFORM.·循环调用语句块,相当于FOR 循环。

12、EVALUATE 语句EVALUATE 变量、常量、表达式WHEN ANYTRUEFALSE(NOT) 常量1 THRU (THROUGH) 常量2WHEN OTHER .END – EVALUATE·ANY :任何变量、常量值·TRUE、FALSE :关系表达式的结果·(NOT) 常量1 THRU (THROUGH) 常量2: 值(不)在常量1和常量2 构成的闭区间·另外,在WHEN 后面可以包含简单的关系表达式。

如:EVALUATE AWHEN => 10EVALUATE BWHEN = 1 OR = 2 OR = 3语句····WHEN OTHER语句····END-EVALUATEWHEN OTHER语句····END-EVALUATE.13、另外,不同的COBOL系统提供了不同内部函数,建议少用内部函数,以下提供几个通用的内部函数·ORD 取得字符的ASICII码如:MOVE FUNCTION ORD (“A”) TO NUMBER.•UPPER-CASE 字母小写转换成大写如:MOVE FUNCTION UPPER-CASE (STRING(START:1)) TO STRING(START:1) ·LOWER -CASE 字母小写转换成大写如:MOVE FUNCTION LOWER-CASE (STRING(START:1)) TO STRING(START:1) ·REVERSE 对字符串中所有字符进行倒序如:MOVE FUNCTION REVERSE(STRING-1) TO STRING·LENGTH 取得变量的定义长度,如:COMPUTE LEN = FUNCTION LENGTH(STRING)二、PRO*COBOL基本語法COMPLA使用的PRO*COBOL是ORACLE公司提供的在COBOL程序中嵌入SQL语句的一种方法,使得程序方便地访问操作ORACLE数据库;PRO*COBOL程序经过ORACLE提供的预编译器预编译生成中间COBOL程序后,程序中所有的SQL语句直接调用ORACLE库函数,再经过COBOL编译器同一般COBOL程序一样编译生成各种可执行模块,由于程序中直接调用ORACLE库函数,所以它们访问操作ORACLE数据库的速度很快,基本语法如下。

相关文档
最新文档