-
- 素材大。
- 352 KB
- 素材授權(quán):
- 免費下載
- 素材格式:
- .ppt
- 素材上傳:
- ppt
- 上傳時間:
- 2016-04-10
- 素材編號:
- 51959
- 素材類別:
- 培訓(xùn)教程PPT
-
素材預(yù)覽
這是一個關(guān)于ibm mainframe培訓(xùn)課程PPT(部分ppt內(nèi)容已做更新升級),主要介紹了簡介、PLI、練習(xí)、IMS、練習(xí)和復(fù)習(xí)等內(nèi)容。培訓(xùn)是給新員工或現(xiàn)有員工傳授其完成本職工作所必需的正確思維認知、基本知識和技能的過程。是一種有組織的知識傳遞、技能傳遞、標(biāo)準傳遞、信息傳遞、管理訓(xùn)誡行為。其中以技能傳遞為主,側(cè)重上崗前進行。為了達到統(tǒng)一的科學(xué)技術(shù)規(guī)范、標(biāo)準化作業(yè),通過目標(biāo)規(guī)劃設(shè)定知識和信息傳遞、技能熟練演練、作業(yè)達成評測、結(jié)果交流公告等現(xiàn)代信息化的流程,讓員工通過一定的教育訓(xùn)練技術(shù)手段,達到預(yù)期的水平,提高目標(biāo)。目前國內(nèi)培訓(xùn)以技能傳遞為主,時間在側(cè)重上崗前。
ibm mainframe培訓(xùn)課程PPT是由紅軟PPT免費下載網(wǎng)推薦的一款培訓(xùn)教程PPT類型的PowerPoint.
PL/1 For Entry Level Training
By Raymond
內(nèi)容
簡介
PLI
練習(xí)
IMS
練習(xí)和復(fù)習(xí)
概論
PLI VS COBOL
IMS DC VS CICS
IMS DB
編程基礎(chǔ)-規(guī)則(1)
PL/I(Programming Language No.1)的特征
通用性
適用于科學(xué)計算,事務(wù)處理等等各方面
容易理解性,使用日常生活相近的語言(英語)
(例) IF GRADE >= 60
THEN RESULT = “PASS”;
ELSE RESULT = “FAIL”;
書寫簡單性
形式自由– 記述的位置沒有限定
編程基礎(chǔ)-規(guī)則(2)
程序構(gòu)成
編程基礎(chǔ)-規(guī)則(3)
程序的構(gòu)成(例)
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(xiàn)(5),F(xiàn)(6));
/*** COMPUTE ****/
TOTAL = PRICE * AMOUNT;
/*** OUTPUT ****/
PUT EDIT(BAR_CODE,NAME,TOTAL)
(A(5),X(3),A(10),X(2),F(xiàn)(11));
END REI01;
編程基礎(chǔ)-規(guī)則(4)
程序名
英文字母或者數(shù)字
以英文字母開頭
7文字以內(nèi)
與其它的程序不能同名
記述的位置
編程基礎(chǔ)-規(guī)則(5)
語句的形式
變量,保留字,符號等之間用一個或以上的空格分隔
以分號結(jié)束一條語句
PL/I里可以使用的文字
數(shù)字
英文字母
特殊記號= + - * / ( ) ; : . ‘ & | > < _ % ? HEX(‘5F’)
空格
注釋用/* */編程基礎(chǔ)-變量定義(1)
變量的定義(DECLARE語句)
DCL DECLARE的省略
變量名31個文字以內(nèi);英文字母,數(shù)字或者下劃線組成;以字母開頭
屬性變量的類型及長度如果幾個變量具有相同的屬性,可以用類似下面的方式定義:
DCL (A,B,C,D) CHAR(5);
編程基礎(chǔ)-變量定義(2)
屬性:
CHARACTER (文字) CHAR(n): n列的文字
(3)’TOM’ 等于’TOMTOMTOM’
FIXED DECIMAL (固定10進制數(shù)) FIXED DEC(p,q),總長度為p的數(shù)字, q位小數(shù)
數(shù)值 精度 最小值 最大值
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)編程基礎(chǔ)-變量定義(3)
屬性:
FIXED BINARY (固定2進制數(shù)) FIXED BIN(p,q),總長度為2p的數(shù)字, 2q位小數(shù)
數(shù)值 精度 最小值 最大值
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
其它數(shù)據(jù)類型
BIT bit data
GRAPHIC 雙字節(jié)
FLOAT DECIMAL 浮點10進制數(shù)
FLOAT BINARY 浮點2進制數(shù)
編程基礎(chǔ)-變量定義(4)
屬性:
PICTURE for CharacterPicture Characters 說明
X 任意一個字符(二進制0-256).
A 任意一個字母, #, @, $, blank.
9 任意一個數(shù)字或blank.
編程基礎(chǔ)-變量定義(5)
屬性:
PICTURE for Numeric Character Data
Picture Characters 說明 備注
9 V 數(shù)字和小數(shù)點字符 V并不指明小數(shù)點符號
Z * 去前導(dǎo)零字符用空或’*’代替 Z和*不可同時出現(xiàn)
, . / B 嵌入字符
S + - $ 符號和貨幣字符 S:>=0時為+,否則為-
+ - :>=0時為+或-,否則 為空
CR DR T I R Y 貸(<0), 借, 重定義和零置換字符 Y:無論前導(dǎo)零或非零,用 空替換。
T I R:附加穿孔記號用。
K E 指數(shù)
F 比例因數(shù)
編程基礎(chǔ)-變量定義(6)
屬性:
PICTURE(編輯用文字) PIC’ZZZ9’
要編輯的數(shù) PIC 指定 結(jié)果
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
編程基礎(chǔ)-變量定義(7)
結(jié)構(gòu)定義:
DCL 1 結(jié)構(gòu)名
層次 變量名1 屬性,
層次 變量名2 屬性,
…. ….. …. ,
層次 變量名n 屬性;
層次: 2-255之間的整數(shù)(最大15層)
(例)
DCL 1 A1,
3 A11 CHAR(3),
3 A12 FIXED DEC(9),
3 A13 CHAR(4);
定義時不要多重定義和不唯一定義.
編程基礎(chǔ)-變量定義(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);
編程基礎(chǔ)-文件定義(1)
文件的定義:
DCL 文件名FILE [ STREAM|RECORD ] [ INPUT|OUTPUT|UPDATE ] [ PRINT ];
1) DCL DECLARE的省略
2) 文件名以字母開頭,7位以下的字母與數(shù)字組合
3) FILE 表示定義的是文件
4) 數(shù)據(jù)傳送類型默認為STREAM(具體見下頁)
5) 輸入輸出類型指定文件的輸入輸出種類
6) 印刷屬性印刷輸出時指定(例) DCL FTOUR FILE RECORD ;
DCL FOUT FILE STREAM PRINT OUTPUT;
(注1) SYSIN 和SYSPRINT等的定義可以省略
(注2)上記4,5,6的選項可以在文件打開時指定
編程基礎(chǔ)-文件定義(2)
文件的定義:
數(shù)據(jù)傳送的種類
RECORD方式
文件是由記錄(RECORD)組成的;
用READ,WRITE命令進行處理
STREAM方式
文件是連續(xù)的數(shù)據(jù)組成;
用GET,PUT命令進行處理變量的默認值
PL/I里如果沒有對變量進行定義,則有以下的規(guī)則:
字母I~N開頭的變量默認為FIXED BIN(15)
I~N以外字母開頭的變量默認為FLOAT DEC(6)
編程基礎(chǔ)-運算符
算術(shù)運算符(‘+’,’-’,’*’,’/’,’**’)
邏輯運算符(‘&’,’|’,’¬’)
比較符(‘<‘,’<=‘,’=‘,’¬=’,’>’,’>=‘)
連接運算符(‘||’)如果兩個運算對象都是位串型,不需轉(zhuǎn)換,結(jié)果是位串型.在所有其他情形,
在完成連接運算之前運算對象要轉(zhuǎn)換為字符串型,結(jié)果是字符串型.若
運算對象中有一個是變長或調(diào)用了SUBSTR函數(shù),則結(jié)果是變長字符串,
否則是定長的.
編程基礎(chǔ)-基本命令(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
編程基礎(chǔ)-基本命令(2)
OPEN FILE(文件名) [ STREAM|RECORD ][SEQUENTIAL|DIRECT][ INPUT|OUTPUT|UPDATE ] [ PRINT LINESIZE(nn) PAGESIZE(nn)];i. FILE(文件名) 文件名:程序中使用的必須與JCL中的DD名一致
ii. 數(shù)據(jù)傳送類型默認為STREAM
iii. RECORD方式傳送數(shù)據(jù)時使用的讀取屬性,默認為SEQUENTIAL
iv. 輸入輸出類型
v. 印刷屬性 STREAM,OUTPUT時有效
LINESIZE: 一行的長度,默認為120
PAGESIZE: 一頁的行數(shù),默認為60
(例)
OPEN FILE(FOUTPUT) RECORD OUTPUT;
OPEN FILE(SYSPRINT) OUTPUT PRINT LINESIZE(132) PAGESIZE(55);
編程基礎(chǔ)-基本命令(3)
CLOSE FILE(文件名);
FILE(文件名) 文件名:與OPEN的文件名一致
(例)
CLOSE FILE(FOUTPUT);
CLOSE FILE(SYSPRINT);
編程基礎(chǔ)-基本命令(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位的數(shù)字輸出
X(n) n位空格輸出
P’…’ 數(shù)字的編輯輸出
(例)
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
編程基礎(chǔ)-基本命令(5)
GET FILE(文件名) [SKIP] EDIT(變量1,變量2….)(格式1,格式2….);GET EDIT: 編輯輸入
SKIP: 換行輸入
格式: A(n) n位的文字輸出—可省略
F(n) n位的數(shù)字輸出
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(xiàn)(5));
輸入123 _ _ _ABC45,678
H1=123,H2=‘ABC’,H3=45678
編程基礎(chǔ)-基本命令(6)
(1) DO GROUP
(DO與END之間的語句作為一個STEP執(zhí)行)
(例)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 (循環(huán)處理)
DO WHILE(條件);
循環(huán)處理;
END;
(3) DO 變量= 初期值TO 終了值[BY 增減值]
編程基礎(chǔ)-基本命令(7)
BLOCK或者GROUP的終止標(biāo)志
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;
編程基礎(chǔ)-基本命令(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;
編程基礎(chǔ)-基本命令(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 ;
編程基礎(chǔ)-基本命令(10)
READ
READ FILE(文件名) INTO (變量名);
(例)
READ FILE(FINPUT) INTO (IN_AREA) ;
WRITE
WRITE FILE(文件名) FROM (變量名);
(例)
WRITE FILE(FOUTPUT) FROM (OUT_AREA) ;
編程基礎(chǔ)-基本命令(11)
IF 條件
THEN 滿足條件的處理;
ELSE 不滿足條件的處理;比較種類:
1. 代數(shù)比較:
比較以代數(shù)形勢的帶符號數(shù)字.要進行數(shù)字域轉(zhuǎn)換.
2. 字符比較:
根據(jù)對照序列從左到右一對一字符進行比較,若運算對象長度不同則將短的右邊補
空格.
3. 位比較:
從左到右對二進制數(shù)字進行比較,不足補零.注意: 若比較的對象類型不同,低類的對象將被轉(zhuǎn)為高類的對象.
類型的優(yōu)先數(shù)是(1)算術(shù)行(最高)、(2)字符串型、(3)位串
編程基礎(chǔ)-基本命令(12)
SELECT多重分支
SELECT (變量名);
WHEN (條件1的值) 處理1;
WHEN (條件2的值) 處理2;
WHEN (條件3的值) 處理3;
WHEN (條件4的值) 處理4;
……
WHEN (條件n值) 處理n;
OTHERWISE 處理n+1;
END;
運行和調(diào)試
JCL/PRC/PRM
PDSRXCB.COMMON.JCL(PLIC)
PDSRXCB.COMMON.JCL(PLICL)
PDSRXCB.COMMON.PRC(IEL1C)
PDSRXCB.COMMON.PRC(IEL1CL)
運行和調(diào)試
編譯錯誤LEVEL運行和調(diào)試
編譯返回代碼
運行和調(diào)試
編譯時的CHECK LIST
編譯的選項是否正確,是否有足夠的編譯信息
程序是否寫在2—72列之間
變量是否有重名
所有的保留字是否正確
有沒有忘記分號
引號是否匹配
括號是否匹配
注釋是否用了正確的范圍
END的使用是否正確
對輸入輸出文件的READ/WRITE 是否正確
使用RECORD方式存取數(shù)據(jù)時,RECORD長度是否與物理長度一致
計算時使用的變量是否都是數(shù)字
變量等是否正確的初始化
沒有明確定義的變量的屬性是否滿足處理的需要
運行和調(diào)試
PUT [SKIP] LIST(變量1,變量2….);
PUT [SKIP] EDIT(變量1,變量2….)(格式1,格式2….);以上是2種常用的output語句,主要運用于輸出運行中的變量內(nèi)容用于調(diào)試程序
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(xiàn)(4),A(1),P’Z,ZZZ’);
A= A +!:
END;
過程與函數(shù)
<調(diào)用時的形式>[ DCL 過程名ENTRY ; ] <- 內(nèi)部過程時可省略
CALL 過程名[ ( 參數(shù)1, 參數(shù)2, ……) ];<定義的形式>
過程名: PROC [ ( 參數(shù)1, 參數(shù)2, ……) ];
…………
…………
END 過程名;
過程與函數(shù)(內(nèi)聯(lián))
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 ;
過程與函數(shù)(外部)
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;
過程與函數(shù)
<調(diào)用時的形式>
[ DCL 函數(shù)名ENTRY RETURNS (返回值屬性); ] <- 內(nèi)部函數(shù)可省略
變量= 函數(shù)名[ ( 參數(shù)1, 參數(shù)2, ……) ];<定義的形式>
函數(shù)名: PROC [ ( 參數(shù)1, 參數(shù)2, ……) ] RETURNS (返回值屬性);
…………
…………
RETURN (值);
END 函數(shù)名;
過程與函數(shù)
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 ;
過程與函數(shù)
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;
過程與函數(shù)-系統(tǒng)函數(shù)
系統(tǒng)函數(shù)的屬性定義為BUILTIN,使用方法和自定義函數(shù)一樣.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盡可能控制在一頁之內(nèi), PROC字符數(shù)的最大限制為64K。
使用縮進格式
屬性定義格式的對齊
INITIAL部分如果長的話另起一行書寫
語句的范圍使用END來明確
文件名,數(shù)據(jù)名,LABEL,過程名等使用表示內(nèi)容的名字
PLI練習(xí)
要求:
調(diào)用外部函數(shù)
外部函數(shù)內(nèi)容如下:
順序讀取文件中的所有內(nèi)容
輸出文件
報表輸出總行數(shù)培訓(xùn)ppt課件模板:這是培訓(xùn)ppt課件模板,包括了文章背景知識,認字識詞朗誦,課文賞析,拓展訓(xùn)練/分組練習(xí)等內(nèi)容,歡迎點擊下載。
幼兒教師師德培訓(xùn)ppt1:這是幼兒教師師德培訓(xùn)ppt1,包括了引言,幼兒園教師師德現(xiàn)狀,幼兒園師德建設(shè)存在的問題,原因分析,對策建議等內(nèi)容,歡迎點擊下載。
釘釘培訓(xùn)ppt:這是釘釘培訓(xùn)ppt,包括了釘釘軟件介紹,釘釘常用功能,公司啟用釘釘考勤操作指南,公司啟用釘釘時間等內(nèi)容,歡迎點擊下載。