您好,欢迎访问三七文档
学习目标:1、知识与技能(1)正确理解条件语句的概念;(2)会应用条件语句编写程序。2、过程与方法经历对现实生活情境的探究,认识到应用计算机解决数学问题方便简捷,促进发展学生逻辑思维能力1.2.2基本算法语句——条件语句3、情感态度与价值观了解条件语句在程序中起判断转折作用,在解决实际问题中起决定作用。通过本小节内容的学习,有益于我们养成严谨的数学思维以及正确处理问题的能力。重点与难点:重点:条件语句的步骤、结构及功能.难点:会编写程序中的条件语句.算法中的条件结构是由条件语句来表达的,条件语句是处理条件分支逻辑结构的算法语句.条件语句的一般格式满足条件?语句是否只含一个“分支”的条件结构写成条件语句为IF条件THEN语句体ENDIF当计算机执行这种形式的条件语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句体,否则执行ENDIF之后的语句.满足条件?语句1语句2是否含两个“分支”的条件结构写成条件语句为IF条件THEN语句体1ELSE语句体2ENDIF当计算机执行上述语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句体1,否则执行ELSE后的语句体2.条件语句的作用在程序执行过程中,根据判断是否满足约定的条件而决定是否需要转换到何处去。需要计算机按条件进行分析、比较、判断,并按判断后的不同情况进行不同的处理。【例题解析】〖例1〗:编写程序,输入一元二次方程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〖例2〗:编写程序,使得任意输入的3个整数按从大到小的顺序输出。算法分析:用a,b,c表示输入的3个整数;为了节约变量,把它们重新排列后,仍用a,b,c表示,并使a≥b≥c.具体操作步骤如下。第一步:输入3个整数a,b,c.第二步:将a与b比较,并把小者赋给b,大者赋给a.第三步:将a与c比较.并把小者赋给c,大者赋给a,此时a已是三者中最大的。第四步:将b与c比较,并把小者赋给c,大者赋给b,此时a,b,c已按从大到小的顺序排列好。第五步:按顺序输出a,b,c.c=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.课本P22页T2.读程序,说明程序的运行过程.INPUT“x=:”;xIF9xANDx100THENa=x\10b=xMOD10x=10*b+aPRINTxENDIFEND如果有两个或是两个以上的并列条件时,用“AND”把它们连接起来。“\”用来取商.此处表示x除以10的商.“MOD”用来取余数.此处表示x除以10所得余数为b.[问题]如输入的数x=86,则输出的结果是什么?68此程序用于交换一个两位数的个位和十位数字.2.课本P22页T1.INPUT“a,b,c=”;a,b,cIFa+bcANDa+cbANDb+caTHENPRINT“Yes.”ELSEPRINT“No.”ENDIFEND参考答案:3.课本P22页T3.编写求一个数是偶数还是奇数的程序,从键盘输入一个整数,输出该数的奇偶性.INPUT“a=”;aIFaMOD2=0THENPRINT“Even.”ELSEPRINT“Odd.”ENDIFEND参考答案:4.课本P22页T1.闰年指年份能被4整除但不能被100整除,或者能被400整除的年份.编写一个程序,判断输入的年份是否为闰年.INPUT“Pleaseinputayear:”;yb=yMOD4c=yMOD100d=yMOD400IFb=0ANDc0THENPRINT“Leapyear.”ELSEIFd=0THENPRINT“Leapyear.”ELSEPRINT“Notleapyear.”ENDIFENDIFEND参考答案:表示c≠05.(P25页A组T3)编写一个程序,输入两个整数a,b,判断a是否能被b整除.INPUT“a,b=”;a,bIFaMODb=0THENPRINT“bdividesa.”ELSEPRINT“bdoesnotdividea.”ENDIFEND参考答案:6.(P25页B组T2)INPUT“x=”;xIFx1THENy=xELSEIFx=1ANDx10THENy=2*x-1ELSEy=3*x-11ENDIFENDIFPRINT“y=”;yEND参考答案:学习目标:1、知识与技能(1)正确理解循环语句的概念;(2)会应用循环语句编写程序。2、过程与方法经历对现实生活情境的探究,认识到应用计算机解决数学问题方便简捷,促进发展学生逻辑思维能力1.2.3基本算法语句——循环语句3、情感态度与价值观了解循环语句在程序中起判断转折作用,在解决实际问题中起决定作用。通过本小节内容的学习,有益于我们养成严谨的数学思维以及正确处理问题的能力。重点与难点:重点:循环语句的步骤、结构及功能.难点:会编写程序中的循环语句.算法中的循环结构是由循环语句来实现的.循环结构有两种-----当型与直到型.满足条件?循环体是否当型循环结构(当条件满足时反复执行循环体)直到型循环结构(反复执行循环体直到条件满足)循环体是否满足条件?对应于程序框图中的两种循环结构,一般程序设计语言中也有当型(WHILE型)和直到型(UNTIL型)两种语句结构。即WHILE语句和UNTIL语句。(1)WHILE语句的一般格式是:WHILE条件循环体WEND其中循环体是由计算机反复执行的一组语句构成的。WHLIE后面的“条件”是用于控制计算机执行循环体或跳出循环体的。WHILE——当……时候WEND——朝……方向行走(1)WHILE语句的一般格式是WHILE条件循环体WEND当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE与WEND之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止.这时,计算机将不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句.满足条件?循环体是否当型循环结构(2)UNTIL语句的一般格式是:DO循环体LOOPUNTIL条件循环体是否满足条件?直到型循环结构DO——做什么LOOPUNTIL——绕环回线走,直到达到某种条件为止思考:参照其直到型循环结构对应的程序框图,说说计算机是按怎样的顺序执行UNTIL语句的?(2)UNTIL语句的一般格式是:DO循环体LOOPUNTIL条件循环体是否满足条件?直到型循环结构从UNTIL型循环结构分析,计算机执行该语句时,先执行一次循环体,然后进行条件的判断,如果条件不满足,继续返回执行循环体,然后再进行条件的判断,这个过程反复进行,直到某一次条件满足时,不再执行循环体,跳到LOOPUNTIL语句后执行其他语句,是先执行循环体后进行条件判断的循环语句.提问:通过对照,大家觉得WHILE型语句与UNTIL型语句之间有什么区别呢?区别:在WHILE语句中,是当条件满足时执行循环体,而在UNTIL语句中,是当条件不满足时执行循环体。WHILE语句的一般格式WHILE条件循环体WENDUNTIL语句的一般格式DO循环体LOOPUNTIL条件例1.编写程序,计算自然数1+2+3+…+99+100的和.分析:这是一个累加问题.我们可以用WHILE型语句,也可以用UNTIL型语句。WHILE语句开始结束i=1S=0i=i+1S=S+i输出Si≤100?是否当型循环结构i=1S=0WHLIEi=100S=S+ii=i+1WENDPRINTSENDUNTIL语句开始结束i=1S=0i=i+1S=S+i输出Si100?否是直到型i=1S=0DOS=S+ii=i+1LOOPUNTILi100PRINTSEND开始i=1S=0i≤100?是S=S+ii=i+1否输出S结束当型循环结构变式训练(1):编写程序求:n!=1×2×3×4×5×……×n的值.如何修改?输入nWHILE语句i=1S=0WHLIEi=100S=S+ii=i+1WENDPRINTSENDINPUT“n=”;nS=1S=S*ii≤n?S=1nS=S*i变式训练(2):编写程序求:1×3×5×7×……×101的值.如何修改?UNITL语句i=1S=0DOS=S+ii=i+1LOOPUNTILi100PRINTSENDS=1101S=S*ii=i+2是开始结束i=1S=0i=i+1S=S+i输出Si100?否直到型S=1S=S*ii=i+2i101?例2:根据P5页图1.1-2,将程序框图转化为程序语句.分析:仔细观察,该程序框图中既有条件结构,又有循环结构。INPUT“n=”;ni=2DOr=nMODii=i+1LOOPUNTILi=nORr=0IFr=0THENPRINT“nisnotaprimenumber.”ELSEPRINT“nisaprimenumber.”ENDIFEND程序习题解答1.P24页练习T1.程序框图程序a=1b=2e=0.005DOm=(a+b)/2f=m^2-2g=a^2-2IFg*f0THENa=mELSEb=mENDIFLOOPUNTILABS(a-b)eORf=0PRINTmEND继续是是否f(a)f(m)0?程序框图开始f(x)=x2-2输入误差ε和初值a,b2abma=m否b=m|a-b|ε或f(m)=0?输出m结束返回2.P24页练习T2.x=1DOy=x^2-3*x+5LOOPUNTILx20PRINT“x=”;x,“y=”;yENDx=x+1程序2.P24页练习T2.x=1WHILEx=20y=x^2-3*x+5WENDPRINTx,yENDx=x+1程序3.P25页A组T4.程序INPUT“n=”;ni=1S=0WHILEi=nS=S+(i+1)/ii=i+1WENDPRINT“S=”;SEND4.P25页B组T1.程序n=1p=1000WHILEn=7p=p*(1+0.5)n=n+1WENDPRINTpEND5.P40页A组T4.程序INPUT“n=”;ni=1S=0WHILEi=nS=S+1/ii=i+1WENDPRINT“S=”;SEND6.P40页A组T2.程序框图程序INPUTa1,b1,c1,a2,b2,c2IFa10THENu=-a2/a1b=b2+b1*uc=c2+c1*uy=c/bx=
本文标题:条件语句、循环语句
链接地址:https://www.777doc.com/doc-4842408 .html