算法基本语句第2节_精品文档.ppt
《算法基本语句第2节_精品文档.ppt》由会员分享,可在线阅读,更多相关《算法基本语句第2节_精品文档.ppt(21页珍藏版)》请在冰豆网上搜索。
复习回顾复习回顾条件语句条件语句1.1.简单简单条件语句条件语句:
2.2.复合复合条件语句条件语句:
IfThenElseEndIfIfIf1ThenEElselseIIffThenEElselse3EndIfEndIfEndIfEndIf1请请试着用试着用复合复合if语句语句表示闰表示闰年问题的算法年问题的算法.开开始始输入输入y4整除整除y是是否否100整除整除y是是输出输出“y不是闰年不是闰年”结结束束400整除整除y否否输出输出“y是闰年是闰年”否否是是复习回顾复习回顾使用使用复合条件语句复合条件语句时应特别时应特别注意注意的问题:
的问题:
开开始始输入输入y4整除整除y是是否否100整除整除y是是输出输出“y不是闰年不是闰年”结结束束400整除整除y否否输出输出“y是闰年是闰年”否否是是输入输入y;If4不能整不能整除除yThen输出输出y不是不是闰年闰年ElseIf100不能整不能整除除yThen输出输出y是是闰年闰年ElseIf400能整能整除除yThen输出输出y是是闰年闰年Else输出输出y不是不是闰年闰年EndIfEndIfEndIf开开始始输入输入y4不不整除整除y否否是是100不不整除整除y否否输出输出“y不是闰年不是闰年”结结束束400整除整除y是是输出输出“y是闰年是闰年”否否是是更改条件!
更改条件!
开开始始输入输入y4整除整除y是是否否100整除整除y是是输出输出“y不是闰年不是闰年”结结束束400整除整除y否否输出输出“y是闰年是闰年”否否是是开开始始输入输入y4不不整除整除y否否是是100不不整除整除y否否输出输出“y不是闰年不是闰年”结结束束400整除整除y是是输出输出“y是闰年是闰年”否否是是重要结论重要结论当使用当使用条件条件1时,时,选择选择“是是”后,仍然需要后,仍然需要利用利用条件条件2进行选择时,进行选择时,可以考虑可以考虑“更改条件更改条件”!
(二)
(二)循环语句循环语句循环语句基本类型
(一)循环语句基本类型
(一)For语句语句一般形式:
一般形式:
For=ToNext适用于已知循环次数的循环结构适用于已知循环次数的循环结构.For语句语句所对应的基所对应的基本流程图如图所示:
本流程图如图所示:
满足条件满足条件循环体循环体是是否否例例1:
输出输出菲波菲波那那契数列契数列的前的前50项,用项,用for语句描述语句描述该算法。
该算法。
f3f3f1f1+ff22ff11=0=0ff22=1=1输出输出“菲波菲波那那契数列契数列为为”,ff11,f,f22输出输出f3f3解解:
Fori=3To50Next是是i50i50开始开始ff11=0=0ff22=1=1ff33=f=f11+f+f22输输出出ff33i=i+1i=i+1结束结束否否ff11=f=f22ff22=f=f33i=3i=3输输出出ff1,1,ff22ff11=f2f2ff22=f3f3例例2:
阅读下列阅读下列for语句语句写写的算法,说明此的算法,说明此算法算法的处的处理功能理功能.S=0T=1Fori=1To20S=S+iT=T*iNext输出输出S输出输出Ti是循环变量,是循环变量,初始值为初始值为1,终止值为终止值为20,循环体为循环体为:
S=S+iT=T*i开始开始结束结束输出输出S,TS,Tii2200i=i+1i=i+1i=i=11S=0S=0T=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整除的整除的所所有正整有正整数数.Forn=1to66a=15*n输出输出aNext解解:
开始开始结束结束n=1n=1a=15na=15n输出输出aan=n+1n=n+1n66n66否否是是n是循环变量,是循环变量,初始值为初始值为1,终止值为终止值为66,循环体循环体:
a=15*n分析:
分析:
循环语句基本类型
(二)循环语句基本类型
(二)DoLoop语句语句的一般形式:
的一般形式:
DoLoopWhile适用适用预先不知道循环次数预先不知道循环次数的循环结构的循环结构DoLoop语句语句所对应的所对应的基本流程图如图所示:
基本流程图如图所示:
满足条件满足条件循环体循环体否否是是练习练习1:
用用for语句设计算法,输出语句设计算法,输出1000以内以内能能被被3和和5整除的整除的所所有正整有正整数数.n=1Doa=15*n输出输出an=n+1解解法二法二:
开始开始结束结束n=1n=1a=15na=15n输出输出aan=n+1n=n+1n=66n=66是是否否n是循环变量,是循环变量,初始值为初始值为1,终止值为终止值为66,循环体循环体:
a=15*n分析:
分析:
LoopWhilenn=66=661.下列程序执行后输出的结果是下列程序执行后输出的结果是S=1Fori=9To11S=S*iNext输出S
(1)A=1DoA=A+1LoopWhileA100输出A
(2)练习练习2990101用基本语句写一个算法,计算用基本语句写一个算法,计算135799并输出结果。
并输出结果。
提示:
提示:
算法如下:
算法如下:
1.s=12.i=33.s=si4.i=i+25.如果如果i99,那么转到第那么转到第3步步6.输出输出s练习练习3解法一:
解法一:
用语句描述为用语句描述为S=1Fori=3To99S=S*ii=i+1Next输出输出S用基本语句写一个算法,计算用基本语句写一个算法,计算135799并输出结果。
并输出结果。
解法二:
解法二:
用语句描述为:
用语句描述为:
S=1i=3DoS=S*ii=i+2LoopWhilei=85m=m+1IfIfS=60Thenn=n+1ElseElsei=i+1EndIfNext输出输出m,n,iP112练习练习2答案答案