数据类型2运算符3布尔运算4表达式5标准函数.ppt

上传人:小飞机 文档编号:5985987 上传时间:2023-09-11 格式:PPT 页数:22 大小:202.50KB
返回 下载 相关 举报
数据类型2运算符3布尔运算4表达式5标准函数.ppt_第1页
第1页 / 共22页
数据类型2运算符3布尔运算4表达式5标准函数.ppt_第2页
第2页 / 共22页
数据类型2运算符3布尔运算4表达式5标准函数.ppt_第3页
第3页 / 共22页
数据类型2运算符3布尔运算4表达式5标准函数.ppt_第4页
第4页 / 共22页
数据类型2运算符3布尔运算4表达式5标准函数.ppt_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《数据类型2运算符3布尔运算4表达式5标准函数.ppt》由会员分享,可在线阅读,更多相关《数据类型2运算符3布尔运算4表达式5标准函数.ppt(22页珍藏版)》请在三一办公上搜索。

1、希望大家能够仔细认真的看完本教程,不仅是我们这多时间学习的一个复习和补充,也是对我们后期学习pascal的一个有利保障,在看的过程中仔细揣摩,做好笔记和整理工作 2010年11月12日,数据对于一门程序语言是非常重要的,数据的一个非常重要的特征就是它的类型。PASCAL规定:程序中出现的变量必须先说明才能使用。,一:数据类型,注意:除了实型以外的数据类型 都是顺序类型 为什么实型不是顺序类型?例如:整数4的“下一个整数”是5,字符B 的“下一 个 字符”是C 实数18.2的“下一个实数”是多少?18.3、18.21,二、运算符,例如:4+5=9 8-3=5 2*3=6 12*24=408 5/

2、2=2.5 34/12=2.83 5 div 2=2 123 div 4=30 5 mod 2=1 12 mod 5=2,1、算术运算符,2、逻辑运算符,布尔运算符:AND(逻辑与)、OR(逻辑或)、NOT(逻辑非)三个,小提示:Not 取反 not(21)=falseAnd 真真为真、真假为假(32)and(32)or(35)=true,3、关系运算符,例如:设a,b为标准数据类型的变量,则:a=b 如果a等于b结果为真,否则为假。ab 如果a不等于b结果为真,否则为假。ab 如果a大于b结果为真,否则为假。a=b 如果a在于等于b结果为真,否则为假。,例如:5=5 结果为真。5=10 结果

3、为假。falsetrue 结果为假。A-8 结果为真。24=21 结果为真。10.310 结果为假。,三、运算符的优先级,如果一个表达式里出现两个或两个以上的运算符,则必须规定它们的运算次序。pascal规定:表达式中相同优先级的运算符,按从左到右顺序计算;表达式中不同优先级的运算符,按从高到低顺序计算;括号优先级最高,从内到外逐层降低;在算术运算中运算符的优先顺序与数学上的四则运算一致,即“先乘除后加减”(注:“MOD”、“DIV”运算的优先级与“”、“/”相同)。,思考:x=10,y=20,z=5(xy)and(x mod z=0)=?,四、布尔运算,要判断“XY”是否成立,其结果不是一个

4、算术量(即数值),而是“成立”或“不成立”,也可以用“真”表示“成立”,用“假”表示“不成立”,也就是说,它的结果是一个逻辑值(“真”或者“假”)。逻辑运算又叫布尔运算。布尔(Bool)是英国数学家的名字,他首先提出对二值变量进行逻辑运算的代数,称为布尔代数。1、布尔常量 Pascal语言中“真”用true表示,“假”用False表示。所以布尔类型只有true与false两个常量。,2、布尔型符号常量(boolean)在程序的说明部分,可以定义布尔符号常量。如:const t=true;f=false;执行部分就可以用t代表true,用f 代表false。例如:write(t,f)将输出:TR

5、UEFALSE,3、布尔变量 如果我们将某些变量说明成布尔型,那么这些变量就是布尔变量,它们只能用于存放布尔值(ture或false)。例如:var a,b:boolean;begin a:=true;b:=false;4、布尔类型是顺序类型 由于这种类型只有两个常量,Pascal语言中规定ture的序号为1,false的序号为0。若某种类型的常量是有限的,那么这种类型的常量通常都有一个序号,我们称这种类型为顺序类型。如前面我们学过的整型(integer),字符型(char)都是顺序类型。,四、布尔运算,五、表达式,表达式是描述数值诸规则的算法结构,它是由操作数(变量名、常量名、函数名等)和运

