2022年Pascal基本教程 .pdf

上传人:C****o 文档编号:33388352 上传时间:2022-08-10 格式:PDF 页数:37 大小:244.15KB
返回 下载 相关 举报
2022年Pascal基本教程 .pdf_第1页
第1页 / 共37页
2022年Pascal基本教程 .pdf_第2页
第2页 / 共37页
点击查看更多>>
资源描述

《2022年Pascal基本教程 .pdf》由会员分享,可在线阅读,更多相关《2022年Pascal基本教程 .pdf(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Pascal 基本教程Pascal基本教程第一章第一章 Pascal 语言概述与预备知识1 关于 Turbo Pascal Pascal 是一种计算机通用的高级程序设计语言。它由瑞士Niklaus Wirth教授于六十年代末设计并创立。以法国数学家命名的Pascal 语言现已成为使用最广泛的基于DOS 的语言之一,其主要特点有:严格的结构化形式;丰富完备的数据类型;运行效率高;查错能力强。正因为上述特点, Pascal 语言可以被方便地用于描述各种算法与数据结构。尤其是对于程序设计的初学者,Pascal 语言有益于培养良好的程序设计风格和习惯。 IOI( 国际奥林匹克信息学竞赛 ) 把 Pas

2、cal 语言作为三种程序设计语言之一, NOI( 全国奥林匹克信息学竞赛)把 Pascal 语言定为唯一提倡的程序设计语言,在大学中 Pascal 语言也常常被用作学习数据结构与算法的教学语言。在 Pascal 问世以来的三十余年间,先后产生了适合于不同机型的各种各样版本。其中影响最大的莫过于Turbo Pascal系列软件。它是由美国Borland 公司设计、研制的一种适用于微机的Pascal 编译系统。该编译系统由 1983年推出1.0 版本发展到 1992年推出的 7.0 版本,其版本不断更新,而功能更趋完善。下面列出 Turbo Pascal编年史出版年代版本名称主要特色1983 Tu

3、rbo Pascal 1.0 Turbo Pascal 2.0 Turbo-87 Pascal 提高实数运算速度并扩大值域名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 37 页 - - - - - - - - - 1985 Turbo Pascal 3.0 增加图形功能Turbo BCD Pascal 特别适合应用于商业1987 Turbo Pascal 4.0 提供集成开发环境 (IDE) ,引入单元概念1988 Turbo Pascal 5.0 增加调试功能1989

4、 Turbo Pascal 5.5 支持面向对象的程序设计(OPP) 1990 Turbo Pascal 6.0 提供面向对象的应用框架和库(Turbo Vision) 1992 Turbo Pascal 7.0 面向对象的应用系统、更完善的IDE Turbo Vision 2.0 1993 Borland Pascal 7.0 开发 Object Windows 库、(For Windows) 提供对 OLE多媒体应用开发的支持1995 Delphi Visual Pascal Turbo Pascal 语言是编译型程序语言,它提供了一个集成环境的工作系统,集编辑、编译、运行、调试等多功能于

5、一体。1.2 Turbo Pascal 或 Borland Pascal 的启动名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 37 页 - - - - - - - - - (1) Turbo Pascal的启动a.DOS下的启动 ( 适用于 MS-DOS6.22 之前的版本或 Win 9X & Win2000 的 Command Mode) DOS 下,在装有 Turbo Pascal 的文件目录下,键入turbo 即可进入 Turbo Pascal 集成环境。b.Wi

6、n9X 或 Win2000模式下的启动 (适用于 Turbo Pascal 3.0以后的版本 ) 如果在 Win9X或 Win2000的“资源管理器”装有Turbo Pascal的目录中,双击 turbo.exe或在“开始 - 程序”菜单中通过MS-DOS 方式来运行 turbo.exe ,它会提示你“该程序设置为MS-DOS 方式下运行,并且其它程序运行时,无法运行它。如果选择继续所有其它程序将关闭”,所以在 Win9X或 Win2000下无法直接运行它,这时你可以在你希望的地方(比如说桌面上 ) 单击鼠标右键“新建 -快捷方式”,单击“浏览”,找到turbo.exed选中,然后单击“打开”

7、,再单击“下一步”, 再单击完成; 这还没完,选中前面新建的快捷方式 ( 应该叫 Turbo Pascal 吧) ,单击右键,单击“属性”,选择“程序”,然后再单击“高级”,把“MS -DOS方式”前面的那个勾去掉,也就是不要选“MS -DOS方式”,然后单击“确定”,在单击“确定”就大功告成了,以后你运行Turbo Pascal 的时候,只要双击那个你建立起的快捷方式就可以直接在Win9X或 Win2000下运行 Turbo Pascal 。(2)Borland Pascal的启动Borland Pascal的启动没有像 Turbo Pascal那样复杂,一般来说在任何情况下双击 bp.ex

8、e 或是在 MS-DOS 下运行都不会出现什么问题。Pascal基本教程第二章Pascal 语言基础知识2.1 Pascal程序基本组成例 1.1 计算半径为 R的圆面积 S program Area; 程序首部 已知半径求圆的面积 const pi=3.14159; 说明部分数据描述 var s,r:real; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 37 页 - - - - - - - - - begin 执行部分 readln(r); s:=pi*sqr(r

9、); writeln(s=,s); end. 上述程序第一行称为程序首部。其中用花括号( 注释可以用 或(* * )来表示)括起来的内容是注释,程序第二行就是一个注释,注释除了给人看,增加程序的可读性外, 对程序编译和运行不起作用。 一个程序可以包含多个出现在不同处注释,亦可无注释。程序第三行是常量说明,程序第四行是变量说明。程序从 begin 到 end 都是执行(语句)部分(1) 程序首部例 1.1 的第一行称为程序首部。 program 是保留字,接着是程序名(由你依据“标示符”规则自行定义) ,最后以分号表示程序首部结束,下面是程序主体的开始。程序首部在一个Turbo Pascal (

10、仅在 Turbo Pascal 中有效)程序中并非必须出现, 它是可选的。写上它仅起了文档作用。 因此,在时间有限的情况下,如果用 Turbo Pascal编程完全可以省略程序首部。(2) 程序体 a. 说明部分说明部分用于定义和说明程序中用到的数据,由单元说明、标号说明、常量说明、类型说明、 变量说明、 函数或过程说明组成, 并且这些数据的说明次序必须按照以上次序。但是一个简单的Turbo Pascal程序也可以不包含说明部分,也就是说说明部分是可选的。b. 执行部分执行部分描述了程序要执行的操作。它必须以一个Turbo Pascal保留字 begin开始,以保留字 end后跟句点结束, 其

11、间是一些执行具体操作的语句,并且以分号作为语句之间的分隔符。 begin 和 end 必须成对出现, 这是一个 Turbo Pascal程序所必须有的。 紧跟 end 之后的句号表示执行部分的结束,也表示整个程序的结束。此后的任何语句都无效。Turbo Pascal 规定紧随 end 之前出现的分号允许省略。(3) 一个完全的 Pascal 程序结构program 程序名;uses 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 37 页 - - - - - - - -

12、- 已知单元说明;label 标号说明;const 常量说明;type 类型说明;var 变量说明;function 函数说明;procedure 过程说明;begin 语句;语句;,语句end. 2.2 Pascal字符与符号1. 保留字 (关键字 ) 所谓保留字是指在Pascal 语言中具有特定的含义,你必须了解它的含义,以便于正确的使用,否则会造成错误。标准Pascal 语言中的保留字一共有35个,Turbo Pascal 语言一共有 51 个。 下面是 Pascal 语言的保留字 ( 斜体是 Turbo Pascal 特有的保留字 ): 名师资料总结 - - -精品资料欢迎下载 - -

13、 - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 37 页 - - - - - - - - - AND ,ARRAY ,BEGIN ,CASE ,CONST ,DIV,DO ,DOWNTO,ELSE ,END ,FILE,FOR ,FUNTION ,GOTO ,IF,IN,LABEL ,MOD ,NIL,NOT ,OF ,OR ,PACKED,PROCEDURE,PROGRAM,RECORD,REPEAT ,SET ,THEN ,TO ,TYPE ,UNTIL ,VAR ,WHILE ,WITH ,EXPORTS,SHR

14、 ,STRING ,ASM ,OBJECT ,UNIT,CONSTRUCTOR,IMPLEMENTATION,DESTRUCTOR,USES ,INHERITED ,INLINE,INTERFACE,LIBRARY ,XOR ,SHL . 标识符(1) 表识符的定义:标识符就是以字母开头的字母数字序列,有效长度为63个字符,并且大小写等效。可以用来标示常量、变量、程序、函数等。例如例1.1 中的 Area( 程序名 ),pi( 符号常量 ) ,s、r( 变量名 ) 都是标识符。(2) 表识符的分类:a. 标准标识符:指 Pascal 语言预先定义的表识符,具有特殊含义。以下列举了 Turbo

15、Pascal语言部分常用的标准表识符:标准常量 False Maxint True 标准类型 Boolean Char Real Integer 标准函数 Abs Arctan Chr Cos Eof Eoln Exp Ln Odd Ord Pred Round Sin Sqr Sqrt Succ Trunc 标准过程 Dispose Get New Pack Page Put Read Readln Reset Rewrite Unpack Write Writeln 标准文件 Input Output b. 用户字定义表识符:由你来根据需要定义。(1)选用的表识符不能和保留字相同。(2)语

16、法上允许预定义的标准标识符作为你定义的的表识符使用,但最好还是不要用。以下列举了你在定义表识符时可以用的字符:AZ;az;09;+,- ,*,/ ,=,=,(,), , , , ,:= ,;, . ,:, . , , 2.3 Pascal 数据类型数据是程序设计的一个重要内容,其重要特征 - 数据类型,确定了该数据的形、取值范围以及所能参与的运算。Turbo Pascal 提供了丰富的数据类型,这些数据类型可以分为三大类:简单类型、构造类型和指针类型,其中简单类型可以分为标准类型(整型、实型、字符型和布尔型)和自定义类型(枚举型和子界型),构造类型可以分为数组类型、集合类型、 记录类型和文件类

17、型。 这些数据类型中除了指针类型是动态数据名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 37 页 - - - - - - - - - 类型外,其他的都是静态数据类型。在这些数据类型中简单类型都是有序类型,除了实型以外的简单类型都是顺序类型,所谓顺序类型就是他们的值不仅是有序的而且是有顺序号。在这里主要介绍整型、实型、字符型和布尔型四种常用的数据类型。1. 整型一个整型数据用来存放整数。Turbo Pascal 支持五种预定义整型,它们是shortint(短整型)、 in

18、teger(整型)、 longint(长整型)、 byte (字节型)和 word (字类型), Turbo Pascal分别用相同的名字作为他们的表识符。每一种类型规定了相应的整数取值范围以及所占用的内存字节数。类型 数值范围占字节数 格式shortint -128.128 1 带符号 8 位inteter -32768.32767 2 带符号 16 位longint -2147483648.2147483647 4 带符号 32 位byte 0.255 1 带符号 8 位word 0.65535 2 带符号 16 位Turbo Pascal 规定了两个预定义整型常量表识符maxint 和

19、maxlonint ,他们各表示确定的常数值,maxint 为 32767, longint为 2147483647,他们的类型分别是 integer 和 longint 。2. 实型一个实型数据用类存放实数。Turbo Pascal 支持五种预定义实型,它们是real (基本实型)、 single (但精度实型)、 double(双精度实型)、 extended(扩展实型)、 comp (装配实型), Turbo Pascal 分别用相同的名字作为他们的表识符。每一种类型规定了相应的实数取值范围、所占用的内存字节数以及它们所能达到的精度。类型 数值范围占字节数有效位数real 2.9e-39

20、.1.7e38 6 11.12 single 1.5e-45.3.4e38 4 7.8 double 5.0e-324.1.7e308 8 15.16 extended 3.4e-4932.1.1e4932 10 19.20 comp -2*63+1.2*63-1 8 19.20 Turbo Pascal 支持两种用于执行实型运算的代码生成模式:软件仿真模式和 80 x87 浮点模式。除了 real 可以在软件仿真模式下直接运行以外,其他类型必须在 80 x87 浮点模式下运行。3. 布尔型一个布尔型数据用来存放逻辑值(布尔值)。布尔型的值只有两个:false和 true ,并且 false

21、的序号是 0,true 的序号是 1。false 和 true 都是预定义常数表识符, 分别表示逻辑假和逻辑真。 并且 truefalse。boolean 是布尔型的表识符。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 37 页 - - - - - - - - - 4. 字符型字符型用 char 作为表识符。字符型必须用单引号括起来,字母作为字符型时,大小写是不等价的, 并且字符型只允许单引号中有一个字符,否则就是字符串。2.4 常量与变量1. 常量(1) 常量:在某个

22、程序的整个过程中其值不变的量。(2) 常量定义:常量定义出现在说明部分。它的语法格式是:const =; . =; 常量表识符的类型由定义它的常量的类型决定。例如:const a=12 隐含说明 a是整型; const r=3.21 隐含说明 r 是实型 . (3) 常量定义部分必须以保留字const 开头,可以包含一个或几个常量定义,而且每个常量均以分号结束。(4)Turbo Pascal类型常量类型常量,又称变量常数,它是Turbo Pascal的一个扩充特性。类型常量的定义与标准 Pascal 规定的常数定义和变量说明有所区别。类型常量定义的语法格式:const :简单类型 =常数;例如

23、:const counter:integer=0; flag:boolean=true; index:0.100=0; 2. 变量(1) 变量:在某个程序中的运行过程中其值可以发生改变的量(2) 变量说明:变脸说明出现在说明部分。它的语法格式是:var :; . :; 其中,保留字 var 表示开始一个变量说明部分。 变量标识符列表是一个用逗号隔开的标识符序列,冒号后面的类型是类型标识符。每个变量说明均以分号结束。例如:var a,b,c:integer; m,n:real; 2.5 标准函数1. 算术函数名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -

24、 - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 37 页 - - - - - - - - - 函数标识符自变量类型意义结果类型abs 整型、实型绝对值同自变量arctan 整型、实型反正切实型cos 整型、实型余弦实型exp 整型、实型指数实型frac 整型、实型小数部分实型int 整型、实型整数部分实型ln 整型、实型自然对数实型pi 无自变量圆周率实型名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 37 页 - - - - - -

25、- - - sin 整型、实型正弦实型sqr 整型、实型平方同自变量sqrt 整型、实型平方根实型例:abs(-4)=4 abs(-7.49)=7.49 arctan(0)=0.0 sin(pi)=0.0 cos(pi)=-1.0 frac(-3.71)=-0.71 int(-3.71)=-3.0 sqr(4)=16 sqrt(4)=2 2. 标量函数函数标识符自变量类型意义结果类型odd 整型判断奇数布尔型名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 37 页 -

26、- - - - - - - - pred 离散类型求前趋同自变量succ 离散类型求后继同自变量例:odd(1000)=false odd(3)true pred(2000)=1999 succ(2000)=2001 pred(x)=w succ(x)=y 3. 转换函数函数标识符自变量类型意义结果类型chr byte 型自量对应的字符字符型ord 离散类型自量对应的序号longint round 实型四舍五入longint 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,

27、共 37 页 - - - - - - - - - trunc 实型截断取整longint 4. 杂类函数函数标识符自变量类型意义结果类型random 无自变量0,1) 之间的随机实数real random word 0, 自变量 ) 之间的随机整数wird randomize 无自变量用一随机值初始化内部随机数产生器longint upcase 字符型使小写英文字母变为大写字符型2.6 运算符和表达式1. 运算符和优先级(1) 运算符a. 算术运算符运算符运算运算对象结果类型+ 加整型、实型名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - -

