目 录 1
第一章基本数据结构 1
1.1数据和数据结构 1
1.2队 列 2
一、队列的定义及其运算 2
二、通用制表程序BG.BAS的改进 (91 3
二、循环队列 5
11.2搜索技术 (51 6
1.3堆 栈 7
一、栈的定义及其运算 7
二、栈的应用 8
1.4链 表 10
一、单向链表 11
二、循环链表 13
三、双向链表 16
四、链接式队列和堆栈 18
五、链表式稀疏数组 19
一、树和二叉树 21
1.5二 叉树 21
二、二叉树的建立 22
三、二叉树的遍历 24
四、排序二叉树 25
五、二叉树稀疏数组 28
1.6散列表 29
一、散列函数的构造方法 29
二、处理冲突的方法 30
三、用散列法处理稀数组 31
一、内部排序和外部排序 33
二、排序算法的分类 33
第二章排 序 33
2.1排序方法综述 33
三、排序算法的评价原则 34
四、排序数据的物理表示 34
2.2选择排序法 34
一、简单选择排序 34
二、树选择排序 35
三、堆排序 36
2.3交换排序法 37
一、冒泡排序法 37
二、拉锯式排序法 38
2.4插入排序法 39
一、直接插入排序 39
二、其它插入排序法 40
2.5希尔排序法 41
2.6快速排序法 42
2.7基数排序法 43
2.8其它数据结构的排序 46
一、字符串的排序 46
二、结构的排序 47
2.9外部文件的排序 48
一、随机文件的排序 48
二、归并排序法 50
一、排序方法的比较 52
2.10一个通用排序程序 52
二、通用排序程序 53
2.11 查找 56
一、顺序查找 56
二、折半查找 57
一、C语言若干成分的使用技巧 58
3.1 C语言使用技巧 58
第三章高级语言使用技巧 58
二、C语言与数据库的接口技术 66
三、C语言编程技巧 78
3.2 PASCAL语言使用技巧 93
一、Turbo Pascal与dBASEⅢ数据通信 93
二、Turbo Pascal 4.0下图形驱动程序和字体文件的连接技术 94
三、利用Turbo Pascal绘图子程序实现FoxBASE-的图形功能 97
四、利用Turbo Pascal实现中断服务例程 99
五、汉字环境下运行Turbo Pascal程序 100
六、Turbo Pascal中传递过程参数的有效途径 103
七、Turbo Pascal 4.0的内存动态分配与释放机制 104
八、Turbo Pascal中的复数定义 106
九、Turbo Pascal大数组的动态存取方法 109
十、用Turbo Pascal 4.0开发中断服务程序 113
一、三种BASIC语言系统开发环境概述 114
3.3 BASIC语言使用技巧 114
二、BASIC语言若干语句的使用技巧 116
三、一种直接可执行文件生成BASIC映象文件的方法 121
四、BASIC语言与数据库相互作用 123
五、BASIC语言的编程技巧 131
3.4 FORTRAN语言的作用技巧 138
一、IBM PC FORTRAN屏幕功能的扩展 138
二、FORFRAN语言递归调用的一种方法 142
三、IBM FORTRAN语言数据通讯功能的实现方法 145
四、MS-FORTRAN访问中断的方法 148
五、FORTRAN对DBF数据文件的直接读取 151
六、IBM FORTRAN数据空间的扩展 152
七、实用的FORTRAN子程序 158
三、参数传递约定要求 164
第四章混合语言程序设计技术 164
二、调用约定要求 164
一、命名约定要求 164
4.1 概 述 164
4.2 C语言与汇编语言的接口 165
一、MS-C语言对汇编语言程序调用方式 165
二、TurboC语言汇编程序调用方式 175
4.3 C语言与其它高级语言的接口 180
一、C与其它高级语言之间的数据共享 180
二、MS-C语言对Pascal语言程序的调用 181
三、Turbo C对Turbo Pascal程序的调用 182
四、C语言对FORTRAN语言程序的调用 184
五、C语言对BASIC语言的调用 185
4.4 Pascal与汇编语言之间的接口 186
一、Pascal对汇编语言调用方式 186
二、MS-Pascal对汇编语言程序调用方式 187
三、Turbo Pascal对汇编语言程序调用方式 188
4.5 Pascal与其它高级语言的接口 192
一、Pascal语言的接口技术 192
二、Pascal语言对C语言程序的调用 192
三、Pascal语言对FORTRAN语言程序的调用 197
四、Pascal语言对BASIC语言程序的调用 198
4.6 FORTRAN与汇编语言之间的接口 199
4.7 FORTRAN与其它高级语言的接口 200
一、FORTRAN语言的接口技术 200
二、FORTRAN语言对C语言程序的调用 201
三、FORTRAN对PASCAL程序的调用 202
四、FORTRAN对BASIC程序的调用 203
4.8 BASIC与汇编语言之间的接口 204
一、解释BASIC与汇编语言之间的接口 204
二、编译BASIC与汇编语言之间的接口 209
4.9 BASIC与其它高级语言的接口 210
一、BASIC语言的接口技术 210
二、BASIC对C语言的调用 211
三、BASIC对Pascal语言的调用 212
四、BASIC对FORTRAN语言的调用 213
五、BASIC语言调用的限制 214
4.10高级语言中内嵌式汇编程序的编程技术 214
一、TurboC的内嵌式汇编程序的编制 214
二、将汇编机器码直接插入C程序中 218
一、实现接口技术应具有的文件 219
二、链接要点 219
4.11 Turbo proiog和TurboC的接口技术 219
一、装入汇编语言程序模块 221
三、完成接口技术的步骤………………………………………………………………………………………(220)4.12 FoxBASE+调用汇编程序方法 221
二、调用汇编语言程序 222
三、删除汇编语言程序模块 222
四、运行汇编程序的步骤 222
第五章并行程序设计 223
5.1 并行性概念与并行处理技术 223
一、并行计算机 224
二、并行化编译与并行语言 225
三、多处理机的操作系统 228
四、并行算法 231
5.2并发程序设计 232
一、用C语言巧写中断服务程序 232
二、利用定时器中断信号实现多任务进程 234
三、MS DOS环境下实时多任务系统的开发 235
四、MS DOS环境下有限多任务的实现技术 236
五、微机网络信息系统中并发控制问题 238
六、用Turbo Pascal 4.0编制并发程序 240
5.3并行程序设计 247
一、编制一个Transputer网络的测试程序 247
二、Transputer上线性系统的并行求解 251
6.1与机器硬件打交道 255
一、控制CPU 255
二、内存读写 255
第六章系统资源的编程利用 255
三、外设口地址操作 256
6.2访问系统数据结构 260
一、访问内存低地址的RAM通信区 260
二、访问程序PSP前缀 262
三、访问其它系统数据 265
6.3 BIOS与DOS中断调用 265
一、BIOS与DOS中断调用功能列表及调用方式 266
二、显示器管理 268
三、键盘操作 272
四、打印服务 273
五、确定设备配置情况 274
六、确定内存容量 276
七、服务时间 276
八、磁盘服务 277
一、功能调用及其使用 278
6.4 DOS系统功能调用 278
二、文件管理 282
6.5 UNIX的系统调用 291
一、低层I/O 291
二、文件操作 291
三、进程控制 293
四、管道通信 296
五、信号灯与P、V操作 298
7.1 中断程序设计 300
二、中断程序设计的步骤 300
一、什么时候要自编中断处理程序 300
第七章面向系统的程序设计 300
三、中断处理程序的编写 302
四、完善现有的DOS中断与BIOS中断 305
7.2缓冲技术 306
一、循环缓冲队列的设计 306
二、C语言中带缓冲的键盘输入 307
三、缓冲区大小的考虑 308
四、注意缓冲区满的处理 308
7.3覆盖技术 309
7.4 中断向量表巧用于进程间交换信息 310
二、int 67H 313
一、EMS概述 313
7.5扩充内存的使用 313
三、使用扩充内存的一般步骤 314
二、编写TSR时需注意的问题 321
一、公开与不公开的利与弊 322
二、使用未公开DOS功能调用的必要性 322
7.9使用DOS未公开的功能调用 322
三、若干未公开的调用 323
7.10多任务型TSR 324
一、主要数据结构 324
二、一组自编的完善现有中断处理程序 324
四、文件结构 325
五、multi.exe的生成 325
三、程序结构 325
8.1计算机通信的硬件支持 346
第八章计算机通信编程技术 346
三、Modem进网的技术要求 356
四、Macintosh微机与RS-232C接口串行通信的连接方法 356
8.2计算机通信编程技巧 357
六、用IBM-PC机仿真西门子9750终端及文件传输程序的实现 373
七、中断型串行通信及其环形缓冲器的实现 375
九、单片机软件调制/解调初探 383
一、计算机之间可靠通信的方法 386
8.3若干可靠的串行通信问题及其解决方法 386
二、异步通信适配器的故障测试 388
9.1概 述 390
第九章计算机网络实现技术 390
二、关于微机局域网络的硬件组成 391
9.2局域计算机网络 391
一、发展概况 391
三、局域网络互连的方法 392
9.3计算机网络的编程 394
一、CSMA/CD协议的软件实现 394
二、Novell网络共享汉字的调用 398
三、Novell网点对点实时通信软件设计 399
四、KERMlT的文件传输功能 403
五、NetBIOS的存在性检测 408
六、NetBIOS高速传输文件 415
9.4计算机网络的选择 424
一、几个典型的计算机局域网络 424
二、微机局域网络服务器 431
三、微机局域网络的网络操作系统 432
四、微机局域网络的选择 436
第十章汉字信息处理及应用技巧 437
10.1软件汉化的一般方法 437
一、软件汉化的原则 437
二、软件汉化的主要工作 437
三、软件汉化的基本步骤 438
10.2西文软件的汉化技术 441
一、高级显示输出 442
二、中级显示输出 442
三、低级显示输出 444
一、输入模块的汉化 447
10.3 DEBUG的汉化 447
二、显示输出模块的汉化 447
10.4 C语言中屏幕软件的汉化 449
一、修改include文件 449
二、重编wrefresh()函数 449
三、实现反象显示 450
10.5提示信息的汉化 450
10.6 Turbo集成开发环境的分析和汉化 452
一、Turbo系列软件的使用和分析 452
二、Turbo系列软件的汉化 453
10.7 Turbo汉字输出功能扩展 455
二、直接视频输出 456
三、使用示例 456
一、屏幕控制及汉字输入输出问题 456
10.8 在Turbopascal应用程序中显示汉字的方法 459
10.9纯西文操作系统中汉字的显示和打印 460
一、汉字字库 460
二、点的显示 461
三、汉字的显示 463
四、汉字的打印 466
10.10软件汉化实用程序 469
10.11 EGA文本方式汉字显示的实现及应用 476
一、EGA的有关知识 476
二、汉字的显示 477
三、此方法的应用 478
1 0.1 2 UCDOS汉字处理功能扩展 479
一、在UCDOS 中挂上任意输入码 479
二、让UCDOS使用全外存型汉字库的方法 482
10.1 3虚拟汉字系统的设计与实现技术 485
10.14 汉字多字节编码探讨与实现 488
一、三字节编码的探索与实现方案 489
二、中英文内码和四字节内码的互换 491
10.1 5汉字应用若干技巧 492
一、改造CCDOS的10H类中断程序增加屏幕显示的各种字型功能 492
二、汉字放大程序 495
三、美术汉字快速移动显示 498
四、实现多功能彩色汉字显示 499
五、电视动态字幕的微机实现 502
六、一个用汉字字幕的图形编辑程序 503
七、高情度多字体显示器画面构造程序 508
11.1 问题求解 515
一、问题求解及其方法 515
二、问题表示法 515
第十一章问题求解与搜索技术 515
一、组合爆炸和搜索方法 516
二、搜索方法的评价 517
三、问题实例 517
11.3深度优先搜索法 518
11.4广度优先搜索法 523
11.5爬山搜索法 524
一、启发式搜索 524
一、最小代价搜索法 526
11.6最小代价搜索法 526
二、爬山法 526
二、搜索技术的选择 527
11.7求多个解 527
一、路径删除法 527
二、节点删除法 528
11.8求最优解 529
11.9博 弈 532
一、极小极大搜索过程 532
二、α-β剪枝技术 533
三、特殊博弈的LISP实现 534
一、通过BIOS对屏幕进行操作 542
1 2.2屏幕信息的保存和恢复 542
12.1传统菜单与弹出式、下拉式菜单 542
第十二章菜单设计技术 542
二、直接存取显示RAM 544
三、TurboC的办法 546
12.3弹出菜单的设计 546
一、显示菜单的边框 546
二、显示一个菜单 547
三、接受用户的选择 547
四、弹出式菜单函数 549
五、完整的弹出菜单程序 550
12.4 下拉式菜单的设计 556
一、建立菜单框架 556
二、下拉式菜单函数 557
四、使用下拉式菜单的示例程序 558
三、恢复屏幕 558
一、用 dBASEⅢ设计菜单的彩条驱动 563
12.5dBASE和FoxBASE程序中的菜单设计技巧 563
二、双向移动的箭头指示式菜单 566
三、用FoxBASE+编写下拉式菜单 567
四、FoxBASE+2.10的菜单设计 570
12.6批处理文件中的菜单设计方法 572
12.7菜单自动生成技术 574
一、词典库 574
二、菜单或功能模块的挂接与删除 575
三、通用菜单程序 575
二、窗口缓冲区的内存管理 580
四、指明窗口的尺寸的方法 580
三、窗口位置的确定 580
13.1 概 述 580
一、窗口关闭时自动恢复被其覆盖屏幕信息的方法 580
第十三章窗口实现技术 580
五、关于窗口边界线 581
六、意外情况处理 581
13.2窗口的基本操作 581
一、窗口的建立,激活和撤消 581
二、窗口输入输出函数 584
三、实时改变窗口的大小和移动窗口位置 589
四、弹出式窗口应用程序 590
一、立体投影窗口的C程序实现 593
13.3立体投影窗口的实现技术 593
五、窗口程序的改进 593
二、使用FoxBASE+实现立体投影的方法 594
三、一种在立体投影窗口中显示文字时不破坏窗口背景色的方法 595
四、一种在西文DOS下实现的中文立体投影窗口 596
13.4 中文弹出式窗口设计的基本函数 598
一、基本函数涉及的全程变量 598
二、基本函数 598
13.5一组快速的文本窗口显示子程序 601
一、显示彩色文本窗口的通用子程序 601
二、窗口覆盖区域的暂存 603
三、窗口覆盖区域的恢复 604
四、文本窗口属性的设置 604
一、多数据库操作和多窗口 605
13.6 dBASEⅢ窗口设计 605
二、窗口的输入输出 606
三、窗口上滚的实现方法 606
四、窗口的撤消 607
13.7 dBASEⅣ的窗口设置 607
一、dBASEⅣ窗口的操作 607
二、窗口的边界(边框)设置 609
三、窗口的颜色设置 610
13.8 dBASEⅢ和FoxBASE窗口功能的扩充 611
一、两个用于窗口设计的补充命令 611
二、中文窗口的保存和恢复 615
一、图形模式 625
14.2 EGA编程技巧 625
二、图形模式下的内存组织 625
14.1 概 述 625
第十四章图形编程技术 625
三、编程技巧 627
二、MCGA的内存组织 658
一、画线 666
二、屏幕硬拷贝软件实现方法 672
三、图象硬拷贝的点密度方法 672
二、屏幕图形压缩存贮和还原显示方法 676
14.1 0为dBASE、FoxBASE扩展作图功能 680
一、dBASEⅢ的图形显示技巧 680
二、使dBASEⅢ PLUS调用BIOS绘图功能 682
14.11 扩充FORTRAN图形显示功能的有效方法 686
一、FORTRAN图形显示功能的实现 686
二、直线插补与线型 687
14.12 Turbo Pascal图形数组及应用 688
一、图形数组Bitmap的结构 688
二、图形数组的建立 688
三、图形数组的显示 689
四、图形数组变换 689
五、大型图形数组 690
六、图形的硬拷贝输出 690
七、图形数组的存取 690
14.1 3增强C语言图形处理的方法 695
一、支持动画处理的方法 695
二、获取TurboC的屏幕模式设置权 696
14.14图形数据库系统的设计 698
一、基于光栅的数据库系统 698
二、基于向量的数据库系统 699
三、三维立体造型的数据结构探讨 703
第十五章动画、音乐 705
15.1动 画 705
一、引言 705
二、动画设计若干技术 705
三、程序举例 708
四、动画程序技巧 715
15.2音 乐 724
一、引言 724
二、用汇编语言来写音乐程序 724
三、高级语言编写音乐程序技巧 725
16.1 CAD技术综述 730
一、CAD发展概况 730
第十六章CAD系统的进一步开发应用技术 730
二、CAD系统的基本组成 731
三、CAD技术的应用及CAD系统的关键技术 732
16.2AutoCAD与高级语言的联接 733
一、联接方法 733
二、图形交换文件(.DXF)的装入与生成 734
三、DXF图形交换文件格式 734
四、用高级语言编写程序生成和读取.DXF文件 744
五、AutoCAD与BASIC语言信息交换操作过程 748
六、图形交换文件标准子程序库 748
16.3 AutoCAD与数据库的联接 750
一、联接方法 750
二、属性的概念 750
三、属性命令 750
四、AutoCAD与dBASEⅢ的联接实例 752
五、AutoCAD与ORACLE关系数据库的连接 754
1 6.4 AutoLISP—AutoCAD的软接口 756
一、变量和表达式 756
二、AutoLISP的基本功能 756
三、AutoLISP语言与其他高级语言的联接 757
四、AutoLlSP应用例子——PATH命令建立 757
一、交互式图形程序库的设计 759
二、图形设计中几个重要问题的处理 759
16.5交互式图形程序库的设计方法 759
16.6 Turbo PROLOG与AutoCAD的接口设计 762
一、存贮方式(DWG文件)的结构 762
二、Turbo PROLOG与AutoCAD的接口设计 764
三、工程图中汉字的输入方法 765
四、编程举例 766
16.7实现AutoCAD图形共享的一种方法 767
一、幻灯制播 767
二、SLD文件的存储结构 768
一、汉字功能实现的几种方法 771
16.8 AutoCAD汉字功能的实现 771
二、矢量式绘图汉字库的建立 772
三、绘图汉字库的调用方法 773
16.9利用AutoCAD开辟辅助设计新领域 778
16.10 AutoCAD接口软件设计 779
一、函数库设计 779
二、汉字库设计 780
三、使用方法简介 780
一、TANGO-Schematic软件元件库建立的方法 782
16.11 TANGO绘图软件功能的进一步开发应用 782
二、创建的汉字库元件名的编码方式 783
三、扩大TANGO-Shematic绘图软件应用范围 784
16.1 2 AutoCAD热键与汉字内码 785
第十七章几个文字编辑软件的使用技巧 789
17.1 WORDSTAR使用技巧 789
一、WS编辑文件在存盘时遇磁盘满的解决 789
二、任意盘任意子目录调用WS的方法 791
三、WS工作参数的修改 791
四、使WS的光标移动操作以双字节为单位 796
五、使WS自动定时存盘 797
八、解决通信缓冲输出的一种方法 800
六、WS的折页打页 800
七、WS“点”命令应用技巧 801
八、邮件、通知类文书的合并打印操作 801
九、WS编辑状态下打印机控制符的输入方法 802
十、WS控制打印字体的通用方法 803
十一、WS的假脱机打印功能 804
十二、怎样将WS编辑的文件转换成普通的文本文件 804
十三、怎样利用WS等工具修改.EXE、.COM文件中的字符 805
十四、中文、英文WS在同一软盘的方法 806
十五、怎样修改WS使之能在GW286机上正常运行 806
17.2 WPS文字处理系统和SPT图文编排系统 807
一、概述 807
17.3 WPS使用技巧 810
一、使WPS适应硬盘的多系统分区 810
二、在D盘中实现使用软字库的WPS系统的安装 812
三、Super CCDOS 5.10显示速度慢的解决办法 813
四、加密的WPS文件的解密 813
五、在DOS下打印输出金山中文系统的图像文件 814
六、使金山汉字适应大容量硬盘 817
七、SPT与Paintbrush交换图形数据 820
第十八章数据库应用技巧 823
18.1检索技术 823
一、查询方法 823
二、组合查询的实现 825
三、模糊检索程序 827
四、对中西文数据文件的不定位模糊检索引起的失误与避免 827
18.2若干数据结构的实现 829
一、数组的实现 829
三、队列和栈的实现 830
二、不定长字段的实现 830
18.3数据录入技巧 831
一、在数据录入中ESC和PgDn键的巧用 831
二、定义功能键保留常用输入词组 832
三、巧用各种命令提高数据录入速度 832
四、建立词组库帮助汉字文本信息的快速输入 833
五、中英文输入状态的自动切换 834
六、翻页功能的实现方法 835
一、dBASEⅢ清屏与显示方式 835
18.4屏幕显示设计技巧 835
二、dBASEⅢ中设置颜色的技巧 838
三、应用程序中屏幕锁行的方法 838
四、超宽报表的动态显示 839
一、数据库索引文件的压缩技术 840
18.5索引和排序 840
三、利用索引命令实现排序 842
二、从索引文件中找出索引关键字的方法 842
18.6提高统计速度的方法 843
一、巧用SEEK命令实现对任意数据范围的统计 843
二、对大型数据库文件的一步定位法统计 844
三、如何提高编译dBASEⅢ中数据分类汇总的速度 845
四、通用双重分类求和子程序 846
五、提高统计速度的其它方法 847
二、FoxBASE程序如何实现中断 848
一、应用程序对键盘的查询 848
18.7特殊功能的实现方法 848
三、如何产生随机数 849
四、控制打印机换页的几种方法 849
五、递归程序设计 850
18.8命令使用的若干技巧 852
一、@BZ的特殊效果 852
二、REPLACE的使用 852
三、日期字段的使用技巧 852
四、巧用BROWSE命令 852
五、&的应用 853
六、RUN(!)命令的使用 853
七、dBASEⅢ中未公开发表的几条命令 854
18.9优化FoxBASE+性能的措施 855
18.10文件的恢复和自动备份 857
一、数据结构的修复 857
二、数据记录的修复 859
三、数据文件的自动备份 861
18.11 不同数据库系统之间文件的转换 862
一、dBASEⅢ数据库转换成RDB/VMS数据文件 863
二、dBASE数据库文件装入到SQL/DS表文件 863
三、dBASEⅢ数据库文件转换为ORACLE表 864
四、dBASEⅢ和informix数据文件的相互转换 866
五、LOTUS1-2-3数据转换成dBASEⅢ数据库文件 867
六、dBASEⅢ数据库文件转换为PROLOG知识库的方法 868
18.12程序或过程文件的自动生成技术 869
一、dBASEⅢ应用程序自动生成 869
二、过程文件的自动生成 870
一、表格及其分类 871
1 9.1 表格的一些基本概念和处理方法 871
第十九章报表及其生成 871
19.2 dBASE的制表设计 872
一、与打印机的联机、脱机 872
二、表格的计算机现行处理方法 872
二、用于制表的命令 873
三、使用格式输出语句打印报表 873
四、dBASE打印走纸问题 874
19.3通用制表程序设计 874
一、以数据库文件为基础编制二维报表 874
二、使用数据库文件存放表格结构参数,实现通用制表设计 878
三、一个使用高级语言设计的通用报表程序 893
19.4表格数据的计算和处理 898
一、快速处理多层合计表格的一种方法 898
二、使用表格库实现表格数据的计算和处理 900
一、制表符的快速输入 901
二、六区与九区制表符转换技巧 901
19.5制表符的快速输入和转换方法 901
19.6报表打印技巧 902
一、超宽表格的打印 902
二、报表标题对中和表栏中汉字均匀分布打印 906
三、字型变换 907
四、实线报表的打印技巧 908
19.7表格的屏幕的显示 908
一、在屏幕上显示超长超宽表格 908
二、使长城0520CH一屏显示28行表格 910
一、制表软件Lotus与FoxBASE+的结合 912
19.8制表软件的使用技巧 912
第二十章管理信息系统 914
20.1管理信息系统的基本概念 914
一、信息 914
二、管理信息 914
三、管理信息系统 915
四、管理信息系统的研究对象 915
20.2管理信息系统的开发 916
一、管理信息系统开发的基础技术 916
二、管理信息系统开发成功的条件 917
三、管理信息系统的开发过程 918
四、管理信息系统的总体规划 919
一、数据库设计的含义和过程 920
20.3数据库设计 920
二、数据库设计理论 921
三、概念结构设计 925
四、逻辑设计 929
五、物理设计 931
六、数据库设计的“变通技术” 932
20.4财务账务管理系统的设计 934
一、需求分析 934
二、系统结构设计 940
三、数据库设计 942
四、功能模块设计 945
五、编程技巧 946
一、需求分析 961
20.5人事管理系统的设计 961
二、系统结构设计 964
三、数据库设计 965
四、功能模块设计 970
五、编程技巧 972
第二十一章决策支持系统的实现 991
21.1 决策支持系统的研究与发展概述 991
21.2决策支持系统的构成 992
一、语言系统 992
二、知识系统 993
三、问题处理系统 993
21.3群体决策支持系统的研究和应用 995
一、群体决策支持系统的功能特点 995
三、群体决策支持系统的体系结构 996
二、群体决策支持系统模型 996
四、群体决策支持系统的主要研究课题 997
五、应用 998
21.4分布式决策支持系统的一个网络设计模型 999
一、DDSS设计的基本问题 999
二、DDSS设计的主要任务 1000
三、DDSS的网络设计 1000
21.5通用决策支持系统生成器的实现 1002
一、DSSG的基本结构 1002
二、问题单元 1003
三、推理机与知识单元的设计与实现 1004
四、数据单元的设计与实现 1004
五、模型单元的设计与实现 1005
一、系统结构和语言体系 1006
21.6决策支持系统工具及其应用 1006
二、模型库和模型管理系统 1008
三、数据库和数据库管理系统 1009
四、决策支持系统的开发 1009
五、工具系统的应用 1010
21.7集成化决策支持系统及其在人事信息系统中的应用 1011
一、怎样同数据库文件交换信息 1012
二、怎样建立推理表,进而建立规则库系统 1014
三、一个例子 1015
21.8财会决策支持系统的研究与开发 1017
一、财务决策支持系统逻辑结构 1018
二、财务决策支持系统的分析与设计 1019
一、信息与情报 1022
二、情报检索 1022
22.1情报与情报检检 1022
第二十二章情报检索系统的实现 1022
22.2计算机情报检索系统的设计 1024
一、系统的设计步骤 1024
二、文档种类及其结构 1024
三、文档设计要点 1026
四、检索程序的设计 1027
22.3文献的存贮技术 1028
一、主文档的设计 1028
二、数据压缩 1030
22.4 文献的加工处理技术 1030
一、抽取关键词 1030
二、关键词文件的排序 1032
三、词典和倒排文件的建立 1036
四、提高倒排文档查询效率的措施 1037
五、随机存贮文档的设计 1039
六、检索词的倒序索引 1042
22.5检索技术 1043
一、检索系统 1043
二、检索步骤 1045
三、求文献集合并将提问逻辑式换为集合运算式 1046
四、逆波兰变换 1048
五、集合运算 1050
六、工作区的设置策略 1052
七、倒排文档检索程序 1052
一、造词表 1053
22.6倒排索引的其它用途 1053
二、联机帮助 1055
第二十三章计算机检测与控测 1058
23.1 检测与控制的关系 1058
一、计算机控制系统中的检测与控制 1058
二、计算机数据采集系统中的检测与控制 1058
三、计算机控制系统中检测和控制量的分类 1058
23.2非周期信号的检测 1059
一、信号的离散化 1059
二、信号的数字化 1059
三、信号的采样程序 1059
四、采样值的预处理程序 1064
五、采样值的复合数字滤波程序 1066
一、用自相关函数确定信号的周期 1067
23.3周期信号的检测 1067
二、用定时器确定信号的周期 1069
三、周期信号的滤波程序 1071
23.4数字信号的检测 1072
一、并行口矩阵式键盘程序 1072
二、串行口矩阵式键盘程序 1073
23.5数字触发与PID控制 1075
一、数字触发的原理 1075
二、同步脉冲的中断服务程序 1075
三、定时器1的α′角移相程序 1078
四、PID控制算法程序 1079
五、PK转换为α′和AK0和计算程序 1082
一、顺序控制的概念 1084
二、皮带运输系统的顺序控制 1084
23.6顺序控制与开关量的检测 1084
23.7步进电机的控制程序 1087
一、步进电机的工作方式 1087
二、时序脉冲的形成程序 1088
三、步进电机控制程序设计 1089
三、键盘缓冲区 1099
24.2特殊键 1103
三、双态键 1104
四、数字副键盘 1105
五、功能键 1105
24.3键的重新定义 1105
二、对单个键定义键盘宏功能 1106
一、键的重编码 1106
三、用高级语言为键定义宏功能 1107
四、为DOS增加定义功能键的外部命令 1108
24.4状态设置和键的自动切换 1111
一、双态键和组合键的状态设置 1111
二、通过直接向缓冲区赋值实现键的自动切换 1113
三、对键盘缓冲区读写任意字符或控制键 1114
四、将键盘作为触发器使用 1115
24.5键盘缓冲区的扩充方法 1116
24.6键盘中断和重编中断的方法 1118
一、键盘中断 1118
二、键盘中断的扩展方法 1119
第二十五章磁 盘 1121
三、物理扇区与逻辑扇区 1125
一、软盘 1126
25.2磁盘上信息的组织 1126
二、硬盘 1127
25.3开发磁盘的支撑环境 1128
一、有关DOS功能调用 1128
二、用于磁盘读写的软中断 1128
三、BIOS的int13H 1128
四、BIOS提供的磁盘参数表 1129
25.4硬盘主导记录 1130
一、结构和功用 1130
二、主引导扇区的读取和保留 1130
三、主引导程序 1132
四、硬盘分区表 1133
25.5DOS引导记录 1134
一、数据格式 1134
二、实例 1135
三、引导程序 1136
四、引导记录的保护 1139
25.6文件盘簇分配表FAT 1139
25.7根 目 录 1147
一、目录项结构 1147
二、实例 1148
三、目录项的程序开发 1149
25.8磁盘文件的连续存储整理 1150
一、问题的提出 1150
二、设计要求 1150
三、总体设计 1150
四、模块设计 1151
五、有关的几个技术问题 1152
七、使用实例 1153
六、程序运行环境 1153
一、命令级使用 1161
25.9磁盘使用的其它技巧 1161
二、硬盘隐藏 1163
三、目录的隐藏 1164
四、让磁头适时布局 1164
25.10 UNIX磁盘信息组织 1164
一、磁盘信息布局 1164
二、超级块 1165
三、i节点 1165
四、文件盘块的多重索引结构 1167
五、恢复被误删的文件 1168
六、空闲盘块的成组链接 1169
一、显示设备 1172
第二十六章视频显示 1172
26.1视频系统概述 1172
二、ROM BIOS的视频服务中断 1173
三、视频系统组成 1173
26.2视频显示控制 1174
一、CRT控制器的程序设计 1174
二、显示模式的设置与检测 1176
26.3文本方式 1179
一、文本方式下的数据格式 1179
二、属性与颜色 1179
三、屏幕外框的颜色 1181
四、写字符与字符串 1181
26.4图形方式 1183
五、读屏幕字符及属性 1183
一、象素和屏幕的对应关系 1184
二、象素的显示属性 1184
三、位面编程基础 1186
四、写入一个象素 1191
五、读取一个象素 1194
26.5光标控制 1196
一、光标的大小 1196
二、光标的定位 1197
三、光标的移动 1197
四、光标的打开与关闭 1198
五、读光标位置 1198
六、图形方式下的光标 1198
一、文本屏幕垂直卷轴 1199
26.6卷轴和分页 1199
二、文本屏幕的水平卷轴 1200
三、切换文本页 1202
四、文本页间的卷轴 1203
26.7屏幕信息的保存 1203
一、保存屏幕到一个磁盘文件上 1203
二、中文方式下屏幕的存取 1204
26.8视频程序设计的其它技巧 1205
一、怎样产生调和颜色 1205
二、EGA双缓冲区程序设计 1206
三、如何使字符串在屏幕上持续移动 1207
四、如何实现放射收缩地显示字符串 1207
五、在屏幕上显示美术字的技巧 1208
六、在屏幕上显示手写汉字 1209
第二十七章鼠标器 1212
27.1 鼠标器概况 1212
一、鼠标器的发展过程 1212
二、鼠标器的分类 1212
三、鼠标器的接口 1213
四、串行鼠标器的传输过程 1213
五、驱动程序及其使用 1213
六、鼠标器的选用 1214
27.2 鼠标器的安装与操作使用 1214
一、鼠标器的安装 1214
二、鼠标的操作 1214
27.3鼠标器驱动程序的功能调用 1215
二、用鼠标菜单生成程序建立用户菜单 1216
一、菜单总体设计 1216
27.4如何使不支持鼠标的软件支持鼠标 1216
三、使用方法 1217
27.5改变鼠标光标形状的方法 1217
27.6数字化仪仿真鼠标器 1218
27.7利用C语言附加库向窗口菜单插入鼠标操作功能 1222
一、编制键盘模拟程序 1222
二、设置鼠标中断 1223
三、中断服务程序 1223
四、具体用法 1224
27.8 为应用程序设计鼠标弹出式菜单 1225
27.9在菜单操纵中加入鼠标 1230
27.1 0 中文应用程序中使用鼠标器的设计方法 1231
二、数字化仪的分类 1239
一、数字化仪的组成 1239
第二十八章数字化仪 1239
28.1 数字化仪简介 1239
28.2异步通信程序设计基础 1240
一、8250寄存器地址分配 1240
二、8250的初始化……………………………………………………………………………………………? 1245
三、通信编程步骤………………………………………………………………………………………………(12?)四、BlOS的异步l/O调用 1245
五、异步通信板的程序检测 1246
28.3通信与作图编程基础 1248
一、通信编程基础 1248
二、作图语句 1249
28.4关于ASCIl输出格式的程序设计 1250
一、ASCII输出格式测试 1251
二、ASClII输出格式下交互描点 1253
三、ASCll输出格式的图形系统 1255
28.5关于二进制输出格式的程序设计 1261
一、二进制输出格式测试 1262
二、二进制输出格式下交互描点 1264
第二十九章扫描仪 1267
29.1扫描仪工作原理 1267
29.2扫描仪应用程序设计 1267
一、扫描仪设备驱动程序 1267
二、C语言编写扫描程序要解决的问题 1268
三、扫描分辨力和比率因子 1269
29.2两种常见类型的扫描仪编程 1270
一、佳能IX-12扫描仪 1270
二、HP ScanJel扫描仪 1289