77范文网 - 专业文章范例文档资料分享平台

PASCAL基础知识

来源:网络收集 时间:2019-03-16 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

PASCAL基础知识

第一节 数据类型

1. 常量:

整型常量 Maxint表示计算机系统所允许的最大整数,-Maxint-1表示最小整数

实型常量:实型常量包括正实数,负实数,零。表示方法有两种:十进制表示法和科学 计数法。

科学计数法:有位数,底数和指数构成。 字符常量:单个引号括起来 布尔常量:

符号常量:符号常量必须先定义后使用 CONST

2. 变量:自定义标识符必须以字母(包括下划线)开头,后面的字符可以是字母或数字。 3. 算术表达式:常用的6个算术运算符:+,-,*,/(实数除),DIV(整除),mod(求余)。

/(实数除)得到的结果为实数4/2=2.0而不等于2。

DIV(整数除)要求参与运算的两个数都是整型,结果也为整形。10 DIV 3=3,5 DIV 10=0,DIV运算只取商的整数部分。

mod(求余)也只能用于整数运算,结果也为整形 4. pascal标准函数:

odd() 判断变量是否为奇数 Abs() 绝对值 Sqr() 求平方 Sqrt() 求平方根

Chr(数值表达式) 返回以数值表达式值为编码的字符。数值表达式的取值范围0-255。 ord() 返回字符的ASCII码,结果为整形。在字符范围内和chr()函数互为反函数。 Trunc(1.999)为截尾函数 其值为1。 round() 舍入函数 random()随机函数 mod()求余函数

succ(x) 求x的后继 succ(‘b’)=’c’ succ(5)=6 succ(false)=true pred(x) 求x的前导 pred(‘b’)=’a’ pred(5)=4 pred(true)=false

第三节 输出语句(WRITE语句)

1. write 语句 write(表达式1,表达式2,表达式3,....);

2. writeln 语句 writeln(表达式1,表达式2,表达式3,...);和write的不同之处是输出后

有换行。

第四节 输入语句

1. 写语句的输出格式:对整数的默认输出格式是十进制形式,对实数的输出,默认的形式

是科学计数法形式。在pascal中一个数据所占的宽度称为“场宽”或“字段宽”。 turbo pascal中默认的字段宽为:

整形:实际长度 实型:17 布尔型:4或5 字符串:串长 2. 指定场宽:

1)指定单场宽:指定单场宽后,所有数据不再按标准场宽输出,而按指定场宽输出。若数据的实际长度小于指定场宽时,一律“向右靠齐,左留空格”。对于标准实型数据

指定单场宽时,如果场宽大于标准场宽时,右对齐按标准场宽格式输出17位,左留空格。若场宽小于标准场宽时,第一位为符号位,最后四位仍为“E+nn”,中间部分为尾数显示部分(四舍五入过的数据),如果指定的宽度小于8位,则数据按8位格式输出。 2)指定双场宽:用于实型数据不想用科学计数法的形式输出,而按小数的格式输出这种情况。Write(实型表达式:m:n)其中m是指整个数据所占宽度,n是小数部分的宽度。当双场宽不能满足数据输出的最低要求,系统自动突破指定的场宽限制,按实际长度输出。

3. 输入语句:read()和readln()的重要区别:前者后面一定要带参数表,而后者可以不带参

数表,即没有任何输入项,只是等待一个回车,经常用于暂停程序的运行,直到输入一个回车。

建议按下列原则使用读语句:1.如果没有特殊需要在一个程序中尽量避免混合使用read语句和readln语句。2.尽量用readln语句来输入数据,一个数据行对应一个readln语句。3.由于在执行read或者readln语句时,系统不会出现任何提示信息,因此在realn语句前加以适当提示。

第三张 选择结构的程序设计

第一节IF语句

Integer和real型的数据都是数值型的,其中integer类型的数据取值范围为:-32768到32767。布尔类型是一种数据类型,由于这种类型只有两个常量,pascal中规定:ture的序列号位1,false的序列号为0。若某种类型的常量是有限的,那么这种类型的常量通常都有一个序号,称这种类型为顺序类型。如前面我们学的整形(integer)和字符型(char)。布尔类型的变量不能通过读语句给他们赋值。 运算符的优先顺序: 括号-》函数-》not-》*、/、div、mod、and-》+、-、or、xor-》关系运算符 例:超市里卖电池,每个电池8毛钱,若数量超过10个,可打7.5折 .... Writeln(‘total=’,total:0:2); //这里total的场宽应设为小数部分为2,数值场宽为0,这样在保证了两位小数的基础上,保证了数值的正确不溢出。记住。 ..... 例:输入三个正整数,然后按从小到大的顺序输出 var a,b,c,t:longint; begin readln(a,b,c); if a>b then begin t:=a; a:=b; b:=t; end; if a>c then begin t:=a; a:=c; c:=t; end; if b>c then begin t:=b; b:=c; c:=t; end; writeln(a,' ',b,' ',c); end. 例:输入一个不多于三位的正整数,求出它是几位数,并打出各位上的数字。 ....var i,m,n,k:integer; ..... M:=i div 100; N:=(i-m*100) div 10; k:=(i-m*100-n*10) mod 10; writeln(m,’ ‘,n,’ ‘,k); 第三节 情况语句

