Download presentation
Presentation is loading. Please wait.
1
解析算法与枚举算法
2
任务一:基姆拉尔森公式计算星期几 W=(D + 2*M + 3*(M+1)/5 + Y + Y/4 - Y/100 + Y/400) mod 7 (Y是4位数,如2009,M是月份,D是日期) 注意: I 该公式中要把1月和2月分别当成上一年的13月和14月处理。 例如:2008年1月4日要换成 2007年13月4日带入公式。 II.该式运算结果与星期对应关系:“0”为星期日,“1”为星期一,……,“6”为星期六。
3
解析法(analysis algorithm)
用解析的方法找出表示问题的前提条件与结果之间关系的数学表达式,并通过表达式的计算来实现问题求解 。 如:根据半径r求出面积s和周长c
4
例1:鸡兔同笼 Private Sub Command1_Click() h = Val(text1.Text)
l = Val(text2.Text) r= (l-2*h)/2 c= h – r Label1.caption=str(c ) Label2.caption=str(r) End Sub
5
例2:完全平方数 求出1-100之内的完全平方数。(若一个数能表示成某个整数的平方的形式,则称这个数为完全平方数)
Dim i As Integer For i = 1 To 100 If i = Int(Sqr(i)) ^ 2 Then List1.AddItem i End If Next i
6
列表框List控件 在list1中添加元素“hello”: List1.additem “hello”
在list1中添加变量i的值:List1.additem i 清空list1: List1.clear Additem和clear是方法名。
7
枚举法(穷举法) 按照问题要求确定问题解的大致范围,然后在此范围内对这些解进行一一列举,再对当前列举出的解进行是否满足问题要求的判断,最后把符合要求的解输出直到所有可能的解全部列举完毕。 确定范围 情况枚举 条件判断 得到真解
8
任务二:模糊单据 一张单据上有一个5位数的编号,其百位数和十位数处已经变得模糊不清,如图所示。但是知道这个5位数是37或67的倍数。请你编写程序,找出所有满足条件的5位数,并统计这些5位数的个数。
Similar presentations