




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
运算符、布尔运算、表达式、标准函数hb007 发表于 2006-3-22 19:24:26一、运算符1、算术运算符运算符运算运算对象结果类型+加整型、实型只要有一个运算对象是实型,结果就是实型,如果全部的运算对象都是整型并且运算不是除法,则结果为整型,若运算是除法,则结果是实型-减整型、实型*乘整型、实型/除整型、实型div整除整型整型mod取余整型整型例如:4 + 5 = 9 8 - 3 = 52 * 3 = 6 12 * 24 = 4085 / 2 = 2.5 34 / 12 = 2.835 div 2 = 2 123 div 4 = 305 mod 2 = 112 mod 5 = 2 2、逻辑运算符运算符运算运算对象结果类型not逻辑非布尔型布尔型and逻辑与布尔型布尔型or逻辑或布尔型布尔型它们的运算真值表如下:abnot ba and ba or bfalsefalsetruefalsefalsefalsetruetruefalsetruetruefalsefalsefalsetruetruetruefalsetruetrue3、关系运算符运算符运算运算对象结果类型=等于简单类型布尔型不等于简单类型布尔型大于简单类型布尔型=大于等于简单类型布尔型例如:设a,b为标准数据类型的变量,则:a=b 如果a等于b结果为真,否则为假。ab 如果a不等于b结果为真,否则为假。ab 如果a大于b结果为真,否则为假。a=b 如果a在于等于b结果为真,否则为假。例如:5=5 结果为真。5=10 结果为假。falsetrue 结果为假。A-8 结果为真。24=21 结果为真。10.310 结果为假。二、运算符的优先级运算符优先级园括号按由里至外,逐层展开的规律进行。not1(高)*,/,div,mod,and2+,-,or3=,=,=,4(低)三、布尔运算要判断“XY”是否成立,其结果不是一个算术量(即数值),而是“成立”或“不成立”,也可以用“真”表示“成立”,用“假”表示“不成立”,也就是说,它的结果是一个逻辑值(“真”或者“假”)。逻辑运算又叫布尔运算。布尔(Bool)是英国数学家的名字,他首先提出对二值变量进行逻辑运算的代数,称为布尔代数。1、布尔常量Pascal语言中“真”用true表示,“假”用False表示。所以布尔类型只有true与false两个常量。2、布尔型符号常量(boolean)在程序的说明部分,可以定义布尔符号常量。如:const t=true; f=false;执行部分就可以用t代表true,用f 代表false。例如:write(t,f)将输出:TRUEFALSE3、布尔变量如果我们将某些变量说明成布尔型,那么这些变量就是布尔变量,它们只能用于存放布尔值(ture或false)。例如,var a,b:boolean; begin a:=true; b:=false;4、布尔类型是顺序类型由于这种类型只有两个常量,Pascal语言中规定ture的序号为1,false的序号为0。若某种类型的常量是有限的,那么这种类型的常量通常都有一个序号,我们称这种类型为顺序类型。如前面我们学过的整型(integer),字符型(char)都是顺序类型。四、表达式表达式是描述数值诸规则的算法结构,它是由操作数(变量名、常量名、函数名等)和运算符联结而成。(一)算术表达式:算术表达式是由算术运算符连接常量、变量、函数的式子。算术表达式中各个运算符的次序为: ( )函数*,/,div,mod+,-同一级别的运算符,按在表达式中的次序“先左后右”的原则。例如:a=17,b=24,c=8,d=5,e=21b - c * d Div(e Mod a) 最后的结果是14。(二)逻辑(布尔)表达式1、简单布尔表达式(关系表达式)下例这些都是关系表达式:x=0, b*b-4*a*c0, x=y+z, ab, truefalse, ab所谓关系表达式是由一个关系运算符将两个数值量(或字符型数据或布尔型数据)联结起来的式子。关系运算符的两侧可以是常量、变量或表达式(仅限数值型、字符型、布尔型)。关系表达式的值是一个布尔常量(True或False),而不是一个数值。Turbo Pascal中有六个关系运算符,它们的书写与含义如下所示:大于大于或等于小于小于或等于等于不等于 = = = 关系运算符两侧一般应使用同类型的数据。例如,数值不能同字符相比较。但整型量可以同实型量相比,在比较时,系统先将整型量转换成实型量,然后再进行比较。例如,如果number为实型量,则number12,实际上是按number120进行比较的。由于实数在内存中的存贮存在误差,因此,可能会出现这样的情况:在理论上应该相等的两个数,用计算机判断它们却为“不相等”。例如,X=1,X/10却不等于0.1,关系表达“x/10=0.1”的值可能为“假”(False)。因此,应该避免对两个实数作是否“相等”的比较。若想判断a是否等于b,应该写为:Abs(a-b)1E-6(abs绝对值)或小于一个其他足够小的数,只要小于此数,就认为a和b足够地接近,近似地认为相等;如果a和b的值比较大(如1030),则a-b之差可能大于10-5,因此,可用相对误差,即:Abs(a-b)/x)b是允许的。布尔表达式的值可以输出。若a的值为12.5,则write(a10)将输出逻辑值False。以后还要介绍一个关系运算符“in”,它的两侧是集合表达式。 2、布尔运算符和布尔表达式布尔运算符:not(逻辑非),and(逻辑与),or(逻辑或),xor(逻辑异或)它们的运算次序是:notandor、xor 即not最优先,and又优先于or和xor。 布尔表达式的形式为:and/or/xor 或 not由此可见,not是一个“单目运算符”,它的前面没有参加运算的布尔量,它的作用是改变它后面的布尔逻辑值;and、or和xor是“双目运算符”,它们的前后都有布尔型数据。若a、b与c是布尔型数据,则:a and b,a or b,a xor b,not a,(a and b)or(b xor c)and(not a),not c and (a xor b)等都是布尔表达式。abNot aa and ba or ba xor bfalsefalsetruefalsefalsefalsefalsetruetruefalsetruetruetruefalsefalsefalsetruetruetruetruefalsetruetruefalseTurbo Pascal提供给布尔表达式以下基本操作:逻辑运算和关系运算。 如果在一个布尔表达式中既包括布尔运算符,又包括关系运算符和算术运算符,则它们的运算顺序为:括号函数not*,/,Div,Mod,and+,-,or,xor,=,=,=,in例如:若a=true,b=false,x=7,y=12,m=7,n=35,求下列布尔表达式的值。a and not(m n) and (x y - m) or (a xor b) 先标出它们运算的先后顺序如上:则有为False,为5,为False,为True,为True,为True,为False,为True,因此最后得到布尔表达式的值为True。对混合运算应该特别注意的是:关系表达式要加括号,先进行关系运算,得到一个布尔量,再进行布尔运算。例如:表示算术表达式: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)五、标准函数标准函数是Turbo Pascal语言预先定义的,它们实际上是能完成特定功能的称为子程序的程序段。每个标准函数都用一个标识符来标识,每个标准函数都能完成一个特定的功能,在程序中可以直接调用它们。Turbo Pascal语言中某些标准函数与数学中的函数有相似之处。(一)整数类型函数Turbo Pascal语言提供了自变量为整型量的标准函数有顺序函数、算术函数和转换函数等。整型是顺序类型,即所有的整型数都是按一定的顺序排列的。如3的后序数是4,350的后序数是351。以后介绍的布尔型、字符型、枚举类型和子界类型等都是顺序类型。顺序函数可以对顺序类型数据进行操作,但要注意它们自变量的取值范围。前趋函数: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),函数的结果为布尔型。当X为奇数时,函数值为true;当X为偶数时,函数值为false。例如: Odd (13)= True Odd (16)= False字符函数:Chr (X),函数值是序号的ASCII字符,属字符型。例如: Chr (65)=A Chr (32)= (二)实数类型函数Turbo Pascal语言提供了自变量为实型的标准函数,有如下几种:1、算术函数在下列算术函数中,X可以是实型或整型数的表达式。对于函数Abs和Sqr,其结果类型和变量X的类型相同,其他算术函数的结果类型都是实型。绝对值函数Abs(x):函数值为x的绝对值平方函数Sqr (x):函数值为x的平方小数函数Frac (x):函数值为x的小数部分整数函数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:无自变量,函数值为值。函数Frac与Int有如下的关系:Frac(x)=x-Int(x)Turbo 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)=-5Turbo Pascal还提供了一个常用的预定义字符型标准函数Upcase,该函数仅对英文小写字母返回其对应的大写字母,对其他字符不作改变而返回原值。例如:Upcase(x)=X Upcase(?)=?(三)字符类型函数Turbo Pascal语言提供如下自变量为字符型的标准函数,其中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)的逆函数。例如: Chr (55)= 7 Chr (Ord(A)=A(四)布尔类型函数Turbo Pascal语言提供布尔型函数主要是几个字符型函数。Ord (B):例如:Ord (false)=0 Ord (true)=1Pred (B):例如:Pred(true)=false Pred(false)无意义Succ(B):例如:Succ(false)=true Succ(true)无意义除了上面的三个标准函数外,还有两个标准函数的值是布尔型:Eof(f)和Eoln(f)。其中f是文件变量。若输入文件是标准文件input,可写成Eof或Eoln。这两个函数的值在开始读文件时为False,当读到一个行结束符时(回车符Chr(13)),Eoln为True;当读到文件结束符(Chr(26))或(Ctrl+Z)时,Eof为True。杂类函数函数标识符自变量类型意义结果类型random无自变量0,1之间的随机实数realrandomword0,自变量之间的随机整数wordrandomize无自变量用一随机值初始化内部随机数产生器longintupcase字符型使小写英文字母变为大写字符型练习:1、布尔类型量可以做哪些运算?运算规则是什么?2、表达式sqrt(abs(-100)*sqr(round(5.8)的值是( )。3、把整数5变为字符5的表达式为( )。4、下列式子中,正确关系表达式为( )。 A a100 B 23.621 C (1B) D 5x2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年软件工程师初级编程实战题集及解析
- 2025年船厂安全操作规范模拟题集
- 2025年国际金融分析师考试知识点梳理与模拟题集
- 电代煤安全知识培训课件新闻
- 2025年焊接工艺知识笔试模拟题及答案
- 人教版鲸教学课件
- 新解读《GB-T 36771-2018番茄花叶病毒检疫鉴定方法》
- 广西钦州市2024-2025学年高一上学期期末教学质量监测物理试卷(含答案)
- 2025年重庆市中考数学押题试卷(三)(含答案)
- 新解读《GB-T 36140-2018装配式玻纤增强无机材料复合保温墙体技术要求》
- WB/T 1036-2006菱镁制品用玻璃纤维布
- 【词汇】高中英语新教材词汇总表(共七册)
- 北京市各县区乡镇行政村村庄村名明细
- 笔迹、指纹鉴定申请书
- 长沙市历年中考数学试卷,2014-2021年长沙中考数学近八年真题汇总(含答案解析)
- 【英语】人教版英语八年级英语下册阅读理解专题复习练习(含解析)
- 《植物生理学》课件第四章+植物的呼吸作用
- 2022年出差管理制度员工出差管理制度
- 工作责任心主题培训ppt课件(PPT 26页)
- 完整解读新版《英语》新课标2022年《义务教育英语课程标准(2022年版)》PPT课件
- 国家公交都市评价指标体系
评论
0/150
提交评论