1、1.2 1.2 基本算法语句基本算法语句 1.2.2 1.2.2 条件语句条件语句问题提出问题提出 1.1.输入语句、输出语句和赋值语句输入语句、输出语句和赋值语句的一般格式分别是什么?的一般格式分别是什么?输入语句:输入语句:INPUT INPUT “提示内容提示内容”;变量;变量 输出语句:输出语句:PRINT PRINT “提示内容提示内容”;表达式;表达式 赋值语句:赋值语句:变量变量=表达式表达式 2.2.对于顺序结构的算法或程序框图,对于顺序结构的算法或程序框图,我们可以利用输入语句、输出语句和赋我们可以利用输入语句、输出语句和赋值语句写出其计算机程序值语句写出其计算机程序.对于条
2、件结构对于条件结构的算法或程序框图,要转化为计算机能的算法或程序框图,要转化为计算机能够理解的算法语言,我们必须进一步学够理解的算法语言,我们必须进一步学习条件语句习条件语句.知识探究(一)知识探究(一):条件语句条件语句(1 1)IF IF 条件条件 THENTHEN 语句体语句体END IFEND IF思考思考1:1:下图是算法的条件结构用程序框下图是算法的条件结构用程序框图表示的一种形式,它对应的条件语句图表示的一种形式,它对应的条件语句的一般格式设定为:的一般格式设定为:满足条件?满足条件?步骤步骤A是是否否你能理解这个算法你能理解这个算法语句的含义吗?语句的含义吗?IF IF 条件条
3、件 THENTHEN 语句体语句体END IFEND IF满足条件?满足条件?步骤步骤A是是否否 当计算机执行上述语句时,首先对当计算机执行上述语句时,首先对IFIF后的条件进行判断,如果(后的条件进行判断,如果(IFIF)条件)条件符合,那么(符合,那么(THENTHEN)执行语句体,否则)执行语句体,否则执行执行END IFEND IF之后的语句之后的语句.思考思考2:2:求实数求实数x x的绝对值有如下一个算法的绝对值有如下一个算法:第一步,输入一个实数第一步,输入一个实数x.x.第二步,判断第二步,判断x x的符号的符号.若若x0 x0,则,则x=-xx=-x;否则,否则,x=x.x=
4、x.第三步,输出第三步,输出x.x.该算法的程序框图如何表示?该算法的程序框图如何表示?x0?开始开始结束结束输入输入x是是x=-=-x输出输出x否否思考思考3:3:这个算法含有顺序结构和条件结这个算法含有顺序结构和条件结构,你能写出这个算法对应的程序吗?构,你能写出这个算法对应的程序吗?x0?开始开始结束结束输入输入x是是x=-=-x输出输出x否否ENDENDINPUT INPUT x xIF IF x xb b THEN THEN x=ax=a a=ba=b b=xb=xEND IF END IF PRINT PRINT a a,b bEND END 对实数对实数a a,b b按从小到大按
5、从小到大排序排序.知识探究(二)知识探究(二):条件语句条件语句(2 2)思考思考1:1:下图是算法的条件结构用程序框下图是算法的条件结构用程序框图表示的另一种形式,它对应的条件语图表示的另一种形式,它对应的条件语句的一般格式设定为:句的一般格式设定为:满足条件?满足条件?步骤步骤1步骤步骤2是是否否IF IF 条件条件 THENTHEN 语句体语句体1 1ELSEELSE 语句体语句体2 2END IFEND IF你能理解这个算法语句的含义吗?你能理解这个算法语句的含义吗?满足条件?满足条件?步骤步骤1步骤步骤2是是否否IF IF 条件条件 THENTHEN 语句体语句体1 1ELSEELS
6、E 语句体语句体2 2END IFEND IF当计算机执行上述语句时,首先对当计算机执行上述语句时,首先对IFIF后的条件进行判断,如果(后的条件进行判断,如果(IFIF)条件)条件符合,那么(符合,那么(THENTHEN)执行语句体)执行语句体1 1,否则(否则(ELSEELSE)执行语句体)执行语句体2.2.思考思考2:2:求实数求实数x x的绝对值又有如下一个算的绝对值又有如下一个算法:法:第一步,输入一个实数第一步,输入一个实数x.x.第二步,判断第二步,判断x x的符号的符号.若若x x0 0,则输出,则输出 x x;否则,输出;否则,输出-x.-x.该算法的程序框图如何表示?该算法
7、的程序框图如何表示?x0?开始开始结束结束输入输入x是是输出输出x否否输出输出-x思考思考3:3:你能写出这个算法对应的程序你能写出这个算法对应的程序吗?吗?x0?开始开始结束结束输入输入x是是输出输出x否否输出输出-xENDENDINPUTINPUT “x=x=”;x xIF IF x x=0=0 THEN THEN PRINT xPRINT xELSEELSEPRINT -xPRINT -xEND IFEND IF思考思考4:4:阅读下面的程序,你能说明它是阅读下面的程序,你能说明它是一个什么问题的算法吗?一个什么问题的算法吗?INPUT INPUT “x=x=”;x xIF IF x x
8、=1=1 THEN THEN y=xy=x2+3*x2+3*xELSEELSE y=x-4 y=x-4 END IF END IF PRINT y PRINT y END END 求分段函数求分段函数 的函数值的函数值.理论迁移理论迁移 例例1 1 将下列将下列解一元二次方解一元二次方程程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是是输出输出“方程没有方程没有实数根实数根”ENDENDINPUT INPUT “a a,b
9、 b,c=c=”;a a,b b,c cd=bd=b2-4*a*c2-4*a*cIF dIF d=0 THEN=0 THENp=-b/(2*a)p=-b/(2*a)q=SQR(d)/(2*a)q=SQR(d)/(2*a)IF d=0 THENIF d=0 THENPRINT PRINT “x x1 1=x=x2 2=”;p pELSEELSEPRINT PRINT “x1x1,x2=x2=”;p+qp+q,p-qp-qEND IFEND IFELSEELSEPRINT PRINT“No real root.No real root.”END IFEND IF 例例2 2 编写程序,使任意输入的
10、编写程序,使任意输入的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.算法分析算法分析:开始开始输入输入a,b,cba?t=aa=bb=t
11、t=aa=cc=tt=bb=cc=t是是是是是是输出输出a,b,c否否cb?否否ca?否否结束结束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小结作业小结作业2.2.编写含有多个条件结构的程序时,每编写含有多个条件结构的程序时,每个条件语句执行结束时都以个条件语句执行结束时都以END IFEND IF表示表示.1.1.条件语句有两种形式,应用时要根据条件语句有两种形式,应用时要根据实际问题适当选取实际问题适当选取.作业:作业:P29P29练习:练习:1 1,2 2,3 3,4.4.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1