visualbasic程序设计基础-5-循环结构

visualbasic程序设计基础-5-循环结构

ID:39992169

大小:524.00 KB

页数:43页

时间:2019-07-16

visualbasic程序设计基础-5-循环结构_第1页
visualbasic程序设计基础-5-循环结构_第2页
visualbasic程序设计基础-5-循环结构_第3页
visualbasic程序设计基础-5-循环结构_第4页
visualbasic程序设计基础-5-循环结构_第5页
资源描述:

《visualbasic程序设计基础-5-循环结构》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、循环结构S=1+2+3+….+100 PrintS非法操作!!系统不认得省略号,中间省略的东西必须明确。一定要把100个数字和99个加号全部打出来才对循环概念的引入:求和1+2+…+100分析计算1+2+3+……+100不考虑纯粹的数学公式,计算机一般都是原始的逐步累加,每次加入一个新的数:S←0 S←0+1S←0+1+2S←0+1+2+3…… S←0+1+2+……+100每次加入的新数分别是什么?剩下的数字又是什么?分析计算1+2+3+……+100S=0对S初始化S=(0)+1S=(0+1)+2S=

2、(0+1+2)+3除了每次加入的新数(红色),剩下的数字之和其实是上一步运算的结果(蓝色),如图。分析计算1+2+3+……+100S=0 S=S+1S=S+2S=S+3S=S+4……S=S+100以上的100个表达式中,区别在于红色新增的数,即1~100,可以统一用一个变量表示。变量i,1≤i≤100分析计算1+2+3+……+100上页的100个表达式可以统一写成:S=S+i(1≤i≤100)即:前i个数的和=前i-1个数的和+第i个数Sn=Sn-1+an然后,让计算机自动执行这个表达式100次即可,

3、这个时候循环语句就派上了用场。能否正确写出这个表达式是解决问题的关键。循环结构FOR语句For循环控制变量=初始值to终止值Step……….Next循环控制变量注意事项:1、隐藏的条件是:初始值≤循环控制变量≤终止值2、变量、初始值、终止值的类型必须一致,且不能为小数;3、初始值和终止值也可以是表达式;4、循环控制变量会自动从初始变化到终止,在语句中不能强制手工改变循环控制变量的值。语句NY表达式循环结构选择结构请注意区别重复多次判断条件只判断一次S=0//S初始化Fori=1to100step1//

4、步长这里可以不写S=S+i//反复执行100次Nexti PrintS//输出S1、条件是1≤i≤100,不满足则退出循环。2、循环部分只有S=S+i这一句话,执行100次。3、步长step不写时,默认为1。4、S=0这句一定要写,否则程序容易出错。错误示例1:下面这个程序错在哪里?Fori=1to100S=0//也被反复执行了100次S=S+i//反复执行100次Nexti PrintS//输出SS=0的位置不对,应该放在循环外面。每次循环都初始化,结果只能保留最后一个数字100正确(S只初始化一次

5、)错误(每次都先清零)S←0 S←S+1 S←S+2 S←S+3 ……得到正确答案S←0 S←S+1S←0S←S+2(1被清除)S←0S←S+3(2被清除) ……只能得到最后一次的数错误原因错误示例2:下面这个程序错在哪里?S=0Fori=1to100 S=S+i//执行100次PrintS//反复输出S Nexti题意只要求输出一个总和,所以打印语句应放在循环外面。例二打印1~100内的所有偶数序列2468……100编号i第1234……50个数因此可以由编号i产生这个偶数序列:2*i(1≤i≤50)

6、由此公式生成序列的过程交给计算机自动完成类似的,1,3,5,7,……,99有2*i-1(1≤i≤50)类似的,1,1/3,1/5,……,1/99有1/(2*i-1)(1≤i≤50)注意:不是所有序列都能找到这种通项表达式例二打印1~100内的所有偶数1~100内的所有偶数有通项公式2*i,1≤i≤50Fori=1to50//注意范围Print2*i Nexti如果不知道这个通项公式呢?见下页不止输出一个数字,打印语句在循环内部。对1~100内的所有数,逐个进行奇偶性的判断,满足条件才输出。i=1时,i

7、mod2<>0,不打印;i=2时,imod2=0,打印;i=3时,imod2<>0,不打印;……i=100时,imod2=0,打印;i=101时,超过范围,循环结束。Fori=1to100//注意范围ifimod2=0then Printiendif//else要不要写? Nexti另一种做法:假如找不到通项表达式怎么办?小结:打印偶数的两种做法能找到通项表达式找不到通项表达式Fori=1to50Print2*i NextiFori=1to100ifimod2=0then Printiendif Ne

8、xti解析法枚举法或暴力法(bruteforce)例三求1+3+5+…+99符合奇数条件的才加到总和S上去,不符合的不加,不要多写else语句。S=0Fori=1to100//注意范围不要写错ifimod2=1then S=S+iendif Nexti PrintS注意:按照题意,只要输出一次总和S,打印语句应该写在循环外面。方法二如果知道通项公式,则可以直接往上加。同样要注意范围。S=0Fori=1to50//注意范围S=S+2*i-1Nexti Pr

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。