1. 情况语句的一般格式:

case <表达式> of

<情况标号表1>:语句1; <情况标号表2>:语句2; ..

<情况标号表n>:语句n end;

表达式的值必须是顺序类型,它可以是整型,布尔型,字符型,枚举型,子界型。情况标号表是一串用逗号隔开的与表达式类型一致的常量序列。语句可以是任何语句,包括复合语句和空语句。 2. case语句的执行过程:

先计算表达式的值,如果它的值等于某一常量(称为情况常量,也称为情况标号),则执行该情况常量后面的语句,在执行完语句后,跳到case语句的末尾END处。 3. 说明:

1. 情况表达式必须是顺序类型的。

2. 情况常量是情况表达式可能具有的值,因而应与情况表达式具有相同类型。 3. 情况常量出现的次序可以是任意的。

4. 同一情况常量不能在同一case语句中出现两次以上。 5. 每个分句前可以有一个或若干个用逗号隔开的情况常量。

6. 如果情况表达式的值落在情况常量的范围外,则认为本case语句无效,执行下一个语句。可以有一个else语句,也可以省略。

7. 每个常量后面只能是一个语句或一个复合语句。 例: 根据输入的字符,判断是字母还是数字 Program zijie; Var x:char; Begin Writeln(‘input a char:’); Read(x); Case x of ‘0’..’9’:writeln(‘shuzi’); ‘a’..’z’,’A’..’Z’:writeln(‘zimu); //分句前可以有一个或若干个用逗号隔开的情况常量。 Else writeln(‘qita’); Readln; End; End.

第四章 循环结构程序设计 第五章 枚举和子界类型

1. 枚举类型的定义:

枚举类型的一般格式:(标识符1,标识符2,...,标识符n) 说明:1. 括号中的每一个标识符都称为枚举元素或枚举常量。

2. 定义枚举类型时列出的所有枚举元素构成了这种枚举类型的值域(取值范 围),也就是说,该类型变量的所有可能的取值都列出来了。

注意:标识符必须以字母(包括下划线)开头,后面的字符可以是字母或数字。 下列类型的定义是错误的:

type colortype=(‘red’,’yellow’,’green’,’blue’); //标识符中不能有单引号 number=(1,3,5,7,8); //标识符必须以字母开头 ty=(for,do,while) //含有系统内置标识符。 2. 枚举类型的性质

1. 枚举类型属于顺序类型 succ(x) 求x的后继, pred(x)的前继。枚举类型中的第一个元素无前继,最后一个元素无后继。

2. 枚举类型只能进行数值运算和关系运算 3. 枚举变量的值只能用赋值语句来获得,而不能用read(readln)来读一个枚举型的值,同样也不能用write(writeln)来输出一个枚举型的值。

4. 同一个枚举元素不能出现在两个或两个以上的枚举类型定义中。

第二节 子界类型

1. 定义:<常量1>..<常量2>

1. 常量1称为子界的下界,常量2称为子界的上界。

2. 下界和上界必须是同一顺序类型(给类型称为子界的基类型),且上界的序号必须大于下界的序号。

3. 可以在变量说明中直接定义子界类型。 2. 子界类型数据的运算规则:

1. 凡可使用基类型的运算规则同样适用该类型的子界类型。 2. 对基类型的运算规则同样适用于该类型的子界类型。 3. 基类型相同的不同子界类型可以进行混合运算。

第六章 数组 第七章 函数和过程

第二节 过程

1. 过程的定义:

Procedure 过程名(形式参数); var 过程变量说明; begin 过程体 end;

对该格式说明如下:1.过程的首部。括号里是形式参数,如形式参数不止一种,则中间用“;”隔开,同类参数如不止一个,则中间用“,”隔开。另:有时候过程不用加参数。2. 过程的说明部分,用var开头,它只能对过程中的变量进行时说明,同样是局部变量。另:如过程不用变量,则可将说明部分省略。

