PASCAL语言程序设计 联系客服

发布时间 : 星期五 文章PASCAL语言程序设计更新完毕开始阅读3d510ca32b160b4e767fcff8

类型 占字节有效位数 数 real 2.9e-39..1.7e38 6 11..12 single 1.5e-45..3.4e38 4 7..8 double 5.0e-324..1.7e308 8 15..16 Comp(装配实型) -2^63+1..2^63-1 8 19..20 extended(扩展实型) 3.4e-4932..1.1e4932 10 19..20

实型常量包括正实数、负实数和实数零。pascal中表示实型常量的形式有两种。 ⑴十进制表示法

这是人们日常使用的带小数点的表示方法,要求小数点前后必须有数字。如0.0、-0.0、+5.61、-8.0、-6.050等都是实型常量,而0.、.55都不是合法的实数形式。

⑵科学记数法

科学记数法是采用指数形式的表示方法,如1.25×10^5可表示成1.25E+05。在科学记数法中,字母“E”表示10 这个“底数”,而E之前为一个十进制表示的小数,称为尾数,E之后必须为一个整数,称为“指数”。如-1234.56E+26、+0.268E-5、1E5 是合法形式,而.34E12、2.E5、E5、E、1.2E+0.5都不是合法形式的实数。值得注意的是实数的运算比整数的运算速度慢且无法像整数那样精确表示,只能近似表示。

3.布尔型(boolean)

一个布尔型数据用来存放逻辑值(布尔值),布尔型的值只有两个:false(假值)和true(真值)。

4.字符型(char)

字符型只允许单引号中有一个字符,否则就是字符串(string)。如:'A','y','9','7'。 例1-3 有如下程序,运行它,看有什么结果? program aa;

var a,b:integer; c,d:real; m,n:booLean; ch:char; begin

a:=10; b:=5;

writeln('a=',a,' ','b=',b); c:=a/b;

writeln('c=',c); ch:='T';

writeln('ch=',ch); m:=5>6; n:=10>7;

writeln('m=',m,' ','n=',n); end. 【输出结果】 a=10 b=5

c= 2.000000000000000E+000 ch=T

m=FALSE n=TRUE

例1-4 编写程序,输出如下图形。

数值范围

【参考程序】 program aa; begin

writeln(' $');

5 / 53

writeln(' $$$'); writeln('$$$$$'); end.

第三节 表达式与标准函数

一、算术运算符与算术表达式 1.算术运算符

常用的有以下6个算术运算符:

+(加)、-(减)、*(乘)、/(实数除)、DIV(整除)、MOD(求余)

其中,/(实数除)得到结果为实型,如5.0/2.0=2.5, 4/2=2.0,DIV(求两个数相除后的整数部分),它要求除数和被除数均为整型,结果也为整型,如10 DIV 2=5,5 DIV 10=0,-15 DIV 4=-3,DIV运算只取商的整数部分,参与DIV运算的两个对象不能为实型。mod (求两个数相除后的余数部分)也只能用于整数运算,结果为整数,例如:10 mod 4=2,-17 mod -4=-1,4 mod (-13)=4。

2.算术表达式

在Pascal语言中,算术表达式的意义为:所有符合Pascal语法规则的数值型运算对象(数值型常量、变量、函数)、运算符、圆括号所组成的有意义的式子。

表达式的结果可按标准类型分成算术表达式(运算结果为整型/实型)及布尔表达式(运算结果为布尔型)。

3. 关系运算符和关系表达式

由一个关系运算符将两个类型相容且有序的表达式连结起来的式子,称之为关系表达式,其结果为布尔型(真true或假false)。这里用到的Pascal语言中的关系运算符有:

>(大于) =(等于) <(小于) >=(大于等于) <=(小于等于) <>(不等于)

共六个。

4. 布尔运算及布尔表达式 (1)布尔常量和变量 在Pascal语言中,布尔运算又称为逻辑运算,布尔值也称为逻辑值,它有“真”与“假”两个,分别用“TRUE”与“FALSE”这两个布尔常量来表示的。用来存放逻辑值的变量称为布尔变量,它的作用就是存放一个布尔常量。当然,布尔变量也必须先定义后使用。

例如:VAR T,F:BOOLEAN;

在这里,使用BOOLEAN这个标准类型标识符来定义T与F这两个布尔变量。 (2)布尔运算

布尔运算有三个运算符:Not(逻辑非)、And(逻辑与)、Or(逻辑或)

由一个布尔运算符将两个类型相容且有序的表达式连结起来的式子,称之为布尔表达式。

在一个既包括有布尔运算符,又有关系运算符的表达式中,它们的运算次序为: 1)括号 2)函数

3)NOT(逻辑非)

4)*、/、DIV、MOD、AND 5)+、-、OR

6)>、=、<、>=、<=、< > (3)布尔型数据的输入与输出

在Pascal的程序中,只能通过赋值语句给布尔型变量赋值,不能用READ语句输入一个布尔常量,但可以用write或writeln语句直接输出布尔变量和布尔常量的值。

例1-5 判断程序运算结果 program aa;

