《算法及其实现七循环结构程序设计.pptx》由会员分享,可在线阅读,更多相关《算法及其实现七循环结构程序设计.pptx(22页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、算法及其实现7.循环结构程序设计,信息技术基础,学习内容,For循环,1,While循环,4,For循环结构,2,While循环结构,5,For循环的中止,3,While循环的中止,6,第一课,For循环结构:通过次数控制循环,1、For循环,PrivateSubCmd1_Click()Print1Print2Print3Print4Print5EndSub,PrivateSubCmd1_Click()对于1到100的每个值执行PrintEndSub,PrivateSubCmd1_Click()Print1Print2Print3Print98Print99Print100EndSub,For
2、循环变量=初值To终值语句块Next循环变量,标程:Dimi,sAsIntegers=0Fori=1To100s=s+iNextiLabel1.Caption=Str(s),2、For循环结构,例1:求1+2+3+100=?,累加过程s:累加器,1,Fori=1To100PrintiNexti,思考:循环结束时,i的值是多少?,例2:求1+3+5+99=?,For循环变量=初值To终值Step步长语句块Next循环变量,标程:Dimi,sAsIntegers=0Fori=1To99Step2s=s+iNextiLabel1.Caption=Str(s),次数的控制由:初值、终值、步长决定步长为
3、1的时候,可以省略不写Step1,2、For循环结构,n,n,n=Val(Text1.Text),For循环变量=初值To终值语句块If条件ThenExitForEndIfNext循环变量,标程:Dimi,sAsIntegers=0Fori=1To1000s=s+iIfs1000ThenExitForEndIfNextiLabel1.Caption=Str(s),3、For循环的中止,例3:求1+2+3+的值刚超过1000时,和是多少?,标程:Dimi,sAsIntegers=0Fori=1To10s=s+iIfs16ThenExitForEndIfNextiLabel1.Caption=St
4、r(s),程序阅读题,看懂题目意思划分代码结构按照代码执行的顺序写下,每一步变量的值,思考:循环结束时,i的值是多少?,例4:在印度有一个古老的传说:舍罕王打算奖赏国际象棋的发明人宰相西萨班达依尔。国王问他想要什么,他对国王说:“陛下,请您在这张棋盘的第1个小格里,赏给我1粒麦子,在第2个小格里给2粒,第3小格给4粒,以后每一小格都比前一小格加一倍。请您把这样摆满棋盘上所有的64格的麦粒,都赏给您的仆人吧!”国王觉得这要求太容易满足了,就命令给他这些麦粒。当人们把一袋一袋的麦子搬来开始计数时,国王才发现:就是把全印度甚至全世界的麦粒全拿来,也满足不了那位宰相的要求。那么,宰相要求得到的麦粒到底
5、有多少呢?18446744073709551615,第一格:1粒第二格:2粒第三格:4粒第四格:8粒第六十三格:262粒第六十四格:263粒,标程:DimiAsIntegerDimsAsIntegerLongDoubles=0Fori=0To63s=s+2iNextiLabel1.Caption=Str(s),练一练,For楼号=1To3For楼层=1To4For教室=1To4cnt=cnt+1Next教室Next楼层Next楼号,拓展:循环的嵌套,1号楼,2号楼,3号楼,第二课,4、While循环,While循环结构:通过条件控制循环,当不知道循环执行的次数,但知道循环继续执行的条件或循环结
6、束的条件,可用DoWhile语句进行描述。,For循环结构:通过次数控制循环,For循环变量=初值To终值Step步长语句块Next循环变量,更灵活,DimiAsIntegeri=1DoWhilei50ThenExitForEndIfNexti,转换,变形,DoWhilei=6Anda(i)=50i=i+1Loop,455,作业本3.14T6,x=18:s=DoWhilex0r=(x+1)Mod2s=Str(r)+sx=x2LoopText1.Text=Str(s),作业本3.14T7,k=1Fori=2To4Ifa(i)1Thent=a(1)a(1)=a(k)a(k)=tEndIf,i,k,
7、找到最小值的下标,将最小值和第一个值交换,作业本3.14T9,Dima(1To5)AsIntegerDimflagAsBooleana(1)=12:a(2)=30:a(3)=28:a(4)=15:a(5)=6i=1:flag=True:s=0DoWhilei=5Andflag=TrueIfa(i)=28Thenflag=Falses=s+a(i)i=i+1Loop,考点规范练1016、CAADDC7、58、10.0000001或1/10000000或10-7或0.17或1/1079、3To2*n-1Step2-sign10、i=na2+b2s=s+1Str(4*s/n)0,1)Int(Rnd*10+1),4=1113+1517+(1)1121,Fork=3To2*n-1Step2sign=-signpi=pi+sign/kNextk,第?项1234n,分母k13572n-1,符号sign1-11-1奇正偶负-1(k-1)/2),-1(k2)-1Int(k/2)-sign,蒙特卡罗法求的近似值,DoWhilei=na=Rnd:b=Rndc=a2+b2Ifc=1Thens=s+1i=i+1Loop,
限制150内