第一天的COBOL语言课程结束了.
号称永不关机的大机今天因为停电关机了,突然觉得川大很好笑了.今天一天的东西都没有经过上机的实践,积压的很多,胸口积的要喘不过气了,好多的,不,应该说是太多的东西要记了.期待明天的上机课程至少可以记得起80-90%,那样也不枉我今天敲了一天的键盘了.(那老师说是要保密不给考课件,所以,可怜的我啊,只能自己用手打了.)
今天的部分随堂笔记(网速太慢了,不传附件了,直接粘上来了)
2007-8-10 COBOL语言课程笔记摘要
IDENTIFICATIONDIVISION.
PROFRAM-ID. HELLOWOR.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 NEC PIC X(5) VALUE “1234”.
01 TEST PIC 9(3) VALUE 34.
01 PERSON.
02 NAME PIC X(10).
02 AGE PIC 9(2).
PROCEDUER DIVISION.
DISPLAY ‘HELLO,WORLD!’.
STOPRUN.
数据部的文件节:描述程序中用到的输入输出文件及其记录中个数据项的属性.
FD 文件名
RECORDING MODE ISF
RECORD CONTAINS 80 CHARACTERS
DATA RECORD IS 数据名
文件节的书写格式:FD从A区开始书写,01层号也从A区开始,其他层号可以从A也可以从B区开始.为了看起来层次分明,最好从B区开始.
(PS:80列,1-6为标识区,7-16为A区)
记录描述:记录描述提由01层号开始,后跟记录名,如果记录本身就是一个初等项.则在记录名后描述记录长度;否则,数据名后跟句点.
定义记录的数据结构:
DATA DIVISION.
FILE SECTION.
FD IN-FILE
PECORD
数据部的工作存储节:描述程序中用到的中间数据项.程序中用的数据项分为两部分,
数据部的连接节.通信节.(了解即可)
过程部:是COBOL的最后一个部分.包含程序运行的所有语句,包含对数据进行操作的程序逻辑.
1-6列 :标号区
7:标志区
8-11:A区.程序中有些内容如部头,节头,段头,层号01,层号77及文件描述付FD等应该从A区开始书写.
12-72:B区.写程序的正文部分.如过程部的句子就只能从B区开始书写.
73-80:注释区.
//COBOJOBA JOB ACCT#,
// NOTIFY=your-id,
// MASGLEVEL=(1,1)
//STEP1 EXEC PROC=IGYWCLG
//COBOL.SYSIN DD DSN= your-ds-of-COBOL-code,DISP=SHR
0-9
保留字是具有特定意义的胆子或特殊字符(用做数学和关系操作符)
COBOL有300多个的保留字,常用的100多个.
l 数据类型:变量VARIABLES,常量,CONTENTS
l 变量要通过类型和数值范围来进行描述.
l 所有用到的变量都要在数据部进行描述/声明.
01 STUDENTNAME PIC X(6) VALUE SPACES.
STUDENTNAME
|
|
|
|
|
|
MOVE “JOHN” TO STUDENTNAME.
STUDENTNAME
J |
O |
H |
N |
|
|
包含:一个层号(有组或者叫父子关系)
一个数据名或是变量名
一个PICTURE子句
Eg.01 studentDetails.
02 StudentName.
03 Surname PIC X(8) .
02 StudentId PIC 9(7) .
9(the digit nine)
X(the )
Examples:
1. Picture 999 a three digit(+ive only) integer
2. Picture S999 a three digit(+ive /-ive) integer
3. Picture XXXX a four chatacter text item or string
4. Picture 99V99 a +ive ’real’ in the range 0 to 99.99
5. Picture S9V9 a +ive/-ive ‘real’
PIC表示取值的范围。如PIC S9(4)V9(4):表示从-9999.9999到+9999.9999的范围。
01 Num1 PIC 999 VALUE ZEROS .
01 VatRate PIC V999 VALUE .18.
01 StudentName PIC X(10) VALUE SPACES.10个空格。
NUM1 |
Vat |
|
0000 |
|
|
l 数值常量
l 非数值常量
l 表意常量/象征常量 all zero etc.
HIGH-VALUE 最大值
LOW-VAULE 最小值
NULL ‘’(与空格不同)
MOVE *** TO ***
MOVE ALL “_” TO StudentName
_ |
_ |
_ |
_ |
_ |
_ |
01 GrossPay PIC 9(5)V99 VALUE 13.5.
0 |
0 |
0 |
1 |
3 |
5 |
0 |
从右往左开始存 小数点位
e.g. COMPUTE z = x + y (注意要加空格,在每一个字符后都要加)
DISPLAY “HELLO WORLD!“.
DISPLAY “MY NAME IS “ NAME.
9描述符:表示该位置上可以放入一个0-9之间的数字。例如:01 A PIC999。或者01 A PIC9(3)。
表示A可以存放000-999之间的一个三位数。有几个9表示有几位数。
注意:示整数部分,负号则舍弃,输入的小数部分会被舍弃。只能存放数字不能放空格。
V描述符:指出在数值数据结构中隐含的小数点的位置。小数点不占内存单元。
03 M PIC 9(3)V9(2)。
l 注意:V在描述符最后则等于无小数点
u 一个数据的描述服只能有一个V
u 进行数据传诵或运算时,按隐含的小数点的位置对准传诵或运算。
u V表示的小数点只在传诵或运算时起作用不能被显示或是答应出来。
S描述符:如果想在数据项中防入一个带符号的数据,可以用S
03 M PIC S9(3)V9(2)。
l 注意:S描述符必须是最左边的一个
u 在内存中,S不占位数,在传诵或运算时起作用。
字母型数据的描述
03 M PIC X(5)。
l 注意:字符型可以用X描述,也可以用9或A来描述。如‘COB-74‘也可以用PIC X(6),也可以PIC A(3) X9(2)。
l 字母型数据既可以用A描述也可以用X
l 字符型数据中可以放数字。
编辑型描述符
‘.’小数点
‘+’’-‘正负号
02 A1 PIC +9(3). = PIC 9(3)+
-----努力的天才学COBOLing...