28、 - - 名师精心整理 - - - - - - - 第 12 页,共 37 页 - - - - - - - - - 只要有一个运算对象是实型, 结果就是实型, 如果全部的运算对象都是整型并且运算不是除法,则结果为整型,若运算是除法,则结果是实型- 减整型、实型* 乘整型、实型/ 除整型、实型div 整除整型整型mod 取余整型整型b. 逻辑运算符运算符运算运算对象结果类型not 逻辑非布尔型布尔型and 逻辑与布尔型布尔型or 逻辑或名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1

29、3 页,共 37 页 - - - - - - - - - 布尔型布尔型xor 逻辑异或布尔型布尔型c. 关系运算符运算符运算运算对象结果类型= 等于简单类型布尔型 不等于简单类型布尔型 大于简单类型布尔型= 大于等于简单类型布尔型名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 37 页 - - - - - - - - - (2) 优先级运算符优先级not 1( 高)*,/,div,mod,and 2 xor,+,-,or 3 in,=,=,=, 4(低)2. 表达式(1

30、) 算术表达式:算术表达式是由算术运算符连接常量、变量、函数的式子。算术表达式中各个运算符的次序为: ( )-函数-*,/,div,mod-+,1 (2) 布尔表达式: Turbo Pascal 提供给布尔表达式以下基本操作:逻辑运算和关系运算。Pascal基本教程第三章顺序结构程序设计 3.1 赋值语句赋值语句是最简单的语句,其一般形式为::= 赋值语句的作用是计算表达式的值,并赋给变量。 对于任何一个变量必须首先赋值,然后才能引用,否则,未赋初值的变量将以一个随机值参与运算。另外,赋值号两边的类型必须相同, 但表达式值为整数时, 它可自动化为实型后赋给该实型变量,即符合赋值相容。例:关于赋

