8年级下册信息技术 逻辑运算 逐字稿-4,614字
师:同学们,今天我们学习程序中的判断,第二课时逻辑运算。首先复习一下上一堂课的内容。上一堂课我们学习了条件语句,条件语句有两种格式。第一种是块if格式:if条件 then程序段a else程序段b Endif。第二种是行if格式:if条件 then程序段a else程序段b。在程序编写过程中,我们体会到书写条件语句的一个关键点便是条件的描述。
如何描述条件呢?描述条件有两种方式,第一种方式是关系表达式,第二种方式是逻辑表达式。上一堂课,我们编写了猜币程序、出租车收费系统,其中有这样两个条件,x等于n,lc小于或等于3,这就是关系表达式。等号、小于等于号用来比较大小,这就是关系运算符。在VB中,关系运算符有等于、不等于、大于、大于或等于、小于、小于或等于。请大家区别于数学中的书写方式。
关系表达式就是用关系运算符连接起来的式子,它的连接对象可以是算术表达式,也可以是字符表达式。例如c等于d,3 + 2小于或等于4,a小于2乘以b,字符型常量a不等于字符型常量b。注意关系运算符两边表达式的数据类型应相同,如3 + 2小于或等于4,小于等于号左边为3 + 2,右边为4,都是数值;字符型常量a不等于字符型常量b,不等号左边为字符型,右边同样为字符型。那关系表达式的值到底是什么呢?关系成立或不成立又如何表示呢?我们可以通过print方法在VB中输出关系表达式的值。观看程序运行结果,3 + 2小于或等于4,结果为false;字符型常量a不等于字符型常量b,结果为true。所以关系表达式的值是逻辑型数据,关系成立,逻辑值为true;关系不成立,逻辑值为false。接下来让我们进入课堂练习。
一、在下表中,变量a的值为100,变量b的值为20,请写出各关系表达式的值。a不等于b,a为100,b为20,a不等于b成立,结果为true;a小于或等于(b + 20),有括号应该先算括号内,b为20,b + 20为40,a为100,a小于或等于40不成立,结果为false;a大于b,a为100,b为20,a大于b成立,结果为true;a等于b,a为100,b为20,a等于b不成立,结果为false;a - b大于或等于80,a为100,b为20,a - b为80,大于或等于80成立,结果为true;字符型常量a大于字符型常量A。字符型的比较是按照对应ASCII码值来进行的,在ASCII码表当中,a的ASCII码值为97,A的ASCII码值为65,所以字符型常量a大于字符型常量A成立,结果为true。同样,我们可以通过print方法在VB中输出上述表达式的值,结果跟分析一致。接下来请大家思考这样的问题。
三、好学生评选要求,语文、数学、英语均在90分以上。你能用自然语言来描述这一要求吗?答案很简单,语文大于90,且数学大于90,且英语大于90。这就是一个逻辑表达式,“且”将多个条件连接起来,这是一个逻辑运算符。在VB中,常用的逻辑运算符有and(且)、or(或)、not(非)。首先来看一下and的功能,逻辑运算符连接的两个表达式的值同时为true时,值为true;or的功能,逻辑运算符连接的两个表达式的值只要有一个为true时,则逻辑表达式的值为true;not的功能,将逻辑运算符后面表达式的逻辑值取反。注意,逻辑运算是有优先次序的,not的运算级别最高,接下来是and,最后是or。也就是说当一个逻辑表达式当中有多个不同的逻辑运算符的时候,先算not,再算and,最后算or。那什么是逻辑表达式呢?逻辑表达式就是用逻辑运算符连接起来的式子。让我们再次进入课堂练习。
二、在下表中,变量a的值为100,变量b的值为20。请写出各逻辑表达式的值。a大于200 and b等于20,a为100,a大于200不成立,逻辑运算符为and,表达式不成立,结果为false;a大于或等于100 and b大于20,a为100,a大于或等于100成立,b为20,b大于20不成立,逻辑运算符为and,表达式不成立,结果为false;a等于b and b小于20,a为100,b为20,a等于b不成立,逻辑运算符为and,表达式不成立,结果为false;a大于200 or b等于20,a为100,a大于200不成立,b为20,b等于20成立,逻辑运算符为or,表达式成立,结果为true;a大于或等于100 or b大于10,a为100,a大于等于100成立,逻辑运算符为or,表达式成立,结果为true;a等于b或b小于20,a为100,b为20,a等于b不成立,b小于10不成立,逻辑运算符为or,表达式不成立,结果为false;a等于100 or a等于b and b大于10。表达式当中有or又有and,由于and的运算级别高于or,所以应该先算a等于b and b大于10,a为100,b为20,a等于b不成立,逻辑运算符为and,括号内表达式的值为false,a等于100 or false,a为100,a等于100成立,逻辑运算符为or,表达式成立,结果为true;not(a大于200 and b等于20),有括号先算括号内的,a为100,a大于200不成立,逻辑运算符为and,括号内表达式的值为false,not取反以后值为true;not(a大于200 or b等于20),a为100,a大于200不成立,b为20,b等于20成立,括号内表达式的值为true,not取反以后值为false;not a大于200 or b等于20,表达式中有not又有or,由于not的运算级别高于or,所以应该先计算not a大于200,a为100,a大于200不成立,取反后结果为true,true or b等于20,表达式成立,结果为true。同样,我们可以在VB中通过print方法输出上述表达式的结果,与我们分析一致。