第五课布尔表达式IF语句_第1页
第五课布尔表达式IF语句_第2页
第五课布尔表达式IF语句_第3页
第五课布尔表达式IF语句_第4页
第五课布尔表达式IF语句_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五课选择结构

布尔表达式、IF语句选择结构

选择性语句包括if语句和case语句。选择性语句实现程序的选择结构。

第一节布尔运算

要判断“a>b”是否成立,其结果并不是一个数值,而是“成立”或“不成立”。也可用“真”或“假”这样的逻辑值来表示。在Pascal语言中,具有这种性质的数据类型是布尔类型。一、布尔常量和布尔变量1.布尔常量的数据只有二个:真和假,分别用标准常量TRUE(真)和FALSE(假)来表示。并约定将FALSE的序号定为0,TRUE为1。2.布尔变量必须预先定义后使用。例如:

var

a,b:boolean;begin

a:=TRUE;b:=FALSE;……

其中,a和b为布尔类型的变量。boolean是预定义标识符,意为“布尔型”。第五课

布尔表达式、IF语句二、布尔表达式

关系式是由一个关系运算符(也称比较符)将两个算术表达式或两个字符表达式联结起来的式子。关系运算符有以下6个:

=<>><>=<=这些关系运算符分别为等于、不等于、大于、小于、大于等于和小于等于。关系式代表一个布尔值,关系式成立时的值为TRUE,否则值为FALSE。所以关系式是简单的布尔表达式。

除了整型和实型可以在关系运算符两边混合出现外,关系运算符两边的表达式的值必须是相同的有序类型。例如,字符不能和数值比较。

两个及多个关系运算符不能连用。例如,a<b<c不是符合语法的关系式。

布尔表达式是由布尔型的常量、变量、函数、关系式、布尔运算符及圆括号组成的表达式,它的值是布尔类型。

Pascal语言中有3个布尔运算符:AND(逻辑与)、OR(逻辑或)和NOT(逻辑否)。布尔运算也称逻辑运算。第五课

布尔表达式、IF语句由于布尔表达式中可能同时出现算术运算符、关系运算符和布尔运算符,为了确定表达式的求值规则,Pascal规定了这些运算的优先顺序:①括号②函数③NOT④*、/、DIV、MOD、AND⑤+、-、OR⑥>、<、>=、<=、<>、=例如,当a的值为TRUE时,b为FALSE时,以下是一些符合语法的布尔表达式及其值。

aANDb的值为FALSEaORb的值为TRUENOTaANDb的值为FALSENOTaORb的值为FALSENOT(aORb)的值为FALSENOTbORa的值为TRUENOT(bORa)的值为TRUE3>4的值为FALSE(3<=4)ANDa的值为TRUEa<>b的值为TRUEa<b的值为FALSE(a=b)OR(’a’<’b’)的值为TRUEabandornot00001010101001011110习题1.当a=TURE、b=FALSE、c=FALSE时,下列布尔表达式的值是什么?(1)NOTaANDbORc(2)NOT(aANDb)ORc(3)NOTaAND(bORc)(4)6DIV4=5MOD4

FTFT2。P41:分析例4-12第五课

布尔表达式、IF语句三、布尔型数据的输入和输出

将一个布尔表达式赋值给一个布尔变量时,可以用赋值语句。不能用read或readln语句从外部设备向计算机输入一个布尔变量的值。例如,定义a为布尔变量,read(a)是一条错误的语句,赋值语句a:=(3>=4)or(7<8)是符合语法的。

输出一个布尔型数据可用write或writeln。例如当a的值为TRUE时,执行语句writeln(’a=’,a),则输出结果是:

a=TRUE

例如执行语句writeln(3+4<5),则输出结果是:

FALSE。第五课

布尔表达式、IF语句第二节if语句

if语句由一个布尔表达式和两个供选择的语句组成。运行时根据布尔表达式求值的结果,选取其中之一的语句执行。有两种形式的if语句:

①if<布尔表达式>then<语句1>

if<布尔表达式>then<语句1>

else<语句2>当布尔表达式的值为真,则执行then后面的语句。值为假时有两种情况:要么什么也不做,要么执行else后面的语句。注意else前面没有分号,因为分号是两个语句间的分隔符号,而else并非语句。如果在该处画蛇添足加了分号,则编译时就会认为if语句到此结束,而把else当作另一语句的开头,输出语法错误的信息。第五课

布尔表达式、IF语句语句1FALSETRUE布尔表达式布尔表达式语句1语句2TRUEFALSE第五课

布尔表达式、IF语句例4-1输出两个整数中的较小数。

programexample4_1_1;varx,y:integer;beginreadln(x,y);ifx<ythenwriteln(x)elsewriteln(y)end.

本例也可以用两条if语句来实现,程序如下。

programexample4_1_2;varx,y:integer;beginreadln(x,y);ifx<ythenwriteln(x);ify<=xthenwriteln(y)end.第五课

布尔表达式、IF语句例4-2输入一个年号(year),判断它是不是闰年。

判断某年是否闰年的条件是被4整除而不能被100整除,或者能被400整除。因此当布尔表达式((yearMOD4=0)AND(yearMOD100<>0))OR(yearMOD400=0)的值等于TRUE时,这一年就是闰年。

programexample4_2;varyear:integer;beginwrite('Enteryear:');readln(year);if((yearMOD4=0)AND(yearMOD100<>0))OR(yearMOD400=0)thenwriteln(year:6,'isaleapyear.')elsewriteln(year:6,'isnotaleapyear.');

readln;end.第五课

布尔表达式、IF语句

例4-3读入一个小写字母。如果这个字母在字母表的前半部,则输出其后继字母;否则输出其前趋字母。

var

letter:char;beginreadln(letter);ifletter<=’m’

thenwriteln(Succ(letter))elsewriteln(Pred(letter));

readln;end.

第五课

布尔表达式、IF语句

1/(x-2)(x≠2)

例4-4求y=x(x=2)

programexample4_4;vary,x:real;beginwriteln('Inputx:');readln(x);ifx=2theny:=xelsey:=1/(x-2);writeln('y=',y);readln;end.同时参考P424-14P444-16第五课

布尔表达式、IF语句

vary,x,a:real;beginwriteln('Inputaandx:');readln(a,x);ifx<atheny:=a;ifx=atheny:=1;ifx>atheny:=x;writeln('y=',y)end.

程序运行结果如下:

Inputaandx:14(从键盘输入a=1,x=4)y=4.0000000000E+00

例4-5求y=1(x=a)x(x>a)

a(x<a)

第五课

布尔表达式、IF语句在Pascal条件语句格式中,语句1和语句2只能是一条语句。当条件选择某个分支的计算要用多个语句描述时,就得把该分支用begin和end括起来,写成复合语句。另外,实际书写多重if语句连续嵌套时,插入适量的复合语句,可以更清晰地表示if语句的内部结构。下面的if语句由于使用嵌套结构,增加了阅读理解本语句的难度。

ife1thenife2thens1elses2

在此if语句中,else对应着哪一个if?Pascal语法规定else总是与最近的一个if配对。根据Pascal语法,可以使用复合语句来表示以上嵌套结构,实现相同的功能,同时,使得本语句表达的意思变得较易理解。

ife1thenbeginife2thens1elses2end第五课

布尔表达式、IF语句如果使用复合语句,例4-5也可以用以下方法求解。

programexample4_5_2;vary,x,a:real;beginwriteln('Inputaandx:');readln(a,x);ifx<atheny:=aelsebeginifx=atheny:=1elsey:=xend;writeln('y=',y)end.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论