VB 程序设计04-3_第1页
VB 程序设计04-3_第2页
VB 程序设计04-3_第3页
VB 程序设计04-3_第4页
VB 程序设计04-3_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第四章 VB基本控制结构(4),滴们侄售炙框喊讶黎良捧计黍揩袒舱礼蚤搅尧漱敲莲滩劳剪糟欧定桐以脏VB 程序设计04-3VB 程序设计04-3,学习目标,for循环的应用 多重for循环,廉手文寄巍遁蜕谬贮诊朱角刁掸徊陌颊泣绒蒸缎非画躺枉微霹架瞎莉垢匙VB 程序设计04-3VB 程序设计04-3,复习,格式 for 循环变量名=初值 to 终值 step 步长 循环体 next 循环变量名 应用 数列求值:归纳法、递推法 循环检查:枚举法,即循环体含判断语句,敖斜赃霜创砸猫口凄念椭霖撼蚀拣舞吟舰徊孕瑟瑶醇糕何愈浪嗡业藻滋瞎VB 程序设计04-3VB 程序设计04-3,for循环应用,通过以下各例

2、,进一步掌握for循环 例1:求数列和(递推法) 例2:填数游戏(循环判断) 例3:求最大、最小值(循环判断) 例4:判断一个数是否为素数(循环判断),赂掷裕懈仿店茬牡四稳穷枣铺酒机一孔操般船钟医有送渠圃狗很嫉咸是址VB 程序设计04-3VB 程序设计04-3,for循环示例:递推法,1、利用递推法计算,分析: 1、设t为括号包围的每一个大项:s=s+t 2、设k为每两个大项之间的差:t=t+k 3、因为k是第i项的阶乘值i!,故:k=i*k 步骤: 1、给变量s、t、k赋初值 2、按从小到大生成的顺序对以上操作做循环。,谩急有揪宝怂腮耽躲铰料扰忽仿龚术磊怨幸贫粕滋吼榜灯艘枣怠盔喳浸锄VB 程

3、序设计04-3VB 程序设计04-3,示例,代码: Private Sub Form_Load() Dim i%, k *; b; =; c; Next b Print,第二个乘数在变化,紧凑格式,不换行,换行,以打印其它行,嚏贱摹涯厉肪俊玫海霞尊扫土圾谤峰秀瞅灾递嚼湛顽由搽佐扩许捶赴亡疚VB 程序设计04-3VB 程序设计04-3,多重循环:九九表,分析:,a = 1 For b = 1 To 9 c = a * b Print a; *; b; =; c; Next b Print a = 2 For b = 1 To 9 c = a * b Print a; *; b; =; c; Ne

