目录 1
第一章 PL/I程式的基本结构 PL/I BASIC STRUCTURE 1
1-1 PL/I程式的基本结构(Basic Structure) 1
1-2 程式撰写格式纸(Coding Form) 5
1-3 常数与变数 6
1-4 自定性质(Default Attributes) 6
1-5 七个基本叙述(Statements)及注解(Comment) 7
(范例1-1)求考试平均分数 10
(范例1-2)1加到100 14
第二章 宣告叙述及资料性质 DECLARE STATEMENT AND DATA ATTRIBUTES 19
2-1 宣告叙述(Declare Statement) 19
2-2 初值设定(Initial Attribute) 21
2-3 复数性质(Comp lex Attribute) 22
2-4 部份宣告(Partial Declare) 23
2-5 资料的宣告(Data Declaration) 24
(范例2-1)如何宣告资料 29
(范例2-2)计程车费 31
第三章 名列引导的输入/输出 LIST DIRECTED I/O 37
3-1 GET LIST叙述 38
3-2 PUT LIST叙述 38
(范例3-1)列印FIBONACCI数列 40
第四章 资料的运算及转换 DATA OPERATION AND CONVERSION 47
4-1 资料运算(Data Operation) 47
4-2 逻辑运算(Logic Operation) 47
4-3 列串连结(Concatenation) 48
4-4 资料运算的优先顺序(Priority of Operation) 48
4-5 资料的转换(Data Conversion) 49
4-6 逻辑值及逻辑运算 49
(范例4-1)求一元二次方程式之根 50
(范例4-2)自来水系统 52
第五章 IF叙述(IF STATEMENT) 59
5-1 IF叙述 59
5-2 空ELSE叙述(NULL ELSE Statement) 61
5-3 DO群(DO-Group) 62
5-4 SELECT群(SELECT Group) 63
(范例5-1)平面点之位置 70
第六章 资料引导的输入/输出 DATA DIRECTED I/O 75
6-1 一般规则(General Rules) 75
6-2 控制选择(Control Option) 76
(范例6-1)购物费统计 77
(范例6-2)自来水系统 79
7-2 图式资料的种类 85
7-1 图式资料的宣告 85
第七章 图式资料 PICTURE 85
7-3 图式资料的功能及算术运算 90
7-4 DEFINED及POSITION性质 92
(范例7-1)熟练图式资料 93
第八章 编辑引导的输入/输出 EDIT DIRECTED I/O 99
8-1 格式列(Format List) 99
8-2 资料格式(Data Format) 100
8-3 控制格式(Control Format) 102
8-4 遥指格式(Remote Format) 103
8-5 一般规则(General Rules) 104
8-6 内部转移的STRING选择(STRING Option) 104
8-7 DISPLAY/REPLY叙述 106
(范例8-1)印学生成绩表 107
(范例8-2)卡片列表(80/80 LIST) 110
(范例8-3)印订户地址标签 113
(范例8-4)DISPLAY/REPLY的使用 116
第九章 列阵 ARRAY 123
9-1 列阵(ARRAY) 123
9-2 足标(Subscript) 124
9-3 列阵的截面(Cross Section of Arrays) 124
9-4 列阵的输入/输出(Input/Output of Arrays) 125
9-5 列阵的初值设定(Initial Attribute for Arrays) 126
9-6 列阵的运算(Operation of Arrays) 126
9-7 标记的列阵(Arrays of Label) 128
9-8 列阵的DEFINED性质——重定部份列阵 129
(范例9-1)列印新旧价格表 131
(范例9-2)列阵的DEFINED 133
10-1 DO叙述(DO Statement) 141
第十章 DO叙述 DO STATEMENT 141
10-2 多组格式(Multiple Specification) 144
10-3 巢式DO群(Nested DO Group) 145
10-4 DO群在资料列的使用(DO Group in Data List) 146
10-5 LEAVE叙述 147
(范例10-1)计算并列印各种贷款偿还时之本息表 148
(范例10-2)兑换零钞 152
(范例10-3)二极管电压及电流之关系 154
(范例10-4)求最大公约数GCD 155
(范例10-5)SORT 157
第十一章 结构 STRUCTURE 161
11-1 结构的宣告(Declare of Structure) 161
11-2 修饰名称(Qualified Name) 163
11-3 结构与列阵(Structure and Array) 163
11-4 LIKE性质(LIKE Attribute) 164
11-5 结构的运算(Structure Operation) 165
11-6 结构的输入/输出(Structure Input/Output) 169
11-7 结构的DEFINED性质 171
11-8 造入函数STRING 172
(范例11-1)员工薪津造册 173
第十二章 档案的宣告 FILE DECLARATION 179
12-1 档案(Files) 179
12-2 逻辑录与实体录(Logical Record and Physical Record) 182
12-3 缓冲器(Buffer) 183
12-4 档案的型式(File Format) 184
12-5 档案的宣告(File Declaration) 187
12-6 档案的性质(Attributes of File) 187
12-7 OPEN与CLOSE叙述 195
12-8 系统标准档案(System Standard Files) 197
(范例12-1)卡片列表(Card to Printer) 199
(范例12-2)卡片录磁带档(Card to Tape) 204
(范例12-3)卡片资料列表并建磁带档(Card to Printer Tape) 211
(范例12-4)卡片资料转录磁带档或磁碟档(档案变数之应用) 213
第十三章 中断条件 ON CONDITION 219
13-1 ON叙述(ON Statement) 219
13-2 中断条件的分类(Classification of Conditions) 220
13-3 计算的条件(Computational Conditions) 221
13-4 其他常用的中断条件(Some Conditions) 223
13-5 活动/不活动与条件首标(ENABLED/DISABLED and Condition Prefix) 225
13-6 中断条件的范围(Scope of Interrupt Conditions) 226
13-7 条件首标的范围(Scope of Condition Prefix) 226
13-8 SIGNAL叙述 228
13-9 程式师自定的条件(CONDITION Condition) 228
13-10 ERROR条件(ERROR Condition) 231
13-11 CHECK条件(CHECK Condition) 232
13-12 REVERT叙述 235
(范例13-1)卡片列表 237
(范例13-2)销售记录条形图(Sales History Chart) 239
(范例13-3)磁带档列表并抄录磁碟档(Tape to Printer and Disk) 243
(范例13-4)磁带档列表(Disk to Printer) 247
第十四章 造入函数 BUILT-IN FUNCTION 251
14-1 引数(Arguments) 251
14-2 BUILTIN性质(BUILTIN Attribute) 252
14-3 造入函数的种类(Classification of Built-in Function) 253
14-4 假变数(Pseudo Variable) 255
14-5 算术的造入函数(Arithmetic Built-in Functions) 257
(范例18-2)八王后(Eight Queens) 262
14-6 列串的处理(String-Handling) 263
14-7 DATE与TIME 272
14-8 列阵的处理(Array-Handing) 272
14-9 输入/输出的造入函数——COUNT与LINENO 275
14-10 条件处理(Condition-Handling) 276
14-11 通用的错误处理程式 278
(范例14-1)计算学期总成绩 279
(范例14-2)换字 282
(范例14-3)函数图形 285
第十五章 程式的组织及控制 PROGRAM ORGANIZATION AND CONTROL 293
15-1 开始段(BEGIN Block) 293
15-2 程序段(PROCEDURE Block) 295
15-3 内在程序与外在程序(In ternal and External Procedures ) 296
15-4 主进入点及次进入点(Primary and Secondary Entry Point) 298
15-5 段的休止(Termination of Blocks) 300
15-6 ON叙述的SNAP选择(SNAP Options) 301
16-1 函数程序(Function Procedure) 307
第十六章 函数 FUNCTIONS 307
16-3 函数之结果值的性质及RETURNS 309
16-2 引数与参数(Argumen ts Versus Parameters) 309
16-4 外在程序与ENTRY性质 310
16-5 EXTERNAL性质 313
(范例16-1)计算薪资所得税 314
(范例16-2)Gregorian Date与Julian Date转换 324
(范例16-3)开工、完工及工期 325
(范例16-4)国民身份证统一编号的检核 330
第十七章 副程式 SUBROUTINE 335
(范例17-1)魔术方阵(Magic Squares) 339
(范例17-2)GREGORIAN DATE与JULIAN DATE的转换 344
(范例17-3)矩阵列表 345
(范例17-4)矩阵与向量相乘(Matrix-Vector Multiplication) 346
(范例17-5)矩阵与矩阵相乘(Matrix-Matrix Multiplication) 349
第十八章 重现程序 RECURSIVE PROCEDURE 355
(范例18-1)求最大公约数-GCD 360
(范例18-3)骑士路径(Knight Tour) 369
第十九章 资料录的输入/输出 RECORD I/O 375
19-1 资料流与资料录(Stream and Record) 375
19-2 资料录的输入/输出(Record I/O) 377
19-3 列表机及打卡机的控制(Printer/Punch Control) 381
19-4 资料录的存取方式(Access Method) 384
19-5 顺序型档案的处理(Handling Consecutive File) 385
(范例19-1)图书订购状况列表 386
(范例19-2)顺序检查(Sequence Checking) 390
(范例19-3)建立薪资主档(Payroll Master File Creation) 393
(范例19-4)合并薪资档(Merge Payroll File) 396
(范例19-5)人事资料建档及检核(Personnel File Creation and Editing) 402
第二十章 索引型档案 INDEXED FILE 417
20-1 资料键(Key) 417
20-2 磁碟简介 419
20-3 索引型档案的特性及构造 425
20-4 索引型档案的处理 431
20-5 索引型档案的建立 431
20-6 索引型档案有关的叙述 433
20-7 索引型档案有关的一些条件 436
20-8 处理索引型档案的控制叙述(JCL) 437
(范例20-1)以索引型档案建立员工劳保作业主档 440
(范例20-2)索引型档案的备用(BACK UP)及列表 443
(范例20-3)索引型档案的更新 447
21-2 静态型(Static) 455
21-1 自动型(Automatic) 455
第二十一章 动态储存体 DYNAMIC STORAGE 455
21-3 控制型(Controlled) 456
21-4 基础型(Based) 459
21-5 列表的建立(Building Lists) 462
21-6 造入函数NULL(NULL Built-in Function) 463
21-7 AREA和OFFSET性质 464
21-8 基础型与指位变数的一般规则(Additional Rules About Based Locator Variable) 467
21-9 基础型变数和输入/输出(BasedVariables and I/O) 468
21-10 移动方式及指位方式(Move Mode and Locate Mode) 469
(范例21-1)控制型变数的使用 475
(范例21-2)指位方式的输入/输出(Locate Mode I/O) 476
(范例21-3)列表的建立 477
第二十二章 PL/I SORT 483
22-1 分类与合并(SORT and MERGE) 483
22-2 呼叫SORT/MERGE应用程式 487
22-3 SORT/MERGE资料集的使用 489
22-4 CALL叙述的使用 490
22-5 实例说明 493
第二十三章 结构化程式设计 499
23-1 结构化程式的特性 499
23-2 五种基本结构 501
23-2-1 循序结构(Sequence structure) 501
23-2-2 选择结构(IF-THEN-ELSE Structure) 502
23-2-3 重覆结构DO-WHILE(DO-WHILE Structure) 503
23-2-4 重覆结构DO-UNTIL(DO-UNTIL Structure) 504
23-2-5 CASE结构(CASE Structure) 505
(范例23-1)质数(Prime Number) 506
(范例23-2)二分搜寻法(Binary Search) 510
(范例23-3)线性列表(Linear List) 515
(范例23-4)二元树(Binary Tree) 518
附录 525
1.PL/I程式的执行 PL/I PROGRAM EXECUTION 525
2.PL/I编译程式的选择 PL/I COMPILER OPTIONS 533
3.PL/I输出列表 PL/I OUTPUT LISTING 539
4.IBM S/360及S/370的储存资料方式 IBM S/360 AND S/370 DATA FORMATS 551
5.EBCDIC字元码 EBCDIC CHARACTER CODE 555
6.专用字汇总表 KEYWORD SUMMARY 557
7.资料转换及运算 DATA CONVERSION 563
8.ON-CODE汇总表 ON-CODE SUMMARY 581
9.造入函数汇总表 BUILT-IN FUNCTION SUMMARY 587
10.PL/I叙述汇总表 PL/I STATEMENTS SUMMARY 595
参考书目 601
索引 603