选择结构的程序设计(一).ppt
选择结构的程序设计(一),引言:在日常生活中,我们经常遇到根据具体情况的不同而去做具体的事,比如:若星期天下雨,我就在家看书,否则我就去踢足球。我们可以画出这个语句的流程图,在我们的程序设计过程中,我们也会经常遇到这种情况,即判断某一个条件是否成立,如果成立做一件事(执行一个/些语句),如果条件不成立就做另一件事(执行另外一个/些语句)。比如:若A为正数,则输出A,否则输出-A。我们也可以模仿上个例子画出这件事的流程图 再如:如果XY,则交换X,Y的值,让学生完成。要完成这些程序就要用到 选择结构。,选择结构的基础知识,下面先复习一些选择结构的基础知识一.布尔(逻辑)常量和变量1.布尔(逻辑型)常量:真(TRUE)、假(FALSE);CONST T=TRUE;F=FALSE;2.布尔变量:变量的类型为布尔型,即存放布尔型数值的变量;定义:VAR A,B:BOOLEAN;A:=ODD(3);3 布尔型数据是顺序型数据:FALSE0;TRUE1,可以使用函数ORD、PRED、SUCC;,关系表达式:比较大小1.关系表达式是由一个关系运算符将两个相容(有序)类型的表达式联结起来的式子。2.PASCAL中的运算符有6个:、=、=、;举例判断真假。3.数值型数据的比较按其大小、其它类型数据按照其序号大小进行比较。由于实型数据在计算机中是近似存储的,所以比较大小时不能直接比。如:0.666666等不等于0.666667呢?不一定,若要求误差在0.001范围内则等,若要求在0.00000001范围内则不相等。此时,应改用下列式子判断X是否等于Y:ABS(X-Y)1 e 34.关系表达式的值是一个布尔量(TRUE、FALSE)。,布尔(逻辑)运算符,布尔(逻辑)运算符运算符:NOT(逻辑非)、AND(逻辑与)、OR(逻辑或),假设A,B为布尔型数据。填写下列表格,关系(逻辑)表达式,关系(逻辑)表达式:用逻辑运算符连接起来的式子1.设X为整数,则表示:正奇数:(X0)AND(ODD(X))1到10之间的整数:大于100或小于10的整数:2.运算符的运算次序(优先级)从高到低如下:括号(内层优先)函数NOT*、/、DIV、MOD、AND+、-、OR关系(逻辑)运算符;运算规律:先高级后低级,同级自左向右运算。,习题,TRUE AND NOT(15)AND(IJ+5)OR TRUE FALSE AND FALSE 2.设X=5(6),求以下表达式的值:(X+5)*ODD(X)+X DIV 2值为123.已知X,Y,Z均为1,求值:TRUE AND(X0)AND(Y0)OR(Z0),布尔变量的输入、输出,布尔变量的输入、输出:输入:只能用赋值语句(A:=TRUE),不能用读语句。输出:WRITELN(A=,A);则输出A=TRUE,选择语句:IF语句,格式:IF 条件表达式 THEN 语句1 ELSE 语句2,IF语句范例,比如:若A为正数,则输出A,否则输出-A。,If A0 then writeln(A)练习:若xy 输出x-y 否则输 else writeln(-A);出y-x;,超市购物:假设超市购物不超过100元时按九折付款,如超过100元,则超过部分按七折收费。编程帮助超市完成这一转化工作。w为购物的价值,x为打折后的价格,最后输出x的值。Program lianxi;Var w,x:real;Begin readln(w);writeln(x);End.,如果XY,则交换X,Y的值,Program lianxi1;Var x,y:real;Begin readln(x,y);填写 writeln(x,y)End.,Program lianxi1;Var x,y,t:real;Begin readln(x,y);if xy then begin t:=y;y:=x;x:=t;end writeln(x,y);End.,1.从键盘输入3个数,按从小到大输出2.某车站行李托运费标准是:10千克或10千克一下,收费2.5元,超过10千克的行李,每超过1千克增加1.5元进行收费。试编一程序,输入行李的重量,算出托运费。3.输入三角形的三个边,判断它是否是三角形。如果是三角形,判断它是何种类型的三角形(等边?等腰?直角?一般三角形?)例如:输入 3 4 5 输出 zhi jiao san jiao xing 输入 3 4 8 输出 bu shi san jiao xing,