没有合适的资源?快使用搜索试试~ 我知道了~
首页Pascal 教程(pdf完整版)
Pascal 教程(pdf完整版)
5星 · 超过95%的资源 需积分: 47 285 下载量 45 浏览量
更新于2023-03-03
评论 7
收藏 601KB PDF 举报
Pascal 教程 第一章 简单程序 2 第一节 Pascal 程序结构和基本语句 2 第二节 顺序结构程序与基本数据类型 6 第二章 分支程序 10 第一节 条件语句与复合语句 10 第二节 情况语句与算术标准函数 12 第三章 循环程序 16 第一节 for 循环 16 第二节 repeat 循环 22 第三节 While 循环 27 第四章 函数与过程 32 第一节 函数 32 第二节 自定义过程 35 第五章 Pascal的自定义数据类型 40 第一节 数组与子界类型 40 第二节 二维数组与枚举类型 48 第三节 集合类型 56 第四节 记录类型和文件类型 60 第五节 指针类型与动态数据结构 67 第六章 程序设计与基本算法 73 第一节 递推与递归算法 73 第二节 回溯算法 80 第七章 数据结构及其应用 86 第一节 线性表 86 第二节 队列 90 第三节 栈 93 第四节 数组 97 第八章 搜索 100 第一节 深度优先搜索 100 第二节 广度优先搜索 111 第九章 其他常用知识和算法 115 第一节 图论及其基本算法 115 第二节 动态规划 122
资源详情
资源评论
资源推荐
1
Pascal 教程
目录
第一章 简单程序 ...................................................................2
第一节 Pascal 程序结构和基本语句 ..................................................................................2
第二节 顺序结构程序与基本数据类型...............................................................................6
第二章 分支程序 .................................................................10
第一节 条件语句与复合语句.............................................................................................10
第二节 情况语句与算术标准函数.....................................................................................12
第三章 循环程序 .................................................................16
第一节 for 循环..................................................................................................................16
第二节 repeat 循环.............................................................................................................22
第三节 While 循环.............................................................................................................27
第四章 函数与过程..............................................................32
第一节 函数 ........................................................................................................................32
第二节 自定义过程 ............................................................................................................35
第五章 Pascal 的自定义数据类型.....................................40
第一节 数组与子界类型.....................................................................................................40
第二节 二维数组与枚举类型.............................................................................................48
第三节 集合类型 ................................................................................................................56
第四节 记录类型和文件类型.............................................................................................60
第五节 指针类型与动态数据结构.....................................................................................67
第六章 程序设计与基本算法................................................73
第一节 递推与递归算法.....................................................................................................73
第二节 回溯算法 ................................................................................................................80
第七章 数据结构及其应用..................................................86
第一节 线性表 ....................................................................................................................86
第二节 队列 ........................................................................................................................90
第三节 栈 ............................................................................................................................93
第四节 数组 ........................................................................................................................97
第八章 搜索 .........................................................................100
第一节 深度优先搜索.......................................................................................................100
第二节 广度优先搜索.......................................................................................................111
第九章 其他常用知识和算法..............................................115
第一节 图论及其基本算法...............................................................................................115
第二节 动态规划 ..............................................................................................................122
2
第一章 简单程序
无论做任何事情,都要有一定的方式方法与处理步骤。计算机程序设计比日常生活中的
事务处理更具有严谨性、规范性、可行性。为了使计算机有效地解决某些问题,须将处理步
骤编排好,用计算机语言组成“序列”,让计算机自动识别并执行这个用计算机语言组成的
“序列”,完成预定的任务。将处理问题的步骤编排好,用计算机语言组成序列,也就是常
说的编写程序。在 Pascal 语言中,执行每条语句都是由计算机完成相应的操作。编写 Pascal
程序,是利用 Pascal 语句的功能来实现和达到预定的处理要求。“千里之行,始于足下”,
我们从简单程序学起,逐步了解和掌握怎样编写程序。
第一节 Pascal 程序结构和基本语句
在未系统学习 Pascal 语言之前,暂且绕过那些繁琐的语法规则细节,通过下面的简单例
题,可以速成掌握 Pascal 程序的基本组成和基本语句的用法,让初学者直接模仿学习编简
单程序。
[例 1.1]编程在屏幕上显示“Hello World!”。
Pascal 程序:
Program ex11;
Begin
Writeln(‘Hello World!’);
ReadLn;
End.
这个简单样例程序,希望大家的程序设计学习能有一个良好的开端。程序中的 Writeln
是一个输出语句,它能命令计算机在屏幕上输出相应的内容,而紧跟 Writeln 语句后是一对
圆括号,其中用单引号引起的部分将被原原本本地显示出来。
[例 1.2]已知一辆自行车的售价是 300 元,请编程计算 a 辆自行车的总价是多少?
解:若总售价用 m 来表示,则这个问题可分为以下几步处理:
①从键盘输入自行车的数目 a;
②用公式 m=300*a 计算总售价;
③输出计算结果。
Pascal 程序:
Program Ex12; {程序首部}
Var a,m : integer; {说明部分}
Begin {语句部分}
Write(‘a=’);
ReadLn(a); {输入自行车数目}
M := 300*a; {计算总售价}
3
Writeln(‘M=’,m); {输出总售价}
ReadLn; {等待输入回车键}
End.
此题程序结构完整,从中可看出一个 Pascal 程序由三部分组成:
(1)程序首部
由保留字 Program 开头,后面跟一个程序名(如:Exl1);其格式为:
Program 程序名;
程序名由用户自己取,它的第一个字符必须是英文字母,其后的字符只能是字母或数
字和下划线组成,程序名中不能出现运算符、标点符和空格。
(2)说明部分
程序中所用的常量、变量,或类型、及过程与自定义函数,需在使用之前预先说明,
定义数据的属性(类型)。[例 1.2] 程序中 Var S,R,C: Real; 是变量说明,此处说明 S,
R,C 三个变量均为实数类型变量。只有被说明为某一类型的变量,在程序中才能将与该变
量同类型的数值赋给该变量。变量说明的格式为:
Var 变量表:类型;
(3)语句部分
指由保留字 Begin (开始)至 End. (结尾)之间的语句系列,是解决问题的具体处理步
骤,也是程序的执行部分。
Pascal 程序不管是哪部分,每句末尾都必须有分号(;),但允许最接近 End 的那个语句
末尾的分号省略;程序结束的 End 末尾必须有圆点(. ),是整个程序的结束标志。
程序中花括号“{ }”之间的部分为注释部分。
Pascal 程序结构可归纳用如下的示意图来表示:
Program 程序名; 程序首部
标号说明; (Label)
常量说明; (Const) 说明部分
类型说明; (Type)
变量说明; (Var)
过程或函数说明;
Begin 程序体 (主程序)
语句系列; 语句部分
End.
图1.1 Pascal 程序的结构
把处理问题的步骤编成能从上到下顺序执行的程序,是简单程序的基本特征。再来分析
下面两道例题的 Pascal 程序结构和继续学习基本语句。
[例 1.3]编程计算半径为 R 的圆的面积和周长。
解:这是一个简单问题,按数学方法可分以下几步进行处理:
① 从键盘输入半径的值 R; { 要求告诉圆的半径 R }
② 用公式 S=πR
2
计算圆面积;
③ 用公式 C=2πR 计算圆周长;
4
④ 输出计算结果。
Pascal 程序:
Program Ex13; {程序首部 }
Var R,S,C: Real; {说明部分 }
Begin {语句部分 }
Write ('R=?');
Readln(R); {输入半径 }
S:=Pi*R*R; {圆面积公式 S=πR
2
}
C:=2*Pi*R; {圆周长公式 C=2πR}
Writeln('S=',S); {输出结果 }
Writeln('C=',C);
Readln {等待输入回车键}
End.
程序中 Pi 是 Pascal 提供的标准函数,它返回圆周率的近似值:3.1415926…。
(:=)是赋值符号,赋值语句的格式为:
变量:=表达式;
赋值语句的作用是将:=右边表达式的值记录到左边的变量中。
Writeln 是输出语句,输出语句有三种格式:
① Write (输出项 1,输出项 2) ; {执行输出后光标不换行}
② Writeln (输出项 1,输出项 2) ; {执行输出后光标换到下一行}
③ Writeln {仅输出空白且光标换到下一行}
Writeln 语句后面的圆括号以内部分均为输出项,可以是多项,各项间用逗号分隔; 对
单引号里的内容按照引号内的原样(字符)输出显示。如果输出项是表达式,则只输出表达式
的值,而不是表达式本身。
[例 1.4] 输出两个自然数相除的商和余数。
解:设被除数、除数、商和余数,分别为 A,B,C,D,均为变量,且都是整数类型。题
中未给出具体的自然数 A、B,可采用键盘输入方式。
① 给出提示,从键盘输入 a, b;
② 显示两数相除的数学形式;
③ 求出a除以b的商c;
④ 求出a除以b的余数d;
⑤ 紧接等式后面输出显示商和余数。
Pascal 程序:
Program Ex14;
Var a,b,c,d : integer;
Begin
Write('INPUT A,B:'); {给出提示信息}
Readln(a,b); {输入 a,b}
Writeln; {输出一空行}
Write(a,'/',b,'='); {输出等式之后不换行}
c:=a div b; {整除运算,取商的整数部分}
5
d:=a mod b; {相除求余运算,取商的余数部分}
Writeln(C,'…',d); {输出后自动换行 }
Readln {等待输入回车键 }
End.
执行本程序中第一个 Write 语句,输出其引号以内的一串提示信息,是给紧接着的输入
语句提供明确的提示(要求),有“一目了然,人机对话”之效果。
Readln 是一个特殊的输入语句,要求输入一个回车(换行)才能往下执行。
Readln 是输入语句,它的一般格式为:
① Read (变量 1,变量 2);
② Readln (变量 1,变量 2);
③ Readln
前两种格式均要从键盘给变量输入数据,输入时,所键入的数据之间以空格为分隔,以
回车为输入结束。若多输入了数据(即数据个数超过变量个数),Read 语句读完数据之后,能
让 后续 的 读 语句接着读取多下来的数据;而 Readln 语句对本行多输入的数据不能让后续语
句接着读取多下来的数据。为了防止多输入的数据影响下一个输入语句读取数据,建议尽量
使用 Readln 语句输入数据。第三种格式不需输入数据,只需按入一个回车键。
[例 1.5]自然数的立方可以表示为两个整数的平方之差,比 如 4
3
=10
2
-6
2
,请输出自然数 1996
的这种表示形式。(这里的 4
3
用自乘三次的形式 4*4*4 表示;10
2
也用自乘二次的形式 10*10
表示)
解:此题没有现成的计算公式能直接利用,但可以自行推出处理方法或构建适当的运算公
式,按着构想的处理方案编排出各步骤。
设这个自然数为 N,两个平方数分别为 X,Y, 将问题表示为求 N
3
=X
2
—Y
2
① 先找出 X 的值,仔细观察题中的示例,用数学方法归纳可得出 X=N*(N+1)/2;(构成
本题可用的计算公式)
② 再仔细观察,发现 Y 值比 X 小一个 N 值,即 Y=X—N;
③ 输出等式 N
3
=X
2
—Y
2
或 N*N*N=X*X—Y*Y
Pascal 程序:
Program Ex15;
Const N=1996; {常量说明 }
Var X,Y: Longint; {变量说明,此题计算中的数值较大,用长整型 }
Begin
X:=N*(N+1) div 2; { div 是整除运算 }
Y:=X-N;
Writeln(N,'*',N,'*', N,'=', X,'*', X,'—',Y,'*',Y); { 输出结果 }
Readln
End.
本程序中 N 是常量,X,Y 是变量,为长整数类型(Longint); 程序中的 div 是整除运
算,其结果只取商的整数部分;
[例1.6] 求一元二次方程 x
2
+3x+2=0 的两个实数根。
解:方程的系数是常量,分别用 a,b,c 表示,可 运 用数学上现成的求根公式求方程的根,
剩余125页未读,继续阅读
hjs8509
- 粉丝: 0
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论24