第五节逻辑运算教学目标:学习逻辑运算,为if-then语句做准备教学内容:容易混淆的问题:programl;vara:char;beginreadln(a);writeln(a);writeln('a')end.'a'表示常量字符,只代表一个字符。a表示变量的名称,可存放任何字符。一.通过算术运算引入逻辑运算1+1是一个算术运算,它有一个数值结果2,32是一个逻辑运算,它的结果是一个逻辑值:true.二.布尔类型、布尔常量和布尔变量布尔类型:boolean布尔常量:true,false布尔变量:用来存放布尔常量.先定义,后使用.例:programlt;constp=false;vara,b,c:boolean;begina:=false;b:=54;c:=p;writeln(a,b:6,c:6);end.注:不能用read语句给布尔变量赋值.三.布尔表达式1.关系运算符:=,,,,=,=false□□true□false2.逻辑运算符:not(逻辑否),and(逻辑与),or(逻辑或)ABnotAnotBAandBAorBtruetruefalsefalsetruefalsetruefalsefalsefalsetruetruefalsetruefalsetruetruefalsefalsefalsetruetruetruefalse3.逻辑运算符的运算次序NOT→AND→OR四、算术表达式、关系表达式和布尔表达式1.关系表达式:算术表达式+关系运算符+算术表达式例:1+1=22+22*2'A''B'2.布尔表达式:关系表达式+逻辑运算符+关系表达式例:(a0)and(a10)(a10)or(a5)not(1+1=2)3.一个既包括有逻辑运算,又包括关系运算的表达式,运算次序是括号→函数→NOT→*,/,DIV,MOD,AND→+,-,OR→,=,,=,=,习题:1.已知a1,a2,a3,的布尔值分别是true、false、false(1)NOTa1ANDNOTa2(2)a1ORa2ANDa3(3)(NOTa1ORa2)AND(a2ORa3)2.已知:constpi=3.1415;x='abcd'varm,n:integer;a,b:real;p,q:boolean;c,d:char;判断以下语句的正误:(1)m:=trunc(b)*a+a;(2)p:=p+q;(3)c:=x;(4)'C':='D'(5)m:=nmoda(6)read(m,a,p,c,x)(7)write(n,b,q,pi)3.写出下面布尔表达式的逻辑值3924,6789,5+6=11,not(3030),6*7=42,(75)or(75)4.设有常数定义constx=1;y=2;ch1='A';ch2='D';求下列表达式的结果1)x+1y;2)x*5+9=y+4*3;3)ch2=D4)succ(succ(succ(ch1)))=ch25)ch1ch26)ord(ch1)ord(ch2)5.写出判断下列各条件的布尔表达式:(1)i是j的整倍数(2)K是偶数(3)y是闰年(即y能被4整除而不能被100整除,或者能被400整除)(4)x是两位整数(5)z是能被2整除但不能被3整除的整数