var a,b,s,d:integer; L,e,g,f,h,m:boolean;

6 / 53

begin

a:=3;b:=7;

s:=a+b; d:=a div b; L:=a

g:=a>b;f:=e or g;h:=e and g;m:=not h; write('s=',s:5); writeln('d=',d:5); writeln('L=',L);

writeln('e=',e,'g=',g); writeln(f,' ',h,' ',m); end. 【输出结果】

s= 10d= 0 L=TRUE

e=FALSEg=FALSE FALSE FALSE TRUE 二、标准函数

Pascal预先定义了很多种标准函数,其调用格式如下: 变量名:=函数名(自变量参数); 1.算术函数

算术函数可以直接参与算术运算,函数的自变量和函数的类型均为数值型。 函数名函数标识符 自变量类型 结果类型 说明 称 绝对值 abs(x) 整型、实型 同自变量 求X的绝对值 平方 sqr(x) 整型、实型 同自变量 求X的平方 平方根 sqrt(x) 非负整型、非负非负实数 求X的平方根 实型 x指数 exp(x) 整型、实型 实型 相当于EXP(X)=e(底数为e) 自然对ln(x) 整型、实型 实型 求X的自然对数(底数为e) 数 算术函数使用注意事项: (1)绝对值函数abs(X)与数学中的意义功能相同,如:abs(7.1)=7.1,abs(-16)=16

2

(2)平方值函数sqr(X)即求X值,如:sqr(5)=25

n

(3)在Pascal语言中,若要计算y=X,可以用y=exp(n*LN(x))来表示。

X意义功能相同,运算时要求自变量X>=0。如

果要计算3X的值,那只能借助其它方法了。如: 3X=exp(1/3*LN(x))。

(4)平方根函数sqrt(X)与数学中的

(5)指数函数exp(x)与对数函数LN(x)是一对逆函数。与数学中相应函数的区别在于它们都是以自然对数e(e?2.71828)为底。

2

例如:exp(2)即求e=2.71828*2.71828?7.3890461 反过来,LN(7.3890461)=2 附:对数的定义:

假定a是一个不等于1的正实数(即a?1且a>0),对于正实数b(即b>0),如果存在一个实数c,满足a?b 这样的关系式,那么我们说”c是以a为底,b的对数”。并以数学符号logab?c来表示此意义。(注:以a为底 , b的对数”,其中a叫作logablogab读作”的”底”, b叫作logab的”真数”)

c 2.转换函数

7 / 53

转换函数的功能是可以根据需要将数据类型进行转换。 函数名 函数标识符 自变量函数值类说明 类型 型 截尾 trunc(x) 实型 整型 取x的整数部分 舍入 round(x) 实型 整型 对x四舍五入后取它的整数部分 序号 ord(x) 整型、 整型 求x对应的序号 字符型、布尔型 字符 chr(x) 整型 字符型 求x对应的字符 转换函数使用注意事项:

(1)截尾函数trunc(x)可以将实数型自变量x的小数部分截去,函数值为整数。如:trunc(17.8)的值为17,trunc(-6.41)的值为-6。

(2)舍入函数round(x)是将实数型自变量x的小数部分四舍五入,取它的整数部分。如: round(17.8)的值为18,round(-6.1)的值为-6。

(3)当序号函数的自变量为字符时,函数值为该字符的 ASCⅡ码,当自变量为整型数据时,则ord(x)的值为自变量本身,当自变量为BOOLEAN 时,Pascal中规定:FALSE的序号为0,TRUE的序号为1。如:ord('A')=65,ord('a')=97,ord('0')=48,ord(68)=68,ord(FALSE)=0,ord(TRUE)=1。

序号函数ord(x)与字符函数chr(x)的功能相反,它们是一对逆函数。如:chr(ord('A'))= 'A',ord(chr(96))=96。

3.顺序函数 函数名称 函数标识符 自变量类型 函数值类说明 型 前趋 pred(x) 整型、 整型、 求x的前一个数据 字符型、 字符型、若x是第一项,则函数无意义 布尔型 布尔型 后继 succ(x) 整型、 整型、字求x的后一个数据 字符型、 符型、布若x是最后一项,则函数无意义 布尔型 尔型 顺序函数使用注意事项: (1)前趋函数pred(x)和后继函数succ(x)是一对逆函数。如:pred(succ(x))=x,succ(pred(x))=x。

(2)顺序函数的自变量x必须是一个有顺序的数据类型,如实数型的数虽然能比较大小但无法确定x前一项和后一项到底是什么数,所以实型数没有前驱和后继。

(3)当自变量x为数据第一项时,它没有前驱,如pred(FALSE)无意义;当自变量x为最后一项时,它没有后继。如succ(TRUE)无意义。

4.逻辑判断函数 函数名称 函数标识自变量类函数值类型 说明 符 型 奇函数 odd(x) 整型 布尔型 判断x的奇偶性 奇函数使用注意事项: 奇函数的值为BOOLEAN类型,即只存在“真”(TRUE)和“假”(FALSE)。如:odd(5)=true,odd(10)=false

8 / 53