具体描述
内容提要
本书以近年来最畅销的TURBO PASCAL3.0版为背景,从与标准PASCAL兼容部分开始,首先
详细地介绍了PASCAL语言的数据描述和程序设计方法,然后对TURBO PASCAL的特殊功能进行了
专章介绍,并把部分内容整理成附录,从而它包括了TURBO PASCAL3.0版的全部内容和4.0版的部分
内容。每章后都设有习题。为方便读者上机操作,设专章介绍了在PC机和APPLE-Ⅱ机上的操作方法。
书中例题(除示意性例题外),均有实用背景并可直接上机运行,消除了学习内容与上机操作的脱节。因此,
本书既可做为PASCAL语言的教学用书,也可做为专业技术人员的参考书。
作者简介
目录信息
第一章 计算机基础知识
1.1计算机硬件软件结构
1.1.1计算机硬件系统
1.1.2计算机软件
1.1.3机器语言和高级语言
1.2数制、码制、编码
1.2.1数制
1.2.2码制
1.2.3数字编码与字符编码
习题一
第二章 PASCAL语言概述
2.1PASCAL语言特点
2.2PASCAL源程序结构
2.2.1程序首部
2.2.2程序说明部分
2.2.3语句部分
2.3字符集和符号
2.3.1基本字符
2.3.2符号
2.3.3分隔符
2.4数据类型的概念
2.5常量和变量
2.5.1常量
2.5.2常量定义
2.5.3变量说明
2.6标准数据类型
2.6.1整数类型
2.6.2实数类型
2.6.3字符类型
2.6.4布尔类型
2.7表达式与赋值语句
2.7.1表达式
2.7.2赋值语句
2.8输入和输出过程
2.8.1读语句
2.8.2写语句
2.8.3字符类型变量的输出
2.8.4整数类型变量的输出
2.8.5实数类型变量的输出
2.8.6布尔类型变量的输出
2.9简单程序举例
习题二
第三章 控制语句
3.1复合语句
3.2条件语句
3.2.1单分支条件语句
3.2.2双分支条件语句
3.2.3条件语句嵌套
3.3情况语句
3.4当语句
3.5直到语句
3.6循环语句
3.7循环嵌套
习题三
第四章 枚举类型和子域类型
4.1枚举类型
4.1.1引入枚举类型的必要性
4.1.2枚举类型的定义、运算规则和输入输出方法
4.2子域类型
4.2.1引入子域类型的必要性
4.2.2子域类型的定义和运算规则
4.3日历程序
4.4类型相容和赋值相容
习题四
第五章 过程与函数
5.1过程
5.1.1无参过程
5.1.2带参过程
5.1.3值参数和变量参数
5.2函数
5.3过程嵌套与标识符作用域
5.3.1过程和函数嵌套的概念
5.3.2标识符的作用域
5.4非局部量与副作用
5.5过程参数与函数参数
5.6外部子程序
习题五
第六章 数组类型
6.1数组的概念
6.1.1概述
6.1.2数组类型定义和一维数组
6.1.3类型的一致性
6.1.4下标越界及检查
6.2多维数组
6.2.1多维数组的类型定义
6.2.2多维数组的应用举例
6.3字符数组和字符串类型
6.3.1字符数组
6.3.2字符串类型
6.4可调数组参数
6.4.1概述
6.4.2可调数组参数指明的语法
6.4.3例题及应用
习题六
第七章 集合类型
7.1集合类型的定义和运算规则
7.1.1集合类型的定义
7.1.2集合类型的运算规则
7.2键盘操作训练程序
7.3趣味程序:谁去破案
7.4排课表程序
习题七
第八章 记录类型
8.1记录类型的概念
8.1.1记录类型的定义
8.1.2记录的嵌套
8.1.3记录类型变量及其访问
8.2开域语句
8.2.1开域语句的定义
8.2.2开域语句的嵌套
8.3图书借阅管理程序
8.4记录的变体
习题八
第九章 文件类型
9.1磁盘文件的逻辑组织
9.2随机文件
9.2.1随机文件的类型定义
9.2.2打开一个随机文件
9.2.3随机文件的读写
9.2.4关闭文件及文件处理函数
9.3随机文件应用举例
9.4TEXT文件
9.5无类型文件
9.6标准文件
9.7I/O检查
习题九
第十章 递 归
10.1递归的概念
10.2递归过程和函数
10.2.1递归过程
10.2.2递归函数
10.3间接递归和向前引用
10.3.1间接递归
10.3.2向前引用
10.3.3应用举例
习题十
第十一章 动态数据结构
11.1指针类型与动态变量
11.1.1指针类型
11.1.2new标准过程与指针变量
11.1.3动态变量的访问
11.1.4dispose标准过程
11.2链表
11.2.1链表与递归数据结构
11.2.2链表的建立
11.2.3链表的插入与删除
11.2.4链表的检索
11.2.5循环、双向链表
11.2.6栈
11.3二叉树
11.3.1二叉树的概念
11.3.2二叉树的遍历
11.3.3二叉树的建立与插入
11.3.4二叉树的检索
11.4TURBO PASCAL 中的指针操作
11.4.1指针和地址函数
11.4.2堆
11.4.3内存动态分配、释放标准过程
习题十一
第十二章 结构化程序设计
12.1问题的提出
12.2三种基本结构及结构化流程图
12.2.1顺序结构及其结构化流程图
12.2.2分支选择结构及其结构化流程图
12.2.3循环结构及其结构化流程图
12.3自顶向下的设计方法
12.4got0语句
12.5TURBO PASCAL高版本系统中的模块功能
习题十二
第十三章 TURBO PASCAL的作图与音响功能
13.1屏幕模式控制
13.1.1正文模式
13.1.2图形模式
13.2窗口
13.2.1正文窗口
13.2.2图形窗口
13.3图形功能
13.3.1基本图形功能
13.3.2扩展图形功能
13.4龟作图
13.5作图例程
13.6音响
第十四章 TURBO PASCAL的特殊功能
14.1包含文件
14.2覆盖系统
14.2.1覆盖系统的原理
14.2.2覆盖过程的建立
14.2.3覆盖的管理
14.2.4覆盖的限制
14.3编译器指示
14.4TURBO PASCAL中的特殊类型和运算
14.4.1Byte类型
14.4.2特殊运算
14.5与内存绝对地址的联系
14.5.1绝对地址变量
14.5.2绝对地址函数
14.5.3预定义数组
14.6有类型常量
14.6.1非构造型有类型常量
14.6.2构造型有类型常量
14.7与系统接口程序的设计
14.7.1插入机器代码
14.7.2DOS的功能调用
14.7.3用户编写I/O驱动程序
第十五章 TURBO PASCAL上机操作
15.1运行环境
15.2TURBO编辑器
15.2.1启动TURBO PASCAL系统
15.2.2TURBO编辑器命令及使用
15.3TURBO编译器选择项
附录一 TURBO PASCAL快速参考手册(V3.0)
(一)标准过程和函数
(二)TURBO预定义常量和变量
(三 )TURBO PASCAL的扩展图形过程和函数
(四)TURBO PASCAL的各种运算
(五)TURBO PASCAL编辑程序键盘操作指南
附录二 TURBO PASCAL与标准PASCAL的对比
附录三 编译器错误信息
附录四 运行过程中的错误信息
附录五 I/O错误信息
附录六 TURBO语法
附录七 ASCII码表
附录八 键盘返回码
附录九 TURBO PASCAL的内部数据格式与内存分配
1基本数据类型
2数据结构
3参数
4函数结果
5堆和栈
6内存分配
参考书目
· · · · · · (收起)
读后感
用户评价
这本关于TURBO PASCAL的编程指南,坦率地说,给我带来的体验就像是回到了那个充满活力、代码结构严谨的时代。我记得当初接触这本书时,我对PASCAL这个语言本身就抱有一种敬意,因为它强调清晰的逻辑和模块化的设计,而这本书恰好完美地捕捉并传达了这一点。它不仅仅是简单地罗列语法规则,更像是手把手地带着你深入理解编译器的运作方式,尤其是针对当时主流的Turbo Pascal环境进行优化和解释。书中对过程(Procedure)和函数(Function)的深入剖析,特别是关于参数传递机制的细致讲解,对于一个初学者来说,简直是拨云见日。我特别欣赏作者在讲解高级特性,比如链表、记录类型(Record)和文件操作时所采用的循序渐进的教学方法。每一个示例代码都经过精心设计,不仅能跑起来,还能让你清晰地看到数据结构是如何在内存中被构建和操作的。这本书的深度足以让一个想要从基础转向应用开发的程序员打下坚实的基础,它教会了我如何写出“漂亮”的代码,而不是仅仅能“运行”的代码。对于那些怀念结构化编程黄金时代,或者希望理解现代编程语言底层逻辑的读者来说,这本书的价值是无可替代的。
这本书给我最深刻的印象,在于它对“实践出真知”的极致推崇。与其说它是一本理论书籍,不如说它是一本高级的实验手册。大量的章节都以一个实际的小项目为导向,然后层层剥开,讲解如何利用Turbo Pascal的特性去解决问题。我记得书中有一个关于实现简单图形界面库的章节,虽然受限于当时的技术环境,我们现在看来这些图形效果已经非常基础,但作者在其中展示的事件驱动模型雏形,以及如何巧妙地使用PASCAL的`GOTOXY`和屏幕控制命令来模拟交互,至今仍让我赞叹不已。它教会了我如何在一个相对受限的环境下,最大化地发挥工具的潜力,这是一种非常宝贵的工程思维。更不用说,书中对编译指令和链接过程的详细描述,让你对最终生成的可执行文件有了宏观的认识,避免了陷入“黑箱”操作的误区。对于那些渴望深入理解编译型语言编译过程的读者来说,这本书提供了一个绝佳的、可操作的切入点。
坦白地说,这本书的排版和某些术语在今天看来或许有些年代感,但其内容的深度和广度是毋庸置疑的。它成功地将Turbo Pascal的强大功能——特别是其高效的编译速度和对DOS环境的完美支持——发挥到了极致。这本书绝不是那种浅尝辄止的入门读物,它敢于触及那些让初学者望而却步的复杂主题,比如面向记录(Record)的面向对象思想的早期尝试(在PASCAL的标准扩展中),以及如何高效地处理文件I/O以应对大型数据集。我尤其赞赏作者在解释面向过程编程的边界时所展现出的前瞻性,他似乎在暗示,即使是结构化语言,也能通过精妙的设计达到接近模块化的效果。阅读这本书的过程,更像是一场对计算机科学早期实用主义精神的致敬。它要求读者投入时间去思考,去调试那些充满细节的代码,从而建立起对程序健壮性的深刻理解,而不是仅仅依赖现代IDE提供的过度便利。
如果要用一个词来概括这本书的特点,那一定是“严谨的实用主义”。它不回避复杂性,而是将其分解、消化,最终以一种清晰可控的方式呈现给读者。在阅读过程中,我常常会停下来,思考作者是如何在有限的资源下,设计出那些既高效又易于理解的算法实现的。例如,关于字符串处理的部分,书中的方法远比简单的字符数组拼接要精妙得多,它展示了如何利用PASCAL特有的字符串类型特性来优化性能。这本书最大的魅力在于,它让你体会到一种“掌控感”——你不是在跟一个被过度封装的框架打交道,而是直接与语言的核心机制对话。这本书对于那些希望挑战自我,深入理解一种经典、强大编程范式的开发者来说,是一份不可多得的宝藏。它所培养出的逻辑清晰度和问题分解能力,是任何现代脚本语言学习者都应该去追求的基石。
拿到这本书的时候,我首先被它那种扎实、近乎教科书般的严谨性所吸引。它不是那种轻飘飘的速成手册,而是真正致力于让读者掌握Turbo Pascal这门工具的“内功心法”。如果说很多编程书只是教你“怎么做”,这本书则更侧重于解释“为什么是这样”。比如,它在讨论到内存管理和指针操作部分时,那种对底层机制的剖析,让我在后来的学习C语言时都受益匪浅。作者似乎非常清楚读者的痛点,对于那些容易混淆的概念,比如变量的作用域和生命周期,都用非常形象的类比和图示来辅助说明,这在当时的许多教材中是相当少见的。阅读过程中,我感觉自己不是在看一本技术文档,而是在跟随一位经验丰富的导师,他耐心地为你揭示编程语言设计背后的哲学思考。尽管现在看来,Turbo Pascal的IDE界面已经有些古老,但书中关于程序组织结构和调试技巧的讲解,其核心思想依然具有强大的生命力。我强烈推荐给那些希望通过学习一门“纯粹”语言来磨练逻辑思维的计算机科学专业的学生。