VB第11课时:解析算法、枚举算法.ppt

上传人:小** 文档编号:88566190 上传时间:2019-05-03 格式:PPT 页数:12 大小:386.50KB
返回 下载 相关 举报
VB第11课时:解析算法、枚举算法.ppt_第1页
第1页 / 共12页
VB第11课时:解析算法、枚举算法.ppt_第2页
第2页 / 共12页
VB第11课时:解析算法、枚举算法.ppt_第3页
第3页 / 共12页
VB第11课时:解析算法、枚举算法.ppt_第4页
第4页 / 共12页
VB第11课时:解析算法、枚举算法.ppt_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《VB第11课时:解析算法、枚举算法.ppt》由会员分享,可在线阅读,更多相关《VB第11课时:解析算法、枚举算法.ppt(12页珍藏版)》请在金锄头文库上搜索。

1、例0: For i=1 to 12 If i mod 3 = 0 Then S=S+i Next i 则语句S=S+i 执行次数是( ) A、1 B、3 C、4 D、13,分析:i=3、6、9、12 If i mod 3 = 0 Then S=S+I C,Visual Basic 算法实例之 枚举算法、解析算法 第11课时,学习重点: 1、 能说出枚举算法、解析算法的概念 2、能根据语句代码识别、运用两种算法,1、 枚举算法的概念,“枚举”字义:枚,一个一个也,举者,列举, 枚举就是一个一个列举。,枚举算法:把问题中所产生的可能的情况(解)都考虑到, 一一地全部列举出来,,特点:优点,只要时间

2、足够,正确的枚举能得出正确和全面的解。 算法简单,基础。 缺点, 效率差。,并在逐一列举的过程中,检验对每个可能解进行判断(排查), 保留符合要求的结果,去掉不符合的运算过程。 在列举过程中,既不能遗漏也不应重复。,例1:找出11000中所有能被3整除的数,并列出来。,For i=1 to 1000,添加内容格式:List1.Additem 内容,Next i,If i mod 3 = 0 Then,List1.Additem i,End if,ListBox :列表框,List1:对象名,学习新的一个VB控件类:, List1的特殊的使用方法名语句: List1.方法名,(Additem:添

3、加内容; Clear:清空 ), List1.Additem “你好“,:列表框里添加 “你好“内容, 假如定义变量 s 是整数型,最后s的结果显示在列表框List1里的语句:,List1.Additem str(s), 将列表框里的内容清空语句:,List1.Clear,或 s (软件中默认转化成字符类型),1、 枚举算法的概念,If y Mod 37 = 0 Or y Mod 67 = 0 Then,例2:有一张支票,上面的数额是5位数,其百位数和十位数处已经变得 模糊不清,如下图;但是知道这个5位数是37或67的倍数。 现在要设计一个算法,找出所有满足这些条件的5位数, 并统计这些5位数

4、的个数。,思路分析: 这个5位数的百位和十位这两个位置上, 可能是00、01、02、99,这100个不同的数, 从而产生全部可能解:25006、25016259916,先设变量:,如果用循环模式,变量 x 的取值范围0099,这100个不同的数,For x = 0 To 99,设这模糊的两位数为变量x,整个5位数为y,y = 25006 + x * 10,List1.AddItem Str(y) End If,Next j,2、 枚举算法的步骤:,确定范围,先用循环结构(For语句)确定可能范围并一一枚举出来。,因此,枚举算法语句识别规律: 一般总有循环结构,且里面嵌有If语句,但反过来不一定

5、是枚举算法。,一一枚举,逐个检验,得到真解,For i=1 to 1000 If i mod 3 = 0 Then List.Additem I End if Next i,For x = 0 To 99 y = 25006 + j * 10 If y Mod 37 = 0 Or y Mod 67 = 0 Then List1.AddItem Str(y) End If Next,再用If语句写出符合条件的解(检验筛选正确的解),3、 解析算法的概念,含义:用数学公式描述客观事物间的数量关系;,例3:计算以速度V作为匀速直线运动的一个物体,求在t秒内经过的 距离S。,则可通过公式 S= v t

6、得到。,例4:求1+2+3+n的和,,S= (1+n)*n /2,进一步解释: 用解析的方法找出表示问题的条件与所求结果之间关系的数学表达式, 并通过表达式的计算来实现问题求解。,例5:已知三角形的三边,求三角形的面积: 在Text1,Text2,Text3分别输入相应的数, 表示三角形的三边a,b,c(注三边能构成三角形) 则半周长p=(a+b+c)/2, 计算三角形面积公式为s=sqr(p*(p-a)*(p-b)*(p-c), 单击命令按钮Command1“计算”,在文本框Text4中显示面积S的值。,解析算法,例6:面额为10元、20元和50元的纸币各有10张,求总额恰好为380元取法方

7、案的算法?,设10元取a张、20元取b张、50元取c张, a,b,c,都取到0到10之间的整数,将a,b,c取值的所有可能组合逐一 代入表达式:10 a+20 b+50c=380,判断是否成立,则输出这一方案。 此算法属于( )枚举算法?解析算法?,实战练习16:韩信点兵: 4个人一队剩3个,7个人一队正好不剩,21个人一队剩7个,问韩信有多少兵? (假如人数在100以内,只有一个数符合)窗体如下图:,单击command1“点兵”,在文本框Text1中显示人数。 (假如人数在1000以内,答案是多个,需列表框),实战练习17: 已知三角形的三边,求三角形的面积: 在Text1,Text2,Te

8、xt3分别输入相应的数,表示三角形的三边a,b,c (注:三边能构成三角形) 则半周长p=(a+b+c)/2,计算三角形面积公式为s=sqr(p*(p-a)*(p-b)*(p-c), 单击命令按钮Command1“计算”,在标签Label4中显示面积S的值。 界面(如下图 ),例题分析:已知菲波那契数列的通公式为a(n+2)=a(n)+a(n+1),用数组求菲波那契数列前20项程序段如下,请在画线处填入正确的语句或表达式。 Dim I as integer ,a(1 to 20) as integer a(1)=1: a(2)=1 For I = 3 to 20 a(i) = a(i-2)+_ next For I = 1 to 20 List1.additem_ next,

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

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号