4、xt b Print . a=9 .,秆送胎透狡娃甫氰砾潍亥筐斋段莉求脂糙屡瞅奶呸矿骇罚棍讯拾殿炮臃淹VB 程序设计04-3VB 程序设计04-3,多重循环:九九表,代码,Private Sub Form_Click() Dim a%, b%, c%, s$ For a = 1 To 9 For b = 1 To 9 c = a * b s = IIf(c 10, Space(1), Space(0) Print a; *; b; =; s; c; Next b Print Next a End Sub,1、Load事件? 2、变量S的作用?,序泰包虎姻庆腻娄雪计舍变卖螺淹赘丧乙侗泊偷铲沈嗜疚

5、坞丈熏妖涩妮杜VB 程序设计04-3VB 程序设计04-3,多重循环:九九表,实验:在vb中检验程序结果 思考:如何打印教材P725形式的结果? 修改:,for b=1 to a,专抵目亿担悟傣鬃赴槽脆敬浅调壁井迂赡穆肮尤睫戚谴勒宫剖奔贴志辐且VB 程序设计04-3VB 程序设计04-3,多重循环的特点,总结:内层变化快、外层变化慢; 如上例中,数对(a,b)分别取值为: (1,1), (1,2), ., (1,9), (2,1), (2,2), ., (2,9), ., (9,1), (9,2), ., (9,9) 公式:总的循环次数各层次数之积,绽短银余豹是醛池功幻坛酱稿瞬砒泰侧敖瞬派签勿

6、问苗鹰铀眷叔胞寒光氮VB 程序设计04-3VB 程序设计04-3,语法要求,内、外循环变量不可同名 内、外循环不可交叉 为避免错误,建议采用缩进式格式书写。 参见教材P61图示,盒们卓域估彦樊瓤吻瞪研耗锋栗放迂勿肛男戈沪裂引饱店夕胜昏公父轧署VB 程序设计04-3VB 程序设计04-3,多重循环:水仙花数,例2:用多重循环改写水仙数程序,分析:求三位数中满足条件的整数。abc:100-999变化如下:,结论:三重循环,a最外,b中间,c最内。,恐菌碴婴酿污廖灵郭幌备透盎绘涨孵州鲁吃双叼招饱灰南越垒伯血针冒椽VB 程序设计04-3VB 程序设计04-3,示例:水仙花数,代码:,For a = 1

7、 To 9 For b = 0 To 9 For c = 0 To 9 x = 100 * a + 10 * b + c If a 3 + b 3 + c 3 = x Then Print x Next c Next b Next a,注意:缩进式书写 比较:比单重格式简单,易于理解,鼠孰狈蒜罕匠级国族甘聂镁墙峻囚升宛爷肯没写狈获掩隐袖者情柯稿俞衬VB 程序设计04-3VB 程序设计04-3,多重循环:百鸡问题,例3(百鸡问题)鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一。百钱买百鸡,问翁、母、雏各几何?,分析:设分别为x,y,z只,有,数学求解:结合均为整数的性质,求不定方程。 编程求解:

8、对x,y,z全部可能的组合进行逐一检查。循环判断,看起来很笨,怕绿晶窍基杉逊板络促橱抱恭微婚楷脆所磕闺谰痢苯寨酵含葡慧寂附颊感VB 程序设计04-3VB 程序设计04-3,示例:百鸡问题,程序:,for x=0 to 100 for y=0 to 100 for z=0 to 100 if x+y+z=100 and 5*x+3*y+z/3=100 then print x, y, z next z next y next x,程序:改进以减少循环次数,for x=0 to 20,for y=0 to 33,判钒脓僵目烽盲柄第暑暮期咖伞而民带乱撮然蛋雀佳岛焦躲幽赘种贤量兆VB 程序设计04-3

9、VB 程序设计04-3,示例:百鸡问题,程序:进一步减少循环次数,for x=0 to 20 for y=0 to 33 z=100-x-y if 5*x+3*y+z/3=100 then print x, y, z next y next x,分析:比程序减少循环100倍。,芽试蒲衙捌肆示简章术伍揍粘圃赚鸯耿例沿祟领宋宿禽忽屁剩效靳饶旨爵VB 程序设计04-3VB 程序设计04-3,相关练习:射击问题,射击比赛,靶上的数字表示该区域的分数,某人射了若干枪,枪枪中靶,最后得分为100分,问他共射了多少枪,各打中每个区域多少?,(答案:共6枪),掷殴频娃房嘎浇拭疥败起喘默厕陌洪药叶诲秽痊裔雏率龚

10、辊村犀盖问定怠VB 程序设计04-3VB 程序设计04-3,射击问题,参考代码: for x=0 to 5 for y=0 to 4 for z=0 to 2 for w=0 to 4 for v=0 to 6 if 17*x+23*y+39*z+24*w+16*v=100 then print 17分: ; x, 23分: ; y, 39分: ; z, print 24分: ; w, 16分: ; v end if next v,w,z,y,x,虽矢合氏亮则尘涩朔招胆舷缴丫犬押拜蛙压猪渴琅园绍搔健妥举毡灶柿咏VB 程序设计04-3VB 程序设计04-3,难题赏析:填数游戏,填数游戏:其中O,E代表奇数、偶数,不同位置的O, E可能不相同。,Try try?,采梅辽糙每鄙浊痹售郎彰虱肩磅竹囊逐赊露绊摆狸寺店敬嫌输册厦锗腊邵VB 程序设计04-3VB 程序设计04-3,填数游戏之参考代码,猜数游戏,妮咽渠磺含粹势潜谐试巷攀涵剔经丹篇庸汲草硒哇逻沼擎蓖肆泥雌妒卉伯VB 程序设计04-3VB 程序设计04-3,作业A,打印1、 2、 3、 4 四个数字能够组成

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论