1、1.2 基本算法语句1.2.2 条件语句问题提出 1.输入语句、输出语句和赋值语句的一般格式分别是什么?输入语句:INPUT “提示内容”;变量输出语句:PRINT “提示内容”;表达式赋值语句:变量=表达式 2.对于顺序结构的算法或程序框图,我们可以利用输入语句、输出语句和赋值语句写出其计算机程序.对于条件结构的算法或程序框图,要转化为计算机能够理解的算法语言,我们必须进一步学习条件语句.知识探究(一):条件语句(1)IF 条件THEN语句体END IF思考1:下图是算法的条件结构用程序框图表示的一种形式,它对应的条件语句的一般格式设定为:满足条件?步骤A是否你能理解这个算法语句的含义吗?I
2、F 条件THEN语句体END IF满足条件?步骤A是否当计算机执行上述语句时,首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体,否则执行END IF之后的语句.思考2:求实数x的绝对值有如下一个算法:第一步,输入一个实数x.第二步,判断x的符号.若x0,则x=-x;否则,x=x.第三步,输出x.该算法的程序框图如何表示?x0?开始结束输入x是x=-x输出x否思考3:这个算法含有顺序结构和条件结构,你能写出这个算法对应的程序吗?x0?开始结束输入x是x=-x输出x否ENDINPUT xIF xb THENx=aa=bb=xEND IF PRINT a,bEND 对实数
3、a,b按从小到大排序.知识探究(二):条件语句(2)思考1:下图是算法的条件结构用程序框图表示的另一种形式,它对应的条件语句的一般格式设定为:满足条件?步骤1步骤2是否IF 条件THEN语句体1ELSE语句体2END IF你能理解这个算法语句的含义吗?满足条件?步骤1步骤2是否IF 条件THEN语句体1ELSE语句体2END IF当计算机执行上述语句时,首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体1,否则(ELSE)执行语句体2.思考2:求实数x的绝对值又有如下一个算法:第一步,输入一个实数x.第二步,判断x的符号.若x0,则输出x;否则,输出-x.该算法的程序
4、框图如何表示?x0?开始结束输入x是输出x否输出-x思考3:你能写出这个算法对应的程序吗?x0?开始结束输入x是输出x否输出-xENDINPUT“x=”;xIF x=0 THENPRINT xELSEPRINT -xEND IF思考4:阅读下面的程序,你能说明它是一个什么问题的算法吗?INPUT“x=”;xIF x=1 THENy=x2+3*xELSEy=x-4 END IF PRINT y END 求分段函数的函数值.理论迁移 例1 将下列解一元二次方程ax2+bx+c=0的程序框图转化为程序.开始输入a,b,c=b2-4ac0?=0?否x1=p+q输出x1,x2结束否是x2=p-q输出x1
5、=x2=p是输出“方程没有实数根”ENDINPUT “a,b,c=”;a,b,cd=b2-4*a*cIF d=0 THENp=-b/(2*a)q=SQR(d)/(2*a)IF d=0 THENPRINT “x1=x2=”;pELSEPRINT “x1,x2=”;p+q,p-qEND IFELSEPRINT“No real root.”END IF 例2 编写程序,使任意输入的3个整数按从大到小的顺序输出.第四步,将b与c比较,并把小者赋给c,大者赋给b.第一步,输入3个整数a,b,c.第二步,将a与b比较,并把小者赋给b,大者赋给a.第三步,将a与c比较,并把小者赋给c,大者赋给a.第五步,按顺序输出a,b,c.算法分析:开始输入a,b,cba?t=aa=bb=tt=aa=cc=tt=bb=cc=t是是是输出a,b,c否cb?否ca?否结束INPUT a,b,cIF ba THENt=aa=bb=tEND IFIF ca THENt=aa=cc=tEND IFIF cb THENt=bb=cc=tEND IFPRINT a,b,cEND