31、值的例子program example; var a,b:integer; begin a:=3;b:=2; writeln(a); writeln(b); a:=a+b; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 37 页 - - - - - - - - - writeln(a); writeln(b); b:=a-b; writeln(a); writeln(b); a:=a-b; writeln(a); writeln(b); readln end. 3.2

32、 输入语句通过计算机的外设把数据送到计算机内存的过程称为输入。Turbo Pascal语言的输入语句有如下两种形式:read();readln();是一个或几个由逗号隔开的变量标识符,他们必须在程序说明部分预先说明,他们可以是整型、实型或字符型,布尔型不可以直接读入。例如 a,b,c 为整型变量, read(a,b,c)之后键盘输入: 20 30 40 (表示回车 ) 结果:a=20,b=30,c=40 readln 语句和 read 语句不同之处在于输入数据到各变量之后,readln 自动换行,从下一行开始再输入数据。一个read 语句执行完后,数据行中多余的未读数据可以被下一个输入语句读入

33、;而一个readln 于执行完后,数据行中多余未读数据就没有用了。 readln 语句中可以不包含变量名表。即有以下等价情况:readln(a,b);readln等价于 readln(a,b) 输入语句输入的数据类型必须和变量一一对应。如果输入的是一串整数或实数,数据间用空格或回车分隔;若输入的是一串字符,则不用分隔。例:输入语句示例program shuru; var x:real; c:char; begin write(please input the number: ($XXX.XX); readln(c,x); writeln(The price is ,c,x) end. 3.3

34、输出语句输出是将内存中的数据送到外设的过程。Turbo Pascal 的输出语句有两种形式:write() writeln() 其中是一串用逗号分隔的常量、 变量、函数名、表达式或字符串。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 37 页 - - - - - - - - - 如果是变量、函数名、表达式,则将其计算结果输出;如果是常量或字符串,则直接输出其值。writeln和 writeln的区别在于: write语句是输出项输出后,不换行,光标停留在最后一项后,

35、writeln语句按项输出后,自动换行,光标则停留在下一行的开始位置。writeln语句允许不含有输出项,即仅writeln;表示换行。Turbo Pascal 语言把输出项的数据显示占用的宽度称为域宽,你可以根据输出格式的要求在输出语句中自动定义每个输出项的宽度。定义宽度时分为单域宽和双域宽。(1)单域宽输出格式:writeln(I:n) 在 n 个字符宽的输出域上按右对齐方式输出I 的值, 若 n大于 I 的实际位数,则在 I 值前面补 (n-I的实际位数) 个空格。若 I 的实际位数大于 n,则自动突破限制。 n 必须是整数。(2)双域宽输出格式:writeln(a:m :n) 双域宽主

36、要用于实型数据的输出。n 的用法同上。在 n 个字符宽的输出域上按右队齐方式用小数点形式输出a 的数值,m是小数点后的位数。原来的数据按该该格式指定的小数位数四舍五入。若m=0 ,则不输出小数部分和小数点,原数据四舍五入取整。 n,m必须是整数。例:输出语句的例子program shuchu; const s=pascal; var i:integer; r:real; c:char; b:boolean; begin i:=12345; r:=123.45 c:=a; b:=true; writeln(i=); writeln(i:6); writeln(r=,r,r:6:1); write

37、ln(c=,c,c:10); writeln(b=,b,b:10) end. 3.4 复合语句复合语句是由若干语句组成的序列,语句之间用分号“;”隔开,并且以begin 和 end括起来,作为一条语句。复合语句的一般形式:begin 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 37 页 - - - - - - - - - 语句 1;语句 2;,语句 n;end 例:变量值的交换program jiaohuan; var a,b,t:integer; begin a:

38、=10;b:=20; begin t:=a; a:=b; b:=t; end; writeln(a=,a,b=,b) end. Pascal基本教程第四章选择结构程序设计4.1 if 语句IF 语句是由一个布尔表达式和两个供选择的操作序列组成。运行时根据布尔表达式求值结果,选取其中之一的操作序列执行。有两种形式的IF 语句:if then ;if then else ;当布尔表达式的值为真,则执行then 后面的语句,值为假时有两种情况:要么什么也不做, 要么执行 else 后面的语句。 注意 else 前面没有分号, 因为分号是两个语句之间的分隔符,而else 并非语句。如果在该处添了分号,

39、则在编译的时候就会认为if 语句到此结束,而把else 当作另一句的开头,输出出错信息。例:求 y=f(x),当 x0时,y=1,当 x=0时,y=0,当 x0 then y:=1; if x=0 then y:=0; if x0 时候,计算 x*x ,并且输出 x 和 x*x ,program lianxie3; var x,x1:real; begin readln(x=,x); if x= then begin x1:=x*x; writeln(x*x=,x1); writeln(x=,x); end; end. 当 if 语句嵌套时, Turbo Pascal约定 else 总是和最近

40、的一个 if配对。4.2 case 语句case 语句是由一个表达式和众多可选择的操作序列组成。运行时,根据表达式的求值结果,在众多的分支中选取一个分支执行。其形式为:case 表达式of 常量 1:语句 1;常量 2:语句 2;,常量 n:语句 n;else 语句 n+1 可选项 end; 表达式只能是顺序类型 (除了实型以外的简单类型),其值必须是唯一确定并且和表达式类型相同。 case 语句执行和表达式值相匹配的case 常数所指向的那条语句,如果没有相匹配的值,则执行else 部分(如果有的话)或者什么也不做。在 else 前面的语句末尾有分号,这是和if语句不同的。例:根据学生的成绩

41、给予相应的等低,对应关系如下:以下program chengji; var s:real;ch:char; begin write(input the score: ); readln(s); if(s=0)and(s=100)then case s div 10 of 10,9:ch:=B; 8:ch:=B; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 37 页 - - - - - - - - - 7,6:=C; else ch:=D; end; writeln(

42、s,-,ch); end. Pascal基本教程第五章循环结构程序设计5.1 while 语句while 语句用于“当满足某一条件时进行循环”的情况。while 语句的语法格式:while 布尔表达式do 语句;循环结束条件在进入循环体之前测试,若最初的测试值为false ,则根本不进入循环体, 也就是说 while 循环是是属于当型循环。 为了能使 while 重复能终止,循环体中一定要有影响布尔表达式的操作,否则该循就是一个死循环。例:计算从到某个数之间所有奇数的和。program jishu; var odds,limit,sum:integer; begin readln(limit)

43、; sum:=0; odds:=1; while odds=limit do begin sum:=sum+odds; odds:=odds+2 end; writeln(sum:1) end. 5.2 repeat 语句repeat 语句用于“重复执行循环体,一直到指定的条件为真时为止”。语法格式为:repeat 语句 1; ,语句 n; until 布尔表达式;repeat 重复基本上有和while 重复一样的描述循环计算的能力,但有一些不同:在 repeat 语句的结构中,布尔表达式求值在计算操作之后,而while 语句中,布尔表达式求值在计算操作之前,也就是说 repeat 至少执行一

44、次循环体。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 37 页 - - - - - - - - - while 语句的成分语句只能是一个语句。因此,当重复动作包含多个语句时,要用 begin 和 end ,使它变成一个复合语句。而repeat 语句的保留字 repeat 和until已经起语句括号作用,可以包含多个语句而无须begin 和 end。repeat 语句中,当布尔表达式为 true 时结束循环, 而 while 语句中,是当表达式为 false时才结束循

45、环。 当描述由计算操作后的情况确定重复是否继续进行的计算时,通常用 repeat 语句描述。 5.3 for 语句for 语句用来描述已知重复次数的循环结构。for 语句有两种形式:(1) for 控制变量:初值to 终值do 语句;(2) for 控制变量: 初值downto 终值do 语句;第一种形式的 for 语句是递增循环。首先将初值赋给控制变量,接着判断控制变量的值是否小于或等于终值,若是,则执行循环体,在执行了循环体之后,自动将控制变量的值该为它的后继值,并重新判断是否小于或等于终值。当控制变量的值大于终值时, 退出 for 循环,执行 for 语句之后的语句。 第一种形式的for

46、 语句是递减循环。 首先将初值赋给控制变量, 接着判断控制变量的值是否大于或等于终值,若是,则执行循环体,在执行了循环体之后,自动将控制变量的值该为它的前趋值, 并重新判断是否大于或等于终值。当控制变量的值小于终值时,退出 for 循环,执行 for 语句之后的语句。 for 语句中的初值、终值、控制变量的数据都必须是顺序类型。 当初值和终值确定后, 重复的次数就确定不变了,并且控制变量在重复语句内不能施加任何赋值操作。例:计算 1+2+3+,+99+100program jia; var n,sum:integer; begin sum:=0; for i:=1 to 100 do sum:

47、=sum+i; writeln(sum); end. 5.4 goto 语句goto 语句是一种无条件转向语句,它可以控制直接从程序的一条语句转向另一条语句。 goto 语句的语法形式为:goto 标号;其中标号必须是不超过位整数的正整数或标识符组成,但标号必须在说明语句中先予以说明。goto 语句会使程序出现一种称为“乱面条”的结构,因此你最好还是不要去用。Pascal基本教程第六章枚举型和子界型6.1 类型定义类型定义的语法格式:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2

48、1 页,共 37 页 - - - - - - - - - type =;=;,=;6.2 枚举类型通过预定义列出所有值的标识符来定义一个有序集合,这些值的次序和枚举类型说明中的标识符的次序识一致的。枚举类型的形式:( 标识符 1,, ,标识符 n) 例如: type daystype=(sunday,monday,tuesday,wednesday,thursday,friday,saturday) 枚举元素只能是标识符, 而不能是数值常量或字符常量。 例如以下的定义是错误的:type daystype=(sun,mon,tue,wed,thu,fri,sat) 枚举元素是标识符, 不要把作为

49、枚举元素的标识符视作变量名,它不能被赋值。同一个枚举元素不能出现在两个或两个以上的枚举类型定义中。例如以下的定义是错误的:type daytype1=(monday,tuesday); daytype2=(monday,wednesday); 可以将枚举类型的定义和变量的定义结合在一起。例如:var a:(monday,tuesday,sunday) 枚举类型属于顺序类型。 根据定义类型时各枚举元素的排列顺序确定它们的序列,序列号从 0 开始。例如:已经定义 daystype ord(sunday)=0,succ(sunday)=monday,pred(friday)=thursday 但是枚

50、举类型中的第一个元素没有前趋,最后一个元素没有后继。Turbo Pascal 不允许直接读写枚举值,所以枚举值的输出常用case 语句间接的输出。枚举值的输入, 则要一一判断读入字符是否是枚举类型的标识符。若是才能赋给枚举变量,否则就会出错。例如:枚举值的输出case day of sunday:write(sunday); monday:write(monday); tuesday:write(tuesday); wednesday:write(wednesday); thursday:write(thursday); friday:write(friday); saturday:write

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