2、了解枚(穷)举算法求解问题的过程 穷举法也叫枚举法或列举法。
在研究对象是由有限个元素构成的集合时,把所有对象一一列举出来,再对其一一进行研究。带入实际,一个个检验是否符合,穷举完所有对象问题将最终得以解决。这种方法一般在计算机中运用,因为计算机计算速度快,可以很快验证答案是否正确。
穷举法举例:
百钱买百鸡问题。用100元钱买100只鸡,公鸡每只5元,母鸡每只3元,小鸡3只1元,要求每种都买,问能买公鸡、母鸡、小鸡各买几只?
算法分析:
设x为公鸡数量,取值从1只到20只,y为母鸡的数量,取值从1只到33只,z为小鸡的数量,判断5元*x+3元*y+z/3是否等于100元,输出每次符合条件的x,y,z即为所求。
??VB代码:
Privat sub command1_click() Dim x,y ,z as integer For x=1 to 20 step 1 For y=1 to 33 step 1 z=100-x-y
If 5*x+3*y+z/3=100 then Print x,y,z Next y Next x End sub
小结:
穷举法的基本思路:
把问题涉及的可能情况一一罗列出来,并且根据题目的条件和实际背景逐个作出判断,从中挑选出符合条件的解答。
穷举法的解题步骤: 1)、分析问题,找出条件与未知数,确定变量; 2)、列举出变量所有可能的情况,用循环或循环的嵌套实现; 3)、写出符合条件的判断语句,用选择语句实现; 4)、输出符合条件的情况; 5)、优化程序。
例:求出三位数所有的水仙花数(所谓水仙花数,其个位数的立方、十位数的立方和百位数的立方之和等于其自身。)
Private Sub Command1_Click()
Dim i As Integer, a As Integer, b As Integer, c As Integer For i = 100 To 999
a = i \\ 100 ‘分离百位数
b = (i - 100 * a) \\ 10 ‘分离十位数 c = i - 100 * a - 10 * b ‘分离个位数 If a ^ 3 + b ^ 3 + c ^ 3 = i Then Print i Next i End Sub
21
要看懂的一些程序:
1、编写程序,当在Textl中输入x的值后,单击计算按钮,求 y = |3x - 5|的值。 Private Sub Command1_Click( ) Dim x As Single Dim y As Single x = Text1.Text y = Abs(3*x-5) Text2.Text = y End Sub
2、编程计算 s=1-2+3-4+5-??+99-100 Private Sub Form Click()
Dim s As Integer '定义变量s为整型变量 Dim i As Integer '定义循环变量 s = 0
For i=1 To 100
if int(i/2) <> i/2 Then s = s + i Else
s = s - i End Next i
Print \End Sub
3、编程计算s = 1*2+2*3+3*4+??+n*(n+1)的值,其中n =10 Private Sub Form_Click() Dim s As Single Dim i As Integer s = 0
For i = 1 To 10
s = s + i * (i +1); Next i
Print “s=”;s End Sub
4、编程求:鸡和兔在一个笼里,共有腿100条,头40个,问鸡有几只,兔有几只? Private Sub Form Click() Dim Ji As Integer '鸡 Dim Tu As Integer '兔
Dim Leg As Integer '腿数 Dim Head As Integer '头数 For Ji=1 To 50 For Tu=1 To 25
Leg = Ji*2 + Tu*4 '计算腿 Head= Ji + Tu '计算头
If Leg = 100 And Head = 40 Then Print \鸡=\只\兔=\只\ End If Next Tu Next Ji End Sub
22
程序填空题:
1、下面是“求圆的面积” VB程序,其中半径r由text1文本框输入。请将程序补充完整。 Private Sub Command1_Click() Const ① = 3.14159
Dim r As Single, ② r = ③ s = pi * r * r Print s End Sub
① pi ② s as single ③ val(text1.text)
2、某商场对苹果促销,规定购买2千克以上(含2千克)打8折,已知苹果每千克价格为5元。张华想用VB编写一个程序根据输入的不同重量计算欲付金额,请将其补充完整。 Dim weight As Single, price As Single weight = ① If ② Then
price = weight * 5 * 0.8 Else
③ ④ Print price End Sub
① inputbox(“weight”) ② weight>=2 ③price=weight*5 ④end if
3、下面的程序是求100以内奇数和s的值(S=1+3+5+7...+99),请将其补充完整。 Private Sub Command1_Click()
Dim s As integer, i As integer ①
For i=1 to 100 ② ③ Next i
④ End Sub
① S=0 ② step 2 ③ s=s+i ④ print s
23
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库信息技术学业水平考试知识要点 - 图文(5)在线全文阅读。
相关推荐: