江西省吉安市第一中学刘冬发3
2循环语句循环结构是算法中的基本结构,For语句是表达循环结构最常见的语句之一,它适用于预先知道循环次数的循环结构
For语句的一般形式是:For循环变量=初始值To终值循环体Nextf1=0f2=1输出“菲波那契数列为”,f1,f2Fori=3To50f3=f1+f2输出f3f1=f2f2=f3Next例3设计算法,输出菲波那契数列的前50项,使用For语句描述该算法
开始结束f1=0f2=1输出f1,f2i=3f3=f1+f2输出f3i=i+1i>50否是f1=f2f2=f3例4请阅读下列用For语句写出的算法,说明该算法的处理功能
S=0T=1Fori=1To20S=S+iT=T*iNext输出S输出T由For语句的形式,我们知道i是循环变量,初始值为1,终止值为20,循环体为:S=S+i;T=T*i;解:这个算法实际上处理的是求和S=1+2+3+…+20及求积T=1×2×3×…×20这两件事情
开始结束S=0T=1i=1S=S+iT=T*ii=i+1i>20是否输出S,T算法框图如图:在一些循环结构中,预先不知道循环的次数,比如使用二分法求方程的近似解,要根据其它形式的终止条件停止循环,在这种情况下,一般用DoLoop语句来描述DoLoop语句的一般形式为:Do循环体LoopWhile条件为真例5§2中例11——二分法算法求方程近似解,框图如下图所示
用DoLoop语句描述这个算法
开始结束a=0b=1f()=0a+b2否f(a)f()<0a+b2是b=a+b2否a=a+b2b-a<ε否是a+b2输出是解用语句描述为:输入ε;a=0;b=1;Doa+b2Iff()=0Then跳出循环ElseElseEndifEndifLoopWhileb-a≥εa=a+b2Iff(a)*f()