您好,欢迎访问三七文档
1.2.2基本算法语句条件语句一、学习目标1.理解条件语句,及其与条件结构的关系;2.初步体验如何由程序框图转化程序语句;3.通过条件语句的学习,进一步体会算法的基本思想。二、重点与难点重点:条件语句的步骤、结构及功能。难点:会编写程序中的条件语句。复习巩固1、输入语句、输出语句和赋值语句对应于算法中的哪种结构?这三种语句的一般格式是什么?顺序结构:输入语句输出语句赋值语句input“提示内容”;变量print“提示内容”;表达式变量=表达式算法中的条件结构是由条件语句来表达的条件语句的一般格式满足条件?语句是否1、只含一个“分支”的条件结构写成条件语句为IF条件THEN语句体ENDIF注意:当计算机执行这种形式的条件语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句体,否则执行ENDIF之后的语句.满足条件?语句1语句2是否2、含两个“分支”的条件结构写成条件语句为IF条件THEN语句体1ELSE语句体2ENDIF注意:当计算机执行上述语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句体1,否则执行ELSE后的语句体2.条件语句的作用在程序执行过程中,根据判断是否满足约定的条件而决定是否需要转换到何处去。需要计算机按条件进行分析、比较、判断,并按判断后的不同情况进行不同的处理。例1:你能写出这个算法对应的程序吗?x≥0?开始结束输入x是输出x否输出-xENDINPUT“x=”;xIFx=0THENPRINTxELSEPRINT-xENDIF【例题解析】〖例6〗:编写程序,输入一元二次方程ax2+bx+c=0的系数,输出它的实数根。算法分析:一元二次方程的根有三种不同情况:设判别式△=b2-4ac(1)当△0时,一元二次方程有两个不等的实数根.(2)当△=0时,一元二次方程有两个相等的实数根.122bxxa(3)当△0时,一元二次方程没有实数根.1,2bxa22bxa1,22bxaa222bxaa2bpa2qa是【程序框图】开始输入a,b,c△=b2-4ac△≥0?2bpa2qa原方程无实根22结束否11△=0?输出p是否x1=p+qx2=p-q输出x1,x2【程序】INPUT“a,b,c=”;a,b,cd=b*b-4*a*cIFd=0THENp=-b/(2*a)q=SQR(d)/(2*a)IFd=0THENPRINT“Onerealroot:”;pELSEx1=p+qx2=p-qPRINT“Tworealroots:“;x1,x2ENDIFELSEPRINT“Norealroot!”ENDIFEND条件结构的嵌套结构〖例7〗:编写程序,使得任意输入的3个整数按从大到小的顺序输出。算法分析:第一步输入3个整数a、b、c第二步将a与b比较,并把小者赋给b,大的赋给a;第三步将a与c比较,并把小者赋给c,大的赋给a第四步将b与c比较,并把小者赋给c,大的赋给b第五步按顺序输出a,b,cc=bb=tb=tc=ta=c【程序框图】开始输入a,b,cba?是t=aa=b否ca?是t=a否cb?t=c是否输出a,b,c交换a,b的值结束【程序】INPUT“a,b,c=”;a,b,cIFbaTHENt=aa=bb=tENDIFIFcaTHENt=aa=cc=tENDIFIFcbTHENt=bb=cc=tENDIFPRINTa,b,cEND条件结构的叠加结构1.课本P29页T1.INPUT“a,b,c=”;a,b,cIFa+bcANDa+cbANDb+caTHENPRINT“Yes.”ELSEPRINT“No.”ENDIFEND参考答案:【课堂练习】高等数学中经常用到符号函数,符号函数的定义为y=1,x0,0,x=0,-1,x0.画出程序框图,并编写程序,要求输入x的值,输出y的值.【思路点拨】本题是分段函数,条件较多,1、可利用在前一个条件下继续对第二个条件判断,即嵌套形式;2、也可以对每一个条件逐一判断逐一得出结论,即叠加.练习:【解】法一:(嵌套结构)程序框图如图所示:程序如下:INPUTxIFx0THENy=1ELSEIFx=0THENy=0ELSEy=-1ENDIFENDIFPRINTyEND法二:(叠加结构)程序框图如图所示:程序如下:INPUTxIFx0THENy=1ENDIFIFx=0THENy=0ENDIFIFx0THENy=-1ENDIFPRINTyEND方法感悟方法技巧1.条件语句使程序框图中的条件结构能让计算机执行其中IF后的“条件”表示判断的条件,放在判断框中,语句体1表示满足条件时执行的操作内容,放在判断框中“是”后的执行框中,语句体2表示不满足条件时执行的操作内容,放在判断框中“否”后的执行框中.2.若程序只对条件满足时作处理,不用处理条件不满足时的情况,则可以省略ELSE分支.3.当判断条件多于一个时,若重复应用条件语句,书写程序繁琐,可利用条件语句的嵌套或叠加写.2.课本P29页T2.读程序,说明程序的运行过程.INPUT“x=:”;xIF9xANDx100THENa=x\10b=xMOD10x=10*b+aPRINTxENDIFEND如果有两个或是两个以上的并列条件时,用“AND”把它们连接起来。“\”用来取商.此处表示x除以10的商.“MOD”用来取余数.此处表示x除以10所得余数为b.[问题]如输入的数x=86,则输出的结果是什么?68此程序用于交换一个两位数的个位和十位数字.3.课本P29页T3.编写求一个数是偶数还是奇数的程序,从键盘输入一个整数,输出该数的奇偶性.INPUT“a=”;aIFaMOD2=0THENPRINT“Even.”ELSEPRINT“Odd.”ENDIFEND参考答案:4.课本P29页T4.闰年指年份能被4整除但不能被100整除,或者能被400整除的年份.编写一个程序,判断输入的年份是否为闰年.INPUT“Pleaseinputayear:”;yb=yMOD4c=yMOD100d=yMOD400IFb=0ANDc0THENPRINT“Leapyear.”ELSEIFd=0THENPRINT“Leapyear.”ELSEPRINT“Notleapyear.”ENDIFENDIFEND参考答案:表示c≠0【课堂小结】本节课主要学习了条件语句的结构、特点、作用以及用法,并懂得利用它解决一些简单问题。条件语句使程序执行产生的分支,根据不同的条件执行不同的路线,使复杂问题简单化。条件语句一般用在需要对条件进行判断的算法设计中,如判断一个数的正负,确定两个数的大小等问题,还有求分段函数的函数值等,往往要用条件语句,有时甚至要用到条件语句的嵌套。5.编写一个程序,输入两个整数a,b,判断a是否能被b整除.INPUT“a,b=”;a,bIFaMODb=0THENPRINT“bdividesa.”ELSEPRINT“bdoesnotdividea.”ENDIFEND参考答案:6.(P33页B组T3)INPUT“x=”;xIFx1THENy=xELSEIFx=1ANDx10THENy=2*x-1ELSEy=3*x-11ENDIFENDIFPRINT“y=”;yEND参考答案:
本文标题:条件语句修改 修改
链接地址:https://www.777doc.com/doc-3460789 .html