1、1.2.2 条件语句条件语句 高中数学必修高中数学必修3第一章第一章算法初步算法初步复习回顾复习回顾条件结构条件结构满足条件?满足条件?步骤步骤A步骤步骤B是是否否满足条件?满足条件?步骤步骤A是是否否形式一形式一形式二形式二新课内容新课内容IF IF 条件条件 THENTHEN 语句体语句体END IFEND IF 下图是算法的条件结构用程序框图表示的一种形下图是算法的条件结构用程序框图表示的一种形式,它对应的条件语句的一般格式设定为:式,它对应的条件语句的一般格式设定为:满足条件?满足条件?步骤步骤A是是否否 当计算机执行上述语句时,首先对当计算机执行上述语句时,首先对IFIF后的条件进后
2、的条件进行判断,如果(行判断,如果(IFIF)条件符合,那么()条件符合,那么(THENTHEN)执行语)执行语句体,否则执行句体,否则执行END IFEND IF之后的语句之后的语句.IF IF 条件条件 THENTHEN 语句体语句体END IFEND IF满足条件?满足条件?步骤步骤A是是否否下图是算法的条件结构用程序框图表示的另一种下图是算法的条件结构用程序框图表示的另一种形式,它对应的条件语句的一般格式设定为:形式,它对应的条件语句的一般格式设定为:满足条件?满足条件?步骤步骤1步骤步骤2是是否否IF IF 条件条件 THENTHEN 语句体语句体1 1ELSEELSE 语句体语句体
3、2 2END IFEND IF满足条件?满足条件?步骤步骤1步骤步骤2是是否否IF IF 条件条件 THENTHEN 语句体语句体1 1ELSEELSE 语句体语句体2 2END IFEND IF当计算机执行上述语句时,首先对当计算机执行上述语句时,首先对IFIF后的条件进行判断,如果(后的条件进行判断,如果(IFIF)条件)条件符合,那么(符合,那么(THENTHEN)执行语句体)执行语句体1 1,否则(否则(ELSEELSE)执行语句体)执行语句体2.2.IF IF 条件条件 THENTHEN 语句体语句体1 1ELSEELSE 语句体语句体2 2END IFEND IFIF IF 条件条
4、件 THENTHEN 语句体语句体END IFEND IF新课内容新课内容条件语句条件语句形式一形式一形式二形式二一个算法:一个算法:第一步,输入一个实数第一步,输入一个实数x.x.第二步,判断第二步,判断x x的符号的符号.若若x x0 0,则输出,则输出x x;否则,输出否则,输出-x.-x.例1编写一个程序,编写一个程序,求实数求实数x的绝对值的绝对值分析:.0,0|)()(xxxxx该算法的程序框图如何表示?该算法的程序框图如何表示?一个算法:一个算法:第一步,输入一个实数第一步,输入一个实数x.x.第二步,判断第二步,判断x x的符号的符号.若若x x0 0,则输出,则输出x x;否
5、则,输出否则,输出-x.-x.x0?开始开始结束结束输入输入x是是输出输出x否否输出输出-x该算法的程序框图:该算法的程序框图:x0?开始开始结束结束输入输入x是是输出输出x否否输出输出-x你能写出这个算法对应的程序吗?你能写出这个算法对应的程序吗?ENDENDINPUTINPUT “x=”“x=”;x xIF IF x x=0=0 THEN THEN PRINT xPRINT xELSEELSEPRINT -xPRINT -xEND IFEND IFx?开始开始结束结束输入输入x是是 x=-x否否输出输出xENDENDINPUTINPUT “x=”“x=”;x xIF IF x x=1=1
6、THEN THEN y=xy=x2+32+3*x xELSEELSE y=x-4 y=x-4 END IF END IF PRINT y PRINT y END END 例2求分段函数求分段函数 的函数值的函数值.14,132)()(xxxxxy例3 阅读下面的程序,你能说明它是一个什么问题的阅读下面的程序,你能说明它是一个什么问题的算法吗?算法吗?INPUT INPUT “a“a,b=”b=”;a a,b bIF IF a ab b THEN THEN x=ax=a a=ba=b b=xb=xEND IF END IF PRINT PRINT a a,b bEND END 对实数对实数a a
7、,b b按从按从小到大排序小到大排序.编写程序,使任意输入的编写程序,使任意输入的3 3个整数按从大到小的个整数按从大到小的顺序输出顺序输出.第四步,将第四步,将b b与与c c比较,并把小者赋给比较,并把小者赋给c c,大者,大者 赋给赋给b.b.第一步,输入第一步,输入3 3个整数个整数a a,b b,c.c.第二步,将第二步,将a a与与b b比较,并把小者赋给比较,并把小者赋给b b,大者,大者 赋给赋给a.a.第三步,将第三步,将a a与与c c比较,并把小者赋给比较,并把小者赋给c c,大者,大者 赋给赋给a.a.第五步,按顺序输出第五步,按顺序输出a a,b b,c.c.算法分析
8、算法分析:例开始开始输入输入a,b,cba?否否是是t=aa=bb=tt=aa=cc=tca?否否是是cb?t=bb=cc=t是是否否输出输出a,b,c结束结束INPUT aINPUT a,b b,c cIF bIF ba THENa THENt=at=aa=ba=bb=tb=tEND IFEND IFIF cIF ca THENa THENt=at=aa=ca=cc=tc=tEND IFEND IFIF cIF cb THENb THENt=bt=bb=cb=cc=tc=tEND IFEND IFPRINT aPRINT a,b b,c cENDEND 将下列解一元将下列解一元二次方程二次方
9、程axax2 2+bx+c=0+bx+c=0的程序框图转化为程的程序框图转化为程序序.例开始开始输入输入a,b,c=b2-4ac0?=0?否否x1=p+q输出输出x1,x2结束结束否否是是x2=p-q输出输出x1=x2=p是是输出输出“方程没有实数方程没有实数根根”abp2aq2ENDENDINPUT “aINPUT “a,b b,c=”c=”;a a,b b,c cd=bd=b2-42-4*a a*c cIF dIF d=0 THEN=0 THENp=-b/(2p=-b/(2*a)a)q=SQR(d)/(2q=SQR(d)/(2*a)a)IF d=0 THENIF d=0 THENPRINT
10、 “xPRINT “x1 1=x=x2 2=”=”;p pELSEELSEPRINT “x1PRINT “x1,x2=”x2=”;p+qp+q,p-qp-qEND IFEND IFELSEELSEPRINT“No real root.”PRINT“No real root.”END IFEND IF小结作业小结作业2.2.编写含有多个条件结构的程序时,每个条件语句执编写含有多个条件结构的程序时,每个条件语句执行结束时都以行结束时都以END IFEND IF表示表示.1.1.条件语句有两种形式,应用时要根据实际问题适当条件语句有两种形式,应用时要根据实际问题适当选取选取.作业:作业:P29P29练习:练习:1 1,2 2,3 3,4.4.