您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 1.2.3循环语句-(PPTminimizer)
1.2.3循环语句1、顺序结构常用的程序语言和格式2、条件结构常用的程序语言和格式输入语句INPUT“提示文字”;变量列表输出语句PRINT“提示文字”;变量列表赋值语句变量=表达式(1)IF条件成立THEN语句1ELSE语句2ENDIF(2)IF条件成立THEN语句ENDIF复习循环结构的定义:在一些算法中,从某处开始,按照一定条件,反复执行某一处理步骤的情况,这就是循环结构.反复执行的处理步骤称为循环体.两种循环结构有什么差别?AP成立不成立While(当型)循环成立AP不成立Until(直到型)循环新课成立AP不成立AP成立不成立While(当型)循环Until(直到型)循环两种循环结构有什么差别?先执行循环体,然后再检查条件是否成立,如果不成立就重复执行循环体,直到条件成立退出循环.先判断指定的条件是否为真,若条件为真,执行循环条件,条件为假时退出循环.先执行后判断先判断后执行循环结构AP成立不成立While(当型)循环算法中的循环结构是由循环语句来实现的.成立AP不成立Until(直到型)循环两种循环语句:WHILE条件循环体WEND(1)WHILE语句的一般格式:当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE与WEND之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止.这时,计算机将不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句.也叫“前测试型”循环循环体满足条件?是否While(当型)循环练习、根据1.1.2例3中的程序框图,编写计算机程序来计算1+2+…+100的值i=100?i=1开始输出sum结束否是sum=0i=i+1sum=sum+ii=1sum=0WHILEi=100sum=sum+ii=i+1WENDPRINTsumEND程序:Until(直到型)循环DO循环体LOOPUNTIL条件(2)UNTIL语句的一般格式:也叫“后测试型”循环循环体满足条件?否是思考1:参照直到型循环结构,说说计算机是按怎样的顺序执行UNTIL语句的?思考2:用UNTIL语句编写计算机程序,来计算1+2+…+100的值.思考2:用UNTIL语句编写计算机程序,来计算1+2+…+100的值.i=1sum=0DOsum=sum+ii=i+1LOOPUNTILi100PRINTsumENDi=1开始结束sum=0输出sumi=i+1sum=sum+ii100?否是程序框图:程序:例1:编写程序,函数f(x)=x2-3x+5,连续输入自变量的11个取值,输出相应的函数值.n=1WHILEn=11INPUTxy=x^2-3*x+5PRINTyn=n+1WENDENDn=1DOINPUTxy=x^2-3*x+5PRINTyn=n+1LOOPUNTILn11END第一步,令f(x)=x2-2,给定精确度d.第二步,确定区间[a,b],满足f(a)·f(b)0.第三步,取区间中点.第四步,若f(a)·f(m)0,则含零点的区间为[a,m];否则,含零点的区间为[m,b].将新得到的含零点的区间仍记为[a,b].第五步,判断[a,b]的长度是否小于d或f(m)是否等于0.若是,则m是方程的近似解;否则,返回第三步.例2:根据你画出的用二分法求方程x2-2=0的近似根的程序框图,写出相应的程序语句.开始结束f(a)f(m)0??a=mb=m是否|a-b|d或f(m)=0?输出m是否f(x)=x2-2输入精确度d和初始值a,b开始结束f(a)f(m)0??a=mb=m是否|a-b|或f(m)=0?输出m是否f(x)=x2-2输入精确度d和初始值a,bINPUTa,b,dDOm=(a+b)/2g=a^2-2f=m^2-2IFg*f0THENb=ma=mELSEENDIFLOOPUNTILABS(a-b)dORf=0PRINTmEND练习1:写出下列程序运算功能的算术表达式(不计算,只写式子)。(1)N=2T=1WHILEN<=5T=N*TN=N+1WENDPRINTTEND上述程序的表达式为;T=1*2*3*4*5(2)i=1S=0WHILEi<10S=S+1/(2*i+1)i=i+1WENDPRINTSEND上述程序的表达式为。1、设计一个算法框图:逐个输出12,22,32,……,n2,并写出相应的QBASIC程序.INPUTni=0WHILEini=i+1t=i^2PRINTtWENDENDINPUTni=0DOi=i+1t=i^2PRINTtLOOPUNTILi=nEND结束i=0开始i=i+1,t=i^2i=n?否是输出t输入n课后练习2、设计一个算法框图:求满足1+2+3+…+n>10000的最小正整数n,并写出相应的QBASIC程序.结束输出ii=0,Sum=1开始i=i+1Sum=Sum+iSum10000?否是i=0sum=0DOi=i+1sum=sum+iLOOPUNTILsum10000PRINTiENDWHILE条件循环体WENDDO循环体LOOPUNTIL条件两种循环语句:循环体满足条件?是否(1)While(当型)循环(2)Until(直到型)循环循环体满足条件?是否小结四、布置作业课本第32页第1、2题P33A组3B组2、4(选做)补充练习:设计一个求20个数的算术平均数的算法,写出其程序。分析:可用一个循环依次输入20个数,并将它们的和存在一个变量S中,最后用S除以20即可得到这20个数的平均数。程序如下:S=0i=1DOINPUTxS=S+xi=i+1LOOPUNTILi20a=S/20PRINTaEND你可以用WHILE语句表示这一程序吗?相传古代印度国王舍罕要褒赏他的聪明能干的宰相达依尔(国际象棋发明者),问他需要什么,达依尔回答说:“国王只要在国际象棋的棋盘第一个格子里放一粒麦子,第二个格子里放二粒,第三个格子里放四粒,以后按比例每一格加一倍,一直放到第64格(国际象棋盘是8×8=64格),我就感恩不尽,其他我什么也不要了。”国王想:“这有多少!还不容易!”让人扛来一袋小麦,但不到一会儿全没了,再来一袋很快又没了,结果全印度的粮食全部用完还不够,国王纳闷,怎样也算不清这笔帐,请你设计一个算法,帮国王计算一个,共需多少粒麦子,写出程序。解:依题意,本题是求1+2+22+23+…+263的值。算法:第一步:令S=0,i=0;第二步:P=2i,S=S+P,i=i+1;第三步:如果i≤63,那么转第二步;第四步:输出S。程序如下:i=0S=0WHILEi<=63P=2^iS=S+Pi=i+1WENDPRINTSEND1.根据你画出的用二分法求方程x2-2=0的近似根的程序框图,写出相应的程序语句.2.编写程序,计算函数f(x)=x2-3x+5当x=1,2,3,…,20时的函数值.3.编写一个程序,输入正整数n,计算它的阶乘n!(n!=n*(n-1)*…*3*2*1)练习3.编写一个程序,输入正整数n,计算它的阶乘n!(n!=n*(n-1)*…*3*2*1)t=1i=1INPUT请输入n的值:;nDOt=t*ii=i+1LOOPUNTILinPRINT这个数的阶乘为:;tEND
本文标题:1.2.3循环语句-(PPTminimizer)
链接地址:https://www.777doc.com/doc-1430938 .html