- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
会考应考策略指导(二)模块2
会考应考策略指导
算法及其实现
解析法
知识解释:
解析算法的基本思想是用解析的方法找出表示问题的前提条件与所求结果之间关系的数学表达式,并通过数学表达式的计算来实现问题的求解。
试题举例:
【例1】 试求1111的个位、十位、百位数字各是多少?
算法分析:
本题是解决如何将一个多位数的某几位求出来。1111是一个很大的数,设S是多位数(即1111)。设个位数为C,c = s - Int(s / 10) * 10,十位数为B,b = ((s - Int(s / 100) * 100) - c) / 10,百位数为A,a = ((s - Int(s / 1000) * 1000) - b * 10 - c) / 100。
程序代码:
Private Sub Command1_Click()
Dim s As Double
Dim a, b, c, i As Integer
s = 1
For i = 1 To 11
s = s * 11
Next i
c = s - Int(s / 10) * 10
b = ((s - Int(s / 100) * 100) - c) / 10
a = ((s - Int(s / 1000) * 1000) - b * 10 - c) / 100
Text1.Text = Str(a)
Text2.Text = Str(b)
Text3.Text = Str(c)
End Sub
枚举法
知识解释:
枚举算法的基本思想是根据问题的本身性质,一一列举出该问题所有可能的情况,并根据题目的条件逐个作出判断,从中挑选出符合条件的解答。
枚举算法属于有哪些信誉好的足球投注网站策略,适用于那些解变量确定的连续值域的问题。设置枚举算法要列举出所有可能的情况,不能遗漏,也不能重复。
【例2】 某牧场要用100元买100头牲畜。若小牛每只10元,小羊每只3元,小兔每只0.5元。那么一共买了多少只小牛、小羊、小兔?
算法分析:
由题意可知,小牛的头数A不可能超过10只,小羊的头数B不可能超过33只,小兔的头数是100-A-B
Private Sub Command1_Click()
Dim a, b, c As Integer
For a = 1 To 10
For b = 1 To 33
c = 100 -a - b
If a* 10 + b * 3 + c / 2 = 100 Then list1.additem str(a)+” “+str(b)+” “+str(c)
Next b
Next a
End Sub
三、排序算法及程序实现
知识解释:
(1)冒泡排序
冒泡排序的基本思想是在待排序的数据中,先找到最小(大)的数据将它放到最前面,再从第二个数据开始,找到第二小(大)的数据将它放到第二个位置,以此类推,直到只剩下最后一个数据为止。
(2)选择排序
选择排序的基本思想是在所有的记录中选出最小,把它与第一个交换然后在其余的记录中再选出最小与第二个换依此类推,直至所有排序完成。)))Basic程序。
参考程序:
Private Sub Command1_Click()
Dim a(1 To 8) As String
Dim b(1 To 8) As Single
Dim i, j, k As Integer
Dim t As String
Dim p As Single
a(1) = 860: b(1) = 12.9
a(2) = 576: b(2) = 11.3
a(3) = 301: b(3) = 13.5
a(4) = 455: b(4) = 12.6
a(5) = 102: b(5) = 12
a(6) = 377: b(6) = 11
a(7) = 23: b(7) = 12.5
a(8) = 530: b(8) = 13.2
For i = 1 To 7
k = i
For j = i + 1 To 8
if b(j) b(k) Then k = j
Next j
if i k Then
t = a(i): a(i) = a(k): a(k) = t
p = b(i): b(i) = b(k): b(k) = p
End if
Next i
For i = 1 To 3
List1.Additem (Str(a(i)) + + Str(b(i)))
Next i
End Sub
文档评论(0)