-
- 素材大小:
- 352 KB
- 素材授权:
- 免费下载
- 素材格式:
- .ppt
- 素材上传:
- ppt
- 上传时间:
- 2016-04-10
- 素材编号:
- 51959
- 素材类别:
- 培训教程PPT
-
素材预览
这是一个关于ibm mainframe培训课程PPT(部分ppt内容已做更新升级),主要介绍了简介、PLI、练习、IMS、练习和复习等内容。培训是给新员工或现有员工传授其完成本职工作所必需的正确思维认知、基本知识和技能的过程。是一种有组织的知识传递、技能传递、标准传递、信息传递、管理训诫行为。其中以技能传递为主,侧重上岗前进行。为了达到统一的科学技术规范、标准化作业,通过目标规划设定知识和信息传递、技能熟练演练、作业达成评测、结果交流公告等现代信息化的流程,让员工通过一定的教育训练技术手段,达到预期的水平,提高目标。目前国内培训以技能传递为主,时间在侧重上岗前。
ibm mainframe培训课程PPT是由红软PPT免费下载网推荐的一款培训教程PPT类型的PowerPoint.
PL/1 For Entry Level Training
By Raymond
内容
简介
PLI
练习
IMS
练习和复习
概论
PLI VS COBOL
IMS DC VS CICS
IMS DB
编程基础-规则(1)
PL/I(Programming Language No.1)的特征
通用性
适用于科学计算,事务处理等等各方面
容易理解性,使用日常生活相近的语言(英语)
(例) IF GRADE >= 60
THEN RESULT = “PASS”;
ELSE RESULT = “FAIL”;
书写简单性
形式自由– 记述的位置没有限定
编程基础-规则(2)
程序构成
编程基础-规则(3)
程序的构成(例)
REI01: PROC OPTIONS (MAIN);
DCL BAR_CODE CHAR( 5),
NAME CHAR(10),
PRICE FIXED DEC( 5),
AMOUNT FIXED DEC( 7),
TOTAL FIXED DEC(11);
/*** GET INPUT DATA ****/
GET EDIT(BAR_CODE,NAME,PRICE,AMOUNT)
(A(5),A(10),F(5),F(6));
/*** COMPUTE ****/
TOTAL = PRICE * AMOUNT;
/*** OUTPUT ****/
PUT EDIT(BAR_CODE,NAME,TOTAL)
(A(5),X(3),A(10),X(2),F(11));
END REI01;
编程基础-规则(4)
程序名
英文字母或者数字
以英文字母开头
7文字以内
与其它的程序不能同名
记述的位置
编程基础-规则(5)
语句的形式
变量,保留字,符号等之间用一个或以上的空格分隔
以分号结束一条语句
PL/I里可以使用的文字
数字
英文字母
特殊记号= + - * / ( ) ; : . ‘ & | > < _ % ? HEX(‘5F’)
空格
注释用/* */编程基础-变量定义(1)
变量的定义(DECLARE语句)
DCL DECLARE的省略
变量名31个文字以内;英文字母,数字或者下划线组成;以字母开头
属性变量的类型及长度如果几个变量具有相同的属性,可以用类似下面的方式定义:
DCL (A,B,C,D) CHAR(5);
编程基础-变量定义(2)
属性:
CHARACTER (文字) CHAR(n): n列的文字
(3)’TOM’ 等于’TOMTOMTOM’
FIXED DECIMAL (固定10进制数) FIXED DEC(p,q),总长度为p的数字, q位小数
数值 精度 最小值 最大值
3.1416 (5,4) → FIXED DEC (5,4) → -9.9999 9.9999
425 (3,0) → FIXED DEC (3,0) → -999 999
5908.3 (5,1) → FIXED DEC (5,1) → -9999.9 9999.9
007 (3,0) → FIXED DEC (3,0) → -999 999
-3510 (4,0) → FIXED DEC (4,0) → -9999 9999
.0048 (4,4) → FIXED DEC (4,4) → -0.9999 0.9999
255.
最大精度FIXED DEC(15)编程基础-变量定义(3)
属性:
FIXED BINARY (固定2进制数) FIXED BIN(p,q),总长度为2p的数字, 2q位小数
数值 精度 最小值 最大值
10110B (5,0) → FIXED BIN (5) → -32 31
11111B (5,0) → FIXED BIN (5) → -32 31
-101B (3,0) → FIXED BIN (3) → -8 8
1011.111B (7,3) → FIXED BIN (7,3) → -16 15
最大精度FIXED BIN(31) - 2 p 2 p-1
其它数据类型
BIT bit data
GRAPHIC 双字节
FLOAT DECIMAL 浮点10进制数
FLOAT BINARY 浮点2进制数
编程基础-变量定义(4)
属性:
PICTURE for CharacterPicture Characters 说明
X 任意一个字符(二进制0-256).
A 任意一个字母, #, @, $, blank.
9 任意一个数字或blank.
编程基础-变量定义(5)
属性:
PICTURE for Numeric Character Data
Picture Characters 说明 备注
9 V 数字和小数点字符 V并不指明小数点符号
Z * 去前导零字符用空或’*’代替 Z和*不可同时出现
, . / B 嵌入字符
S + - $ 符号和货币字符 S:>=0时为+,否则为-
+ - :>=0时为+或-,否则 为空
CR DR T I R Y 贷(<0), 借, 重定义和零置换字符 Y:无论前导零或非零,用 空替换。
T I R:附加穿孔记号用。
K E 指数
F 比例因数
编程基础-变量定义(6)
属性:
PICTURE(编辑用文字) PIC’ZZZ9’
要编辑的数 PIC 指定 结果
01111 99999 01111
01111 ZZZZZ 1111
01111 ZZ,ZZ9 1,111
00222 999B99 002_22
00222 ZZBBZZ 2_ _22
0 ZZZ9 0
0 ZZZZ
01111 $$,$$9 $1,111
编程基础-变量定义(7)
结构定义:
DCL 1 结构名
层次 变量名1 属性,
层次 变量名2 属性,
…. ….. …. ,
层次 变量名n 属性;
层次: 2-255之间的整数(最大15层)
(例)
DCL 1 A1,
3 A11 CHAR(3),
3 A12 FIXED DEC(9),
3 A13 CHAR(4);
定义时不要多重定义和不唯一定义.
编程基础-变量定义(8)
指针定义:
DCL 变量名PTR; PTR是POINTER的省略DCL P PTR;
DCL A CHAR(10) INIT(‘ABCDEFGHIJ’);
DCL 1 B BASED(P),
3 B1 CHAR(7),
3 B2 CHAR(3);
DCL ADDR BUILTIN;
P = ADDR(A);
编程基础-文件定义(1)
文件的定义:
DCL 文件名FILE [ STREAM|RECORD ] [ INPUT|OUTPUT|UPDATE ] [ PRINT ];
1) DCL DECLARE的省略
2) 文件名以字母开头,7位以下的字母与数字组合
3) FILE 表示定义的是文件
4) 数据传送类型默认为STREAM(具体见下页)
5) 输入输出类型指定文件的输入输出种类
6) 印刷属性印刷输出时指定(例) DCL FTOUR FILE RECORD ;
DCL FOUT FILE STREAM PRINT OUTPUT;
(注1) SYSIN 和SYSPRINT等的定义可以省略
(注2)上记4,5,6的选项可以在文件打开时指定
编程基础-文件定义(2)
文件的定义:
数据传送的种类
RECORD方式
文件是由记录(RECORD)组成的;
用READ,WRITE命令进行处理
STREAM方式
文件是连续的数据组成;
用GET,PUT命令进行处理变量的默认值
PL/I里如果没有对变量进行定义,则有以下的规则:
字母I~N开头的变量默认为FIXED BIN(15)
I~N以外字母开头的变量默认为FLOAT DEC(6)
编程基础-运算符
算术运算符(‘+’,’-’,’*’,’/’,’**’)
逻辑运算符(‘&’,’|’,’¬’)
比较符(‘<‘,’<=‘,’=‘,’¬=’,’>’,’>=‘)
连接运算符(‘||’)如果两个运算对象都是位串型,不需转换,结果是位串型.在所有其他情形,
在完成连接运算之前运算对象要转换为字符串型,结果是字符串型.若
运算对象中有一个是变长或调用了SUBSTR函数,则结果是变长字符串,
否则是定长的.
编程基础-基本命令(1)
a) OPEN
b) CLOSE
c) PUT
d) GET
e) DO
(1)DO GROUP
(2)DO WHILE
f) END
g) 赋值语句
h) ON STATEMENT
i) READ
j) WRITE
k) IF
l) SELECT
编程基础-基本命令(2)
OPEN FILE(文件名) [ STREAM|RECORD ][SEQUENTIAL|DIRECT][ INPUT|OUTPUT|UPDATE ] [ PRINT LINESIZE(nn) PAGESIZE(nn)];i. FILE(文件名) 文件名:程序中使用的必须与JCL中的DD名一致
ii. 数据传送类型默认为STREAM
iii. RECORD方式传送数据时使用的读取属性,默认为SEQUENTIAL
iv. 输入输出类型
v. 印刷属性 STREAM,OUTPUT时有效
LINESIZE: 一行的长度,默认为120
PAGESIZE: 一页的行数,默认为60
(例)
OPEN FILE(FOUTPUT) RECORD OUTPUT;
OPEN FILE(SYSPRINT) OUTPUT PRINT LINESIZE(132) PAGESIZE(55);
编程基础-基本命令(3)
CLOSE FILE(文件名);
FILE(文件名) 文件名:与OPEN的文件名一致
(例)
CLOSE FILE(FOUTPUT);
CLOSE FILE(SYSPRINT);
编程基础-基本命令(4)
PUT FILE(文件名) [SKIP] EDIT(变量1,变量2….)(格式1,格式2….);
PUT FILE(文件名) [SKIP] EDIT(常量1,常量2….)(格式1,格式2….);
PUT FILE(文件名) [SKIP] EDIT(变量1,常量2….)(格式1,格式2….);PUT EDIT: 编辑输出
SKIP: 换行输出
格式: A(n) n位的文字输出—可省略
F(n) n位的数字输出
X(n) n位空格输出
P’…’ 数字的编辑输出
(例)
DCL A1 FIXED DEC(3) INIT( 123 ),
A2 FIXED DEC(5) INIT( 45678 );
PUT FILE( FOUT ) EDIT ( A1, ‘ABC’, A2 ) (F(3),X(3),A(5),P’ZZZ,ZZ9’);
-> 123 _ _ _ABC_ _ _45,678
编程基础-基本命令(5)
GET FILE(文件名) [SKIP] EDIT(变量1,变量2….)(格式1,格式2….);GET EDIT: 编辑输入
SKIP: 换行输入
格式: A(n) n位的文字输出—可省略
F(n) n位的数字输出
X(n) n位空格输出
(例)
DCL H1 FIXED DEC(5) ,
H2 CHAR(5),
H3 FIXED DEC(7);
GET FILE( FIN ) EDIT ( H1, H2, H3 ) (F(3),X(3),A(3),F(5));
输入123 _ _ _ABC45,678
H1=123,H2=‘ABC’,H3=45678
编程基础-基本命令(6)
(1) DO GROUP
(DO与END之间的语句作为一个STEP执行)
(例)IF A > 20
THEN DO;
B = X * 1.25;
C = Y * 1.10;
END;
ELSE DO;
B = X * 0.90;
C = Y * 0.75;
END;
(2) DO WHILE (循环处理)
DO WHILE(条件);
循环处理;
END;
(3) DO 变量= 初期值TO 终了值[BY 增减值]
编程基础-基本命令(7)
BLOCK或者GROUP的终止标志
END [LABEL]
(例)
LBLX: DO WHILE ( EOF = 0 );
OUT_AREA.XX = IN_AREA.AA;
PUT EDIT ( OUT_AREA.XX) ( A(80));
GET EDIT ( IN_AREA.AA) ( A(80));
END LBLX;
编程基础-基本命令(8)
(1) 变量名1 = 变量名2 | 常量
(例) X = Y;
EOF = 0;
(2) 变量名n = [变量名1 | 常量1 ] 操作符 [变量名2 | 常量2 ] ……;
操作符: + - * / **
(例) X = Y * ( Z + 10);
TOTAL = TOTAL * 0.95;
SUM = SUM + TOTAL;
(3)变量名1 = 变量名2 , BY NAME;
(例) DCL 1 AA,
3 YY CHAR(2) INIT(’04’),
3 MM CHAR(2) INIT(’02’),
3 DD CHAR(2) INIT(’11’);
DCL 1 BB,
3 YY CHAR(2) ,
3 F CHAR(1) INIT(‘/’),
3 MM CHAR(2) ,
3 G CHAR(1) INIT(‘/’),
3 DD CHAR(2) ;
BB = AA, BY NAME;
编程基础-基本命令(9)
ON 条件处理逻辑;
条件:
ERROR
ENDFILE
ENDPAGE
CONVERSION(CONV)
ZERODIVIDE(ZDIV)
FIXEDOVERFLOW(FOFL)
(例)
ON ENDFILE(FIN) EOF = 1 ;
ON ENDPAGE (SYSPRINT)
DO;
PUT PAGE EDIT ( OUT_AREA.XX) ( A(80));
PUT SKIP EDIT ( OUT_AREA.YY) ( A(80));
END ;
编程基础-基本命令(10)
READ
READ FILE(文件名) INTO (变量名);
(例)
READ FILE(FINPUT) INTO (IN_AREA) ;
WRITE
WRITE FILE(文件名) FROM (变量名);
(例)
WRITE FILE(FOUTPUT) FROM (OUT_AREA) ;
编程基础-基本命令(11)
IF 条件
THEN 满足条件的处理;
ELSE 不满足条件的处理;比较种类:
1. 代数比较:
比较以代数形势的带符号数字.要进行数字域转换.
2. 字符比较:
根据对照序列从左到右一对一字符进行比较,若运算对象长度不同则将短的右边补
空格.
3. 位比较:
从左到右对二进制数字进行比较,不足补零.注意: 若比较的对象类型不同,低类的对象将被转为高类的对象.
类型的优先数是(1)算术行(最高)、(2)字符串型、(3)位串
编程基础-基本命令(12)
SELECT多重分支
SELECT (变量名);
WHEN (条件1的值) 处理1;
WHEN (条件2的值) 处理2;
WHEN (条件3的值) 处理3;
WHEN (条件4的值) 处理4;
……
WHEN (条件n值) 处理n;
OTHERWISE 处理n+1;
END;
运行和调试
JCL/PRC/PRM
PDSRXCB.COMMON.JCL(PLIC)
PDSRXCB.COMMON.JCL(PLICL)
PDSRXCB.COMMON.PRC(IEL1C)
PDSRXCB.COMMON.PRC(IEL1CL)
运行和调试
编译错误LEVEL运行和调试
编译返回代码
运行和调试
编译时的CHECK LIST
编译的选项是否正确,是否有足够的编译信息
程序是否写在2—72列之间
变量是否有重名
所有的保留字是否正确
有没有忘记分号
引号是否匹配
括号是否匹配
注释是否用了正确的范围
END的使用是否正确
对输入输出文件的READ/WRITE 是否正确
使用RECORD方式存取数据时,RECORD长度是否与物理长度一致
计算时使用的变量是否都是数字
变量等是否正确的初始化
没有明确定义的变量的属性是否满足处理的需要
运行和调试
PUT [SKIP] LIST(变量1,变量2….);
PUT [SKIP] EDIT(变量1,变量2….)(格式1,格式2….);以上是2种常用的output语句,主要运用于输出运行中的变量内容用于调试程序
DCL A FIXED BIN(15);
DCL B FIXED BIN(15);
DCL C FIXED BIN(31);A = 1;
DO WHILE(A < 11);
B = A + 1;
C = A*B;
PUT SKIP LIST(A || '*' || B || '=' || C);
PUT SKIP EDIT(A,’*’,B,’=‘,C)(F(4),A(1),F(4),A(1),P’Z,ZZZ’);
A= A +!:
END;
过程与函数
<调用时的形式>[ DCL 过程名ENTRY ; ] <- 内部过程时可省略
CALL 过程名[ ( 参数1, 参数2, ……) ];<定义的形式>
过程名: PROC [ ( 参数1, 参数2, ……) ];
…………
…………
END 过程名;
过程与函数(内联)
PROG1A : PROC OPTIONS(MAIN);
DCL
ROUND BUILITIN,
NAMAE CHAR(10),
KOKUGO FIXED DEC( 3),
SANSUH FIXED DEC( 3),
SHAKAI FIXED DEC( 3),
RIKA FIXED DEC( 3),
EIGO FIXED DEC( 3),
GOHKEI FIXED DEC( 3),
HEIKIN FIXED DEC( 5,1),
EOF FIXED DEC( 1) INIT(0);
ON ENDFILE( SYSIN ) EOF = 1;
GET SKIP EDIT ( NAMAE, KOKUGO, SANSUH, SHAKAI, RIKA, EIGO ) ( A(10), 5 F(5) );
DO WHILE ( EOF = 0 );
CALL KEISAN;
PUT SKIP EDIT( NAMAE, GOHKEI, HEIKIN) ( A(10), X(2), F(3), F(5,1) );
GET SKIP EDIT ( NAMAE, KOKUGO, SANSUH, SHAKAI, RIKA, EIGO ) ( A(10), 5 F(5) );
END;
KEISAN : PROC ;
GOHKEI = KOKUGO + SANSUH + SHAKAI + RIKA + EIGO;
HEIKIN = ROUND( GOHKEI/5, 1 );
END KEISAN;
END PROG1A ;
过程与函数(外部)
PROG2A : PROC OPTIONS(MAIN);
DCL
DEGCONV ENTRY,
CONVKEY CHAR( 4),
IN_DEG FIXED DEC( 5),
OUT_DEG FIXED DEC( 5),
EOF FIXED DEC( 1) INIT(0);
ON ENDFILE( SYSIN ) EOF = 1;
GET SKIP EDIT ( CONVKEY, IN_DEG ) ( A( 4), F(5) );
DO WHILE ( EOF = 0 );
CALL DEGCONV( CONVKEY, IN_DEG, OUT_DEG);
PUT LIST( CONVKEY, IN_DEG, ‘’, OUT_DEG);
GET SKIP EDIT ( CONVKEY, IN_DEG ) ( A( 4), F(5) );
END;
END PROG2A ;
*****************************************************************************************
DEGCONV : PROC(P1,P2,P3) ;
DCL P1 CHAR(4),
(P2, P3) FIXED DEC( 5);
IF P1 = ‘FTOC’
THEN P3 = ( 5 * ( P2 – 32 ) )/ 9;
ELSE P3 = 9 * (P2 / 5) + 32;
END DEGCONV;
过程与函数
<调用时的形式>
[ DCL 函数名ENTRY RETURNS (返回值属性); ] <- 内部函数可省略
变量= 函数名[ ( 参数1, 参数2, ……) ];<定义的形式>
函数名: PROC [ ( 参数1, 参数2, ……) ] RETURNS (返回值属性);
…………
…………
RETURN (值);
END 函数名;
过程与函数
PROG1B : PROC OPTIONS(MAIN);
DCL
TEIHEN FIXED DEC( 5),
TAKASA FIXED DEC( 5),
MENSEKI FIXED DEC( 9);
GET LIST ( TEIHEN, TAKASA );
MENSEKI = TRIAREA( TEIHEN, TAKASA );
PUT LIST ( MENSEKI );TRIAREA : PROC(P1, P2) RETURNS( FIXED DEC(9));
DCL (P1, P2) FIXED DEC( 5);
RETURN ( (P1 * P2) / 2);
END TRIAREA;
END PROG1B ;
过程与函数
PROG2B : PROC OPTIONS(MAIN);
DCL
ONSOKU ENTRY(FIXED DEC(3) ) EXTERNAL
RETURNS FIXED DEC( 5,1)),
DEGREEC FIXED DEC( 3);
GET LIST ( DEGREEC );
PUT LIST ( DEGREEC, ONSOKU( DEGREEC ) );
END PROG2B ;
**************************************************************
ONSOKU : PROC(P1) RETURNS( FIXED DEC(5,1));
DCL P1 FIXED DEC( 3);
RETURN ( 331.5 + 0.6 * P1);
END ONSOKU;
过程与函数-系统函数
系统函数的属性定义为BUILTIN,使用方法和自定义函数一样.SUBSTR ( X, Y, [ Z ])
DATE --返回yymmdd格式的6位字符串.yy为年的后两位,mm为月,dd为日
LENGTH ( X )返回X的长度.
SUM ( X )
MAX ( X1, X2,……Xn ) - MIN
MOD ( X, Y )
TIP
一个PROC尽可能控制在一页之内, PROC字符数的最大限制为64K。
使用缩进格式
属性定义格式的对齐
INITIAL部分如果长的话另起一行书写
语句的范围使用END来明确
文件名,数据名,LABEL,过程名等使用表示内容的名字
PLI练习
要求:
调用外部函数
外部函数内容如下:
顺序读取文件中的所有内容
输出文件
报表输出总行数培训ppt课件模板:这是培训ppt课件模板,包括了文章背景知识,认字识词朗诵,课文赏析,拓展训练/分组练习等内容,欢迎点击下载。
幼儿教师师德培训ppt1:这是幼儿教师师德培训ppt1,包括了引言,幼儿园教师师德现状,幼儿园师德建设存在的问题,原因分析,对策建议等内容,欢迎点击下载。
钉钉培训ppt:这是钉钉培训ppt,包括了钉钉软件介绍,钉钉常用功能,公司启用钉钉考勤操作指南,公司启用钉钉时间等内容,欢迎点击下载。