6、算符联结而成。,例:98 div 12/ord(pred(F)*trunc(2.45+3.6*4)*round(23.56*3-6.75),(一)算术表达式:算术表达式是由算术运算符连接常量、变量、函数的式子。算术表达式中各个运算符的次序为:()函数*,/,div,mod+,-同一级别的运算符,按在表达式中的次序“先左后右”的原则。例如:a=17,b=24,c=8,d=5,e=21 b-c*d Div(e Mod a)最后的结果是14。,(二)逻辑(布尔)表达式 1、简单布尔表达式(关系表达式)下例这些都是关系表达式:x=0,b*b-4*a*c0,x=y+z,ab,truefalse,ab 所

7、谓关系表达式是由一个关系运算符将两个数值量(或字符型数据或布尔型数据)联结起来的式子。关系运算符的两侧可以是常量、变量或表达式(仅限数值型、字符型、布尔型)。关系表达式的值是一个布尔常量(True或False),而不是一个数值。Pascal中有六个关系运算符,它们的书写与含义如下所示:大于 大于或等于 小于 小于或等于 等于 不等于=,五、表达式,关系运算符两侧一般应使用同类型的数据。例如,数值不能同字符相比较。但整型量可以同实型量相比,在比较时,系统先将整型量转换成实型量,然后再进行比较。例如,如果number为实型量,则number12,实际上是按number120进行比较的。由于实数在内

8、存中的存贮存在误差,因此,可能会出现这样的情况:在理论上应该相等的两个数,用计算机判断它们却为“不相等”。例如,X=1,X/10却不等于0.1,关系表达“x/10=0.1”的值可能为“假”(False)。因此,应该避免对两个实数作是否“相等”的比较。若想判断a是否等于b,应该写为:Abs(a-b)b是允许的。布尔表达式的值可以输出。若a的值为12.5,则write(a10)将输出逻辑值False。,(二)逻辑(布尔)表达式 1、简单布尔表达式(关系表达式),五、表达式,(二)逻辑(布尔)表达式 2、布尔运算符和布尔表达式 布尔运算符:not(逻辑非),and(逻辑与),or(逻辑或)它们的运算

9、次序是:notandor 即not最优先,and又优先于or布尔表达式的形式为:布尔量 and/or 布尔量 或 not 布尔量 由此可见,not是一个“单目运算符”,它的前面没有参加运算的布尔量,它的作用是改变它后面的布尔逻辑值;and、or是“双目运算符”,它们的前后都有布尔型数据。若a、b与c是布尔型数据,则:a and b,a or b,not a,(a and b)or(b or c)and(not a),not c and(a or b)等都是布尔表达式。,五、表达式,(二)逻辑(布尔)表达式 2、布尔运算符和布尔表达式 Pascal提供给布尔表达式以下基本操作:逻辑运算和关系运算

10、。如果在一个布尔表达式中既包括布尔运算符,又包括关系运算符和算术运算符,则它们的运算顺序为:括号函数not*,/,Div,Mod,and+,-,or,xor,=,例如:若a=true,b=false,x=7,y=12,m=7,n=35,求下列布尔表达式的值。a and not(m n)and(x y-m)or(a or b)先标出它们运算的先后顺序如上:则有为False,为5,为False,为True,为True,为True,为False,为True,因此最后得到布尔表达式的值为True。对混合运算应该特别注意的是:关系表达式要加括号,先进行关系运算,得到一个布尔量,再进行布尔运算。例如:表示

11、算术表达式:3=x=7 正确的表达式:(3=x)and(x=7)错误的表达式:3=x=7 或(3=x)or(x=7)例如,命题:“m,n都是偶数或都是奇数”可表示为:(m mod 2=0)and(n mod 2=0)or(m mod 2=1)and(n mod 2=1),五、表达式,六、标准函数,标准函数是 Pascal语言预先定义的,(一)整数类型函数Turbo Pascal语言提供了自变量为整型量的标准函数有顺序函数、算术函数和转换函数等。整型是顺序类型,即所有的整型数都是按一定的顺序排列的。如3的后序数是4,350的后序数是351。以后介绍的布尔型、字符型、枚举类型和子界类型等都是顺序类

12、型。顺序函数可以对顺序类型数据进行操作,但要注意它们自变量的取值范围。前趋函数:Pred(x)函数值为x-1,例如:Pred(6)=5 Pred(-21)=-22 Pred(-Maxlongint-1)无意义后继函数:Succ(x)函数值为x+1,例如:Succ(l5)=16 Succ(-114)=-113 Succ(Maxlongint)无意义绝对值函数:Abs(x)函数值为x,例如:Abs(-119)=119 Abs(101)=101平方函数:Sqr(x)函数值为X2,例如:Sqr(-5)=25 Sqr(l0)=100以上四个函数的结果仍是整型数。奇函数:Odd(x),函数的结果为布尔型。

13、当X为奇数时,函数值为true;当X为偶数时,函数值为false。例如:Odd(13)=True Odd(16)=False字符函数:Chr(X),函数值是序号的ASCII字符,属字符型。例如:Chr(65)=A Chr(32)=,六、标准函数,(二)实数类型函数 Pascal语言提供了自变量为实型的标准函数,有如下几种:1、算术函数在下列算术函数中,X可以是实型或整型数的表达式。对于函数Abs和Sqr,其结果类型和变量X的类型相同,其他算术函数的结果类型都是实型。绝对值函数Abs(x):函数值为x的绝对值平方函数Sqr(x):函数值为x的平方小数函数Frac(x):函数值为x的小数部分整数函

14、数Int(x):函数值为x的整数部分正弦函数Sin(x):函数值为x的正弦,其中x的单位为弧度余弦函数Cos(x):函数值为x的余弦,其中x的单位为弧度指数函数Exp(x):函数值为了ex对数函数Ln(X):函数值为x的自然对数平方根函数Sqrt(x):函数值为x的平方根反正切函数Arctan(x):函数值为x的反正切,单位为弧度随机函数Random:无自变量时,函数值取(0,1)间的随机小数;有自变量且为Word类型时,函数值取(0,自变量)间的随机整数。例如:random(256)=0至256(但不包括256)之间的一个随机整数;random=0至1之间的一个随机小数。圆周率函数Pi:无自

15、变量,函数值为值。注意:函数Frac与Int有如下的关系:Frac(x)=x-Int(x)Pascal语言没有乘幂运算符和函数。由于xy=eylnx,因此,若要计算xy,可用指数函数来计算:即xy=Exp(y*ln(x),六、标准函数,(二)实数类型函数 2、转换函数在下面转换函数中,x是实型数,函数的结果类型是整型。截尾函数Trunc(x):舍去实数x的小数部分,并转换为整型舍入函数Round(x):对实数x作四舍五入,并转换为整型例如:Trunc(5.15)=5 Trunc(-5.15)=-5Round(5.56)=6 Round(-5.15)=-5,六、标准函数,(三)字符类型函数 Pa

16、scal语言提供如下自变量为字符型的标准函数,其中Ch为字符型。后继函数Succ(ch):例如,Succ(8)=9 Succ(E)=F对字符集的最后一个字符,Succ函数无意义。前趋函数Pred(ch):例如,Pred(7)=6 Pred(B)=A对字符集的第一个字符,Pred函数无意义。序数函数Ord(ch):给出字符ch在ASCII字符集中的序号,结果为整型。注意:Ord(7)7,正确的是:Ord(7)=Ord(0)+7=48+7=55若ch是数字字符,则Ord(ch)-Ord(0)是该数字字符的数值。例如:Ord(7)-Ord(0)=7前面介绍的字符函数Chr(i)是Ord(ch)的逆函

17、数。例如:Chr(55)=7 Chr(Ord(A)=A,六、标准函数,(四)布尔类型函数 Pascal语言提供布尔型函数主要是几个字符型函数。Ord(B):例如:Ord(false)=0 Ord(true)=1 Pred(B):例如:Pred(true)=false Pred(false)无意义 Succ(B):例如:Succ(false)=true Succ(true)无意义,练习:1、布尔类型量可以做哪些运算?运算规则是什么?2、表达式sqrt(abs(-100)*sqr(round(5.8)的值是()。3、把整数5变为字符5的表达式为()。4、下列式子中,正确关系表达式为()。A aB)

18、D 5x8 5、ax2+bx+c的Pascal表达式为()。6、一元二次方程的根的Pascal表达式为()。7、己知b1、b2、b3的布尔值分别为true、false、false。(1)not b1 and notb2=()。(2)b1 or b2 and b3=()。(3)(not b1 or b2)and(b2 or b3)=()。8、将小写字母x变为大写字母的式子为()。9、有一编码规则如下:原码:ABCXYZ 密码:ZYXCBA 已知原码变量为x,则密码的表达式为()。,10、求表达式的值,并指出运算次序:1)已知a,b,c,d,e,f都是整型变量,它们的值分别为6、4、3、5、2、5

19、,计算 下列表达式:a+b*c*(d div e)-f 2)(32)and(81)3)(8x)and(65)and not(52)or(21)11、将下列代数式写成Pascal表达式 1)(a+b)(a-b)2)-(a2+b2)y4 3)(a+b+c)/2 4)12、确定下列各常数、表达式(左列)的类型和值。表达式类型是指表达式值(结果)的类型。A 3 3 true false 12/3 12 div 353 53)and(53)chr(67),答案:1、布尔类型的量可以用not、and、or运算。规则如下:not运算是对原值否定。如x为真,则not x的值为假。and运算是对两个布尔量进行“

20、与”运算。只要有一个假,运算结果就为假。表示为x and y。or运算是对两个布尔量进行“或”运算。只要有一个为真,运算结果就为真。表示为x or y。2、60.0 3、chr(5+ord(0)4、B 5、a*x*x+b*x+c 6、(-b+sqrt(b*b-4*a*c)/(2*a)和(-b-sqrt(b*b-4*a*c)/(2*a)7、false true false 8、chr(ord(r)-ord(a)+ord(A)9、chr(ord(A)+ord(Z)-ord(x)10、1)6+4*3*(5div2)-5=25 4 2 3 1 5(运算顺序)2)(32)and(81)=false 1 3 2 6 5 4(运算顺序)3)(8x)and(65)and not(52)or(21)=true 1 3 2 8 4 7 6 5 10 9(运算顺序),11、1)(a+b)*(a-b)2)-(a*a+b*b)*sqr(y*y)3)(a+b+c)/2 4)sprt(s*(s-a)*(s-b)*(s-c)12、A 字符型 A 3 字符型 3 3 整型 3 true 布尔型 true false 布尔型 false 12/3 实型 4.0 12 div 3 整型 4 53 布尔型 true 53)and(53)布尔型 false chr(67)字符型 C,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号