多重循环与枚举算法.ppt

上传人:wuy****n92 文档编号:87563726 上传时间:2023-04-16 格式:PPT 页数:17 大小:909KB
返回 下载 相关 举报
多重循环与枚举算法.ppt_第1页
第1页 / 共17页
多重循环与枚举算法.ppt_第2页
第2页 / 共17页
点击查看更多>>
资源描述

《多重循环与枚举算法.ppt》由会员分享,可在线阅读,更多相关《多重循环与枚举算法.ppt(17页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、枚举算法与多重循环枚举算法与多重循环一、一、复习复习1.1.下面的程序段用于计算下面的程序段用于计算s=1*2+3*4+5*6+7*8+9*10s=1*2+3*4+5*6+7*8+9*10则在程序的划线处应填上(则在程序的划线处应填上()S=0S=0For k=1 to 10 step _For k=1 to 10 step _ s=s+k*(k+1)s=s+k*(k+1)Next kNext k(A)0 (B)1 (C)2 (D)k(A)0 (B)1 (C)2 (D)k2.2.在窗体上画一个名称为在窗体上画一个名称为command1command1的命令按钮,的命令按钮,然后编写如下事件过程

2、然后编写如下事件过程:Private Sub Command1_Click()Private Sub Command1_Click()Dim n,m As Integer Dim n,m As Integer m=0 m=0 For n=1 to 20 For n=1 to 20 if n Mod 30 then m=m+n3 if n Mod 30 then m=m+n3Next nNext nText1.text=str(m)Text1.text=str(m)End SubEnd Sub程序运行后,如果单击命令按钮,则文本框程序运行后,如果单击命令按钮,则文本框Text1Text1中显示的

3、内容是中显示的内容是(A)15 (B)18 (C)42 (D)24(A)15 (B)18 (C)42 (D)243.说出下面程序运行后x的数值是()x=1Do While (x mod 80)or(x mod 60)x=x+1Loop(A)(A)1(B)(B)2(C)(C)12(D)(D)24二、新课二、新课1.1.单据问题:单据问题:一张单据上有一个一张单据上有一个5 5位数的编号,其百位数和位数的编号,其百位数和十位数处已经变得模糊不清,如图所示。但是知道十位数处已经变得模糊不清,如图所示。但是知道这个这个5 5位数是位数是3737或或6767的倍数。现在要设计一个算法,的倍数。现在要设计

4、一个算法,找出所有满足这些条件的找出所有满足这些条件的5 5位数,并统计这些位数,并统计这些5 5位数位数的个数。的个数。单据问题界面设计单据问题界面设计(程序预演程序预演)列表框控件list1按钮控件command1窗体form1单据问题代码单据问题代码Private Sub Command1_Click()Private Sub Command1_Click()Dim j,n,c As Integer Dim j,n,c As Integer c=0 c=0 List1.Clear List1.Clear For j=_ To _ For j=_ To _ _ _ If _ Then If

5、 _ Then List1.AddItem Str(n)List1.AddItem Str(n)c=c+1 c=c+1 End If End If Next j Next j List1.AddItem List1.AddItem 总计有总计有+Str(c)+Str(c)+个五位数个五位数 End SubEnd Sub单据问题代码单据问题代码Private Sub Command1_Click()Private Sub Command1_Click()Dim j,n,c As Integer Dim j,n,c As Integer c=0 c=0 List1.Clear List1.Clea

6、r For j=0 To 99 For j=0 To 99 n=25006+j*10 n=25006+j*10 If n Mod 37=0 Or n Mod 67=0 Then If n Mod 37=0 Or n Mod 67=0 Then List1.AddItem Str(n)List1.AddItem Str(n)c=c+1 c=c+1 End If End If Next j Next j List1.AddItem List1.AddItem 总计有总计有+Str(c)+Str(c)+个五位数个五位数 End SubEnd Sub课堂任务课堂任务n n完成单据问题的程序双重循环解决

7、单据问题双重循环解决单据问题Private Sub Command1_Click()Private Sub Command1_Click()Dim i,j,n,c As Integer Dim i,j,n,c As Integer c=0 c=0 List1.Clear List1.Clear For i=0 to 9 For i=0 to 9 For j=0 To 9 For j=0 To 9 n=25006+i*100+j*10 n=25006+i*100+j*10 If n Mod 37=0 Or n Mod 67=0 Then If n Mod 37=0 Or n Mod 67=0 T

8、hen List1.AddItem Str(n)List1.AddItem Str(n)c=c+1 c=c+1 End If End If Next j Next j next i next i List1.AddItem List1.AddItem 总计有总计有+Str(c)+Str(c)+个五位数个五位数 End SubEnd Sub问题:下面程序运行结束后变量问题:下面程序运行结束后变量问题:下面程序运行结束后变量问题:下面程序运行结束后变量s s的值是多少?的值是多少?的值是多少?的值是多少?程序1S=0i=5For j=1 to iS=s+jNext j程序2S=0For i=1 t

9、o 5 For j=1 to i S=s+j Next jNext i2.包装问题包装问题 包装600个变形金刚,要求是:(1)包装的规格分别是:小盒(每合2个)、中盒(每合5个)、大盒(每合8个);(2)每种规格的合数都不能是0。设计一个算法,输出所有可能的包装方案,并输出包装方案的个数。变变形形金金刚刚包包装装问问题题代代码码Private Sub Command1_Click()Private Sub Command1_Click()Dim x,y,z,c As Integer Dim x,y,z,c As Integer c=0 c=0 List1.Clear List1.Clear

10、For x=1 To 293 For x=1 To 293 For y=1 To 118 For y=1 To 118 For z=1 To 74 For z=1 To 74 If 2*x+5*y+8*z=600 Then If 2*x+5*y+8*z=600 Then List1.AddItem Str(x)+Str(y)+Str(z)List1.AddItem Str(x)+Str(y)+Str(z)c=c+1 c=c+1 End If End If Next z Next z Next y Next y Next x Next x Text1.Text=Str(c)Text1.Text=Str(c)End SubEnd Sub小知识:循环内嵌套循环的方式叫多重循环小知识:循环内嵌套循环的方式叫多重循环程序预演程序预演程序预演程序预演上机练习:上机练习:通过上机的方式完成本课件中复习题中的第一、第三两题掌握msgbox()过程和str()函数的使用完成包装问题操作速度快的同学完成单据问题。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com