1、复习回顾复习回顾条件语句条件语句 1.1.简单简单条件语句条件语句:2.2.复合复合条件语句条件语句:If Then Else End IfIf If 1 Then E Elselse I If f Then E Elselse 3End IfEnd IfEnd IfEnd If 1 请试着用请试着用复合复合if语句语句表示闰年问题的算法表示闰年问题的算法.开开 始始输入输入y4整除整除y是是否否100整除整除y是是输出输出“y不是闰年不是闰年”结结 束束400整除整除y否否输出输出“y是闰年是闰年”否否是是复习回顾复习回顾使用使用复合条件语句复合条件语句时应特别时应特别注意注意的问题:的问题
2、:开开 始始输入输入y4整除整除y是是否否100整除整除y是是输出输出“y不是闰年不是闰年”结结 束束400整除整除y否否输出输出“y是闰年是闰年”否否是是输入输入y;If4不能整除不能整除yThen输出输出y不是闰年不是闰年ElseIf 100不能整除不能整除y Then输出输出y是闰年是闰年ElseIf 400能整除能整除y Then输出输出y是闰年是闰年Else输出输出y不是闰年不是闰年End IfEnd IfEnd If开开 始始输入输入y4不不整除整除y否否是是100不不整除整除y否否输出输出“y不是闰年不是闰年”结结 束束400整除整除y是是输出输出“y是闰年是闰年”否否是是更改条
3、件!更改条件!开开 始始输入输入y4整除整除y是是否否100整除整除y是是输出输出“y不是闰年不是闰年”结结 束束400整除整除y否否输出输出“y是闰年是闰年”否否是是开开 始始输入输入y4不不整除整除y否否是是100不不整除整除y否否输出输出“y不是闰年不是闰年”结结 束束400整除整除y是是输出输出“y是闰年是闰年”否否是是重要结论重要结论 当使用当使用条件条件1时,时,选择选择“是是”后,仍然需要后,仍然需要利用利用条件条件2进行选择时,进行选择时,可以考虑可以考虑“更改条件更改条件”!(二)(二)循环语句循环语句循环语句基本类型(一)循环语句基本类型(一)For语句语句一般形式:一般形
4、式:For =To Next适用于已知循环次数的循环结构适用于已知循环次数的循环结构.For语句语句所对应的基所对应的基本流程图如图所示:本流程图如图所示:满足条件满足条件循环体循环体是是否否例例1:输出:输出菲波菲波那那契数列契数列的前的前50项,用项,用for语句描述该算法。语句描述该算法。f3f3f1f1+f f2 2f f1 1=0=0f f2 2=1=1输出输出“菲波菲波那那契数列契数列为为”,f f1 1,f,f2 2输出输出f3f3解解:For i=3 To 50Next是是i50i50开始开始f f1 1=0=0f f2 2=1=1f f3 3=f=f1 1+f+f2 2输出输
5、出f f3 3i=i+1i=i+1结束结束否否f f1 1=f=f2 2f f2 2=f=f3 3i=3i=3输出输出f f1,1,f f2 2f f1 1=f2f2f f2 2=f3f3例例2:阅读下列:阅读下列for语句语句写的算法,说明此算法写的算法,说明此算法的处理功能的处理功能.S=0 T=1 For i=1 To 20 S=S+i T=T*i Next 输出输出 S 输出输出 Ti是循环变量,是循环变量,初始值为初始值为1,终止值为终止值为20,循环体为循环体为:S=S+i T=T*i 开始开始结束结束输出输出S,TS,Ti20i20i=i+1i=i+1i=1i=1S=0S=0T=
6、1T=1S=S+iS=S+iT=T*iT=T*i否否是是这个算法实际上这个算法实际上处理的是处理的是求和求和:S=1+2+3+20求积求积:T=1*2*3*20分析:分析:练习练习1:用:用for语句设计算法,输出语句设计算法,输出1000以内能以内能 被被3和和5整除的所有正整数整除的所有正整数.For n=1 to 66 a=15*n 输出输出aNext 解解:开始开始结束结束n=1n=1a=15na=15n输出输出a an=n+1n=n+1n66n66否否是是n是循环变量,是循环变量,初始值为初始值为1,终止值为终止值为66,循环体循环体:a=15*n 分析:分析:循环语句基本类型(二)
7、循环语句基本类型(二)Do Loop语句语句的一般形式:的一般形式:Do Loop While 适用预先不知道循环次数的循环结构适用预先不知道循环次数的循环结构Do Loop语句语句所对应的所对应的基本流程图如图所示:基本流程图如图所示:满足条件满足条件循环体循环体否否是是练习练习1:用:用for语句设计算法,输出语句设计算法,输出1000以内以内能能 被被3和和5整除的所有正整数整除的所有正整数.n=1 Do a=15*n 输出输出a n=n+1 解解法二法二:开始开始结束结束n=1n=1a=15na=15n输出输出a an=n+1n=n+1n=66n=66是是否否n是循环变量,是循环变量,
8、初始值为初始值为1,终止值为终止值为66,循环体循环体:a=15*n 分析:分析:Loop While n n=66=66 1.下列程序执行后输出的结果是下列程序执行后输出的结果是S=1For i=9 To 11S=S*iNext输出S(1)A=1DoA=A+1Loop While A 100输出A(2)练习练习2990101用基本语句写一个算法,计算用基本语句写一个算法,计算 1357 99并输出结果。并输出结果。提示:提示:算法如下:算法如下:1.s=1 2.i=3 3.s=si 4.i=i+2 5.如果如果i 99,那么转到第那么转到第3步步 6.输出输出s练习练习3解法一:解法一:用语句描述为用语句描述为 S=1 For i=3 To 99 S=S*i i=i+1 Next 输出输出S用基本语句写一个算法,计算用基本语句写一个算法,计算 1357 99并输出结果。并输出结果。解法二:解法二:用语句描述为:用语句描述为:S=1 i=3 Do S=S*i i=i+2 Loop While i=85m=m+1IfIfS=60Thenn=n+1ElseElsei=i+1End IfNext输出输出m,n,iP112练习练习2答案答案