2. 过程的调用:

在过程定义的语句中,有个参数表,在参数表中除了形参以外,还有变量形参。变量形参的作用是:他可以作为过程的出口参数。我们可以把过程中求出的结果用变量形参输出到过程外,在过程外可以调用该参数,因此,该参数是全局变量。其格式上的区别是在变量形

参的前面加上VAR即可。

1. 形参:在函数或过程的定义中,没有参加var说明的参数,在调用函数或过程时,调用程序将实参的值直接传递给形参,起着赋值的作用。

2.变量形参:在函数或过程的定义中,加有VAR说明的参数,在调用函数或过程时,调用程序将实参的变量地址传递给变量形参,因此当过程或函数处理中,改变变量形参的值,则实参变量的值也随之改变。(共享同一个存储单元) 小结:形参和变量形参的区别:

1. 形参传值:为形参分配存储单元,将实参的值赋予形参,过程体内对形参的操作不影响实参的值。一旦过程体执行完毕,系统将回收形参所占的存储单元,形参的值也就不复存在。

2. 变量形参传地址: 将实参的地址传给对应的变量形参,即变量形参和实参共享实参的地址,因此对变量形参的的操作就是对实参的操作。一旦过程执行完毕,系统将回收变量形参所占的存储单元,但运算结果以保留在对应的实参中。 3. 函数和过程的区别: 1. 标识符不同

2. 函数中一般不用变量形参,用函数名直接返回函数值,而过程如有返回值,则必须用变

量形参返回。

3. 过程无类型,不能给过程名赋值;函数有类型,最重要将函数值传送给函数名。 4. 函数在定义时一定要进行函数类型的说明,过程则不进行过程类型的说明。

5. 调用方式不同。函数的调用出现在表达式中,过程的调用,有独立的过程调用语句来完

成。

6. 过程一般会被设计成求若干个运算结果,完成一系列的数据处理,或与运算无关的各种

操作;而函数往往只为了求的一个函数值。

3. 变量及其作用域

全程变量:主程序中被说明的变量。

局部变量:在过程或函数中被说明的变量。 局部变量的作用域是他们所在的子程序。因形式参数也只是在子程序中有效,因此也属于 局部变量。

全程变量的作用域分为两种情况:

1. 在全程变量和局部变量不同名时,其作用域是整个程序。 2. 在全程变量和局部变量同名时,局部变量屏蔽了全程变量。

第九章 文件

在pascal中,文件被定义为同一类型的元素组成的顺序集合。文件所含的元素个数,称为文件的长度。文件具有以下三个特点: 1. 顺序性 2. 永久性 3. 容量大

文件的分类:按文件的结构分,可以分为文本文件,类型文件和无类型文件。文本文件又称为text文件,文件的内容是以字符形式(ASCII码)存放的。类型文件又称为file文件、二进制文件,它的内容以二进制代码形式存放的。无类型文件是一个低层的I/O通道,主要直接来访问固定长度的元素的任意磁盘文件。 按照文件的存取方式分,文件可以分为顺序存取文件和随机存取文件两种。顺序文件的读写都要从文件的开头顺次

进行,而随机文件可以从文件的任意指定位置进行读写。在PASCAL中文本文件属于顺序存取文件,而类型文件属于随机存取文件。

1. 文件操作的一般步骤。

1、在使用文件前,必须对文件的类型和变量进行说明;

2、把磁盘上的实际文件(外部文件)和pascal程序当中的文件(内部文件)建立关联。 3、打开文件,将文件的指针指向开始位置,为文件的读写做准备。 4、对文件进行读写操作;

5、在使用文件结束,一定要记住关闭文件,确保文件的完整性和可靠性。 2. 文本文件的操作步骤:

1、文本问价的变量在使用前必须说明其类型为text; var f1:text;

2、在使用文本前,要先调用assign过程,把外部文件名赋予文本文件变量。 assign(f1,’a:/test/input1.txt’) 3、当将数据写入(输出)到文件时,应先rewrite或append过程打开文件,在调用write或writeln将实际数据写入到该文件中。 rewrite(f1); append(f1);

write(f1,var1,var2....varn); writeln(f1,var1, var2....varn);

4、当需要从文件中读取(输入)数据到内存时,应先调用reset过程打开该文件,再用read或readln将数据度入到内存变量中。 reset(f1);

read(f1,var1,var2...varn); readln(f1,var1,var2.....varn);

5、对文件的输入、输出操作必须以行为单位进行,读写完毕要用close命名关闭文件。 close(f1);

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库PASCAL基础知识在线全文阅读。

PASCAL基础知识.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/524397.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: