1、条件语句,算法初步,复习巩固,1、输入语句、输出语句和赋值语句对应于算法中的哪种结构?这三种语句的一般格式是什么?,顺序结构,输入语句,输出语句,赋值语句,INPUT “提示内容”;变量,PRINT “提示内容”;表达式,变量表达式,INPUT “提示内容”;变量,PRINT “提示内容”;表达式,变量表达式,可对程序中 的变量赋值,可输出表达式的值,计算,可对程序中的变量赋值,计算,(1)提示内容和它后面 的“;”可以省略,(2)一个语句可以给多个变量赋值,中间用“,”分隔,(3)无计算功能,(1)表达式可以是变量, 计算公式,或系统信息,(2)一个语句可以输入多个表达式,中间用“,”分隔,
2、(3)有计算功能,(1)“=”的右侧必须是表达式,左侧必须是变量,(2)一个语句只能给一个变量赋,(3)有计算功能,1、回忆程序框图中的两种条件结构。 2、指出条件语句的格式及功能。 3、指出两种条件语句的相同点与不同点。 4、揭示程序中的条件语句与程序框图中的条件结构存在一一对应关系。,问题,IF 条件 THEN语句体1 ELSE语句体2 END IF,IF 条件 THEN语句体 END IF,2、条件结构常用的程序语言和格式,(单分支条件结构),(双分支条件结构),例1:编写一程序,求实数X的绝对值。,算法步骤:,S1:输入一个实数X,S2:判断X的符号,若X0,则输出X;否则输出X,程序
3、框图:,开 始,输入 X,X0?,输出X,输出 X,结 束,是,否,程序: INPUT X IF X=0 THENPRINT X ELSEPRINT -X END IF END,练习:把下列语句的意义翻译成程序框图,(2)INPUT xIF x0 THENy=1ELSEy=0END IFPRINT yEND,(1) INPUT xIF x0 THENx=ABS(x) END IF PRINT “x的绝对值为:”;x END,开 始,X=ABS(x),结 束,开 始,y=1,y=0,结束,Y,N,Y,N,输 出 x,X0?,X0?,输 入 x,输入x,输 出 y,例2编写程序,输出两个不相等的实
4、数a、b的最大值,分析:要输出两个不相等的实数a、b的最大值, 从而想到对a、b的大小关系有两种情况:(1) ab;(2)ba。这也就用到了我们经常提到的 分类讨论的思想,找出两个数的最大值。,第一步:输入a,b的数值,第二步:判断ab 是否成立 若是输出a的值,否则,输出b的值。,开始,输入a,b,ab?,输 出b,输出a,结 束,Y,N,程序:,INPUT a,b,IF ab THEN,PRINT a,ELSE,PRINT b,END IF,END,开始,输入a,b,ab?,输出b,输出a,结束,Y,N,另解:,开始,输入a,b,ba?,输 出a,结 束,Y,N,a=b,程序:,INPUT
5、 a,b,a=b,PRINT a,END IF,END,IF ba THEN,练习1:编写一个程序,判断任意输入的整数的奇偶性,开始,输入整数a,M=0?,M=a MOD 2,输出a为偶数,输出a为奇数,结束,Y,N,程序:,INPUT “a=“ ; a,M= a MOD 2,IF M=0 THEN,PRINT “a为偶数”,ELSE,PRINT “a为奇数”,END IF END,练习2己知函数 ,画出程序框图,并编写一个程序。,开始,输入X,X0?,y=X2-1,y=2X2-5,输出y,结束,INPUT x,IF x=0 THEN,y=X2-1,ELSE,y=2*x2-5,END IF,P
6、RINT Y,END,练习,开始,输入a,b,c,a+bc,a+c b, b+c a是否同时成立?,存在这样的 三角形,不存在这样 的三角形,结束,否,是,(3),该程序框图所表示的算法是作用是什么?并根据程序框图写出相应的程序。,程序:,INPUT a,b,c,IF a+bc and a+cb and b+ca THEN,PRINT “存在这样的三角形”,ELSE,PRINT “不存在这样的三角形”,ENDIF,END,例3 编写程序,使得任意输入3个整数按大到小的顺序输出。,算法分析:,算法思想:3个数两两比较,确定大小。按a、b、c输入,要按a、b、c输出,关键要找到最大值,将它赋值给a
7、,中值赋给b,最小值赋给c。,第一步 输入3个整数a、b、 c,第二步 将a与b比较,并把小者赋给b,大的赋给 a;,第三步 将a与c比较,并把小者赋给c,大的赋给 a,第四步 将b与c比较,并把小者赋给c,大的赋给 b,第五步 按顺序输出a,b,c,交换两个变量的值,INPUT “a,b,c=”;a,b,c IF b a THENt = aa = bb = t END IF IF c a THENt = aa = cc = t END IF IF c b THENt = bb = cc = t END IF PRINT a,b,c END,相应的QBASIC程序:,开始,t=a,a=b,b=
8、t,t=a,a=c,c=t,t=b,b=c,c=t,输入a,b,c,输入a,b,c,ba?,ca?,cb?,结束,是,是,否,否,是,否,对应的流程图:,(4).读程序,说明程序的运行过程:,INPUT “Please input an integer:” ; x IF 9x AND X100 THENA=x10b=x MOD 10x=10*b+aPRINT x END IF END,本程序的运行过程为:输入整数X,若X是满足9x100的两位整数,则先取x的十位,记作a,再取出x的个位,记作b,把a,b调换位置,分别作两位数的个位数与十位数,然后输出新的两位数,如输入25,则输出52.,整数,小结,1、条件结构的程序表示,2、注意书写的规范性,IF 条件 THEN语句1 ELSE语句2 END IF,IF 条件 THEN语句 END IF,Y,N,作业:1、预习教材p27 例6,理解条件语句的嵌套, 完成p29 练习4;质量检测p108 7,2、完成质量检测p107 14题,