您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 算法初步课件-1.2.3-基本算法语句--循环语句
学习目标: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?INPUT“n=”;ni=2DOr=nMODii=i+1LOOPUNTILi=nORr=0IFr=0THENPRINT“nisnotaprimenumber.”ELSEPRINT“nisaprimenumber.”ENDIFEND例2:根据P7页图1.1-2,将程序框图转化为程序语句.分析:仔细观察,该程序框图中既有条件结构,又有循环结构。程序习题解答1.设计用二分法求方程x2-2=0的近似解的程序程序框图程序INPUT“a,b,e=”;a,b,eDOm=(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.对于函数y=x2-3x+5,连续求出1-20自变量的相应的函数值,并输出。x=1DOy=x^2-3*x+5LOOPUNTILx20PRINT“x=”;x,“y=”;yENDx=x+1程序2.x=1WHILEx=20y=x^2-3*x+5WENDPRINTx,yENDx=x+1程序3.P33页A组T3.程序INPUT“n=”;ni=1S=0WHILEi=nS=S+(i+1)/ii=i+1WENDPRINT“S=”;SEND4.P33页B组T2.程序n=1p=1000WHILEn=7p=p*(1+0.5)n=n+1WENDPRINTpEND5.编写一个程序计算sn=a+a0+a00+a000+……(例如sn=2+20+200+2000+20000+……)程序INPUT“a=”;aINPUT“n=”;ntn=0sn=0i=1WHILEi=ntn=tn+asn=sn+tna=a*10i=i+1WENDPRINTsnEND小结:①循环语句的两种不同形式:WHILE语句和UNTIL语句,掌握它们的一般格式.②在用WHILE语句和UNTIL语句编写程序解决问题时,一定要注意它们的格式及条件的表述方法.WHILE语句中是当条件满足时执行循环体,而UNTIL语句中是当条件不满足时执行循环体.③循环语句主要用来实现算法中的循环结构,在处理一些需要反复执行的运算任务.如累加求和,累乘求积等问题中常用到.
本文标题:算法初步课件-1.2.3-基本算法语句--循环语句
链接地址:https://www.777doc.com/doc-4016885 .html