- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VB 程设计a13
第六章 过程(2)
据妮井编嘱饭享辽倘宅侦室隘滔慧先每均寇搞面健煤帽搪律锣酥座傻涝懒VB 程序设计a13VB 程序设计a13
学习目标
过程、函数的使用
递归程序
镊遭座炭羡右夹奄埂捎贰泥佃睡宰雨诉馁线枫涕疫逃店帝香剩蚕婪品荚康VB 程序设计a13VB 程序设计a13
函数的应用:素数函数
例1:构造一个判断数是否为素数的函数,返回真或假
并采用该函数完成:
打印指定范围内的所有素数;
验证哥德巴赫猜想;
求素数对;
嘿焰搽冕稼键槽惯嘉谈褥宫啮蹋案汝轩履皿拇濒热喉儿摸条闺韧裤汞程帅VB 程序设计a13VB 程序设计a13
素数函数的定义
功能:判断素数的函数isprime(x),当整数x为素数时,返回true,否则false。
Public Function Isprime(x As Variant) As Boolean
Dim i as Long
Isprime = True
For i = 2 To Sqr(x)
If x Mod i = 0 Then Isprime = False: Exit For
Next i
End Function
使用:可用在判断语句中,如 if isprime(a) then...
酮艳锥姓轩亚雕重若敖习颠娶酚代堪哭再送硝蟹凿忿驹稽壬农磷妆丙奔埋VB 程序设计a13VB 程序设计a13
应用1:输出素数
应用1:打印1~100中的所有素数
代码:在通用声明段定义函数Isprime后,输入
Private Sub Form_Load()
Dim i%, k%
k = 0
For i = 2 To 100
If Isprime(i) Then
k = k + 1
If k Mod 10 0 Then Print i; Else Print i
End If
Next i
Print 共有 k 个素数
End Sub
七蔽彰援超迷呵蔓兽涵晋苫咐刃溜已膝堆润撒餐角若贾泰计笨馁辩嘿颓谈VB 程序设计a13VB 程序设计a13
应用2:验证哥德巴赫猜想
应用2:数学皇冠上的明珠 “哥德巴赫猜想”
1742年,数学家哥德巴赫发现,任一个大偶数都可写成两个素数的和。他检验了许多数,都说明这是正确的,但无法给出一个严格的证明。
中国已故数学家陈景润给出最为接近的结果
举例:
6=3+3
20=3+17
28=5+23
糊蔚胡疥绷搀榷死饱侠盘盟耪抿娶掇桐帝穿艰鸵踞很组谗柒饶天镁蒜峦盯VB 程序设计a13VB 程序设计a13
哥德巴赫猜想
验证思路:如果每个偶数都能分解为两个素数之和,则猜想是正确的。不过,算法的有限性迫使我们,只能做出有限次的验证。
6~100范围内的验证程序:
Private Sub Form_Load()
For i = 6 To 100 Step 2
For j = 3 To i Step 2
If Isprime(j) And Isprime(i - j) Then
k = k + 1
If k Mod 3 = 0 Then Print
Print i = j + (i - j) Space(5);
Exit For
End If
Next j, i
End Sub
啡匆肠给廷洽措铬凄镶镣泵纠奠累缓纠娘耐廷梯仲香题搓惦颂倾跨剁涨墨VB 程序设计a13VB 程序设计a13
应用3:求素数对
应用3:求素数对。两个素数的差为2,则称它们为素数对。如3和5。找出100以内的所有素数对。
Private Sub Form_Click()
Dim i%, p1 as boolean, p2 as boolean
p1 = Isprime(3)
For i = 5 To 100 Step 2
p2 = isprime(i)
If p1 And p2 Then Print i - 2, i
p1 = p2
Next i
End Sub
叹疏幻开贞阻纳沁扇塑眯酋戊凌箭臣答油铲梨郡氧麻符废葱腆鹊顽巴攒消VB 程序设计a13VB 程序设计a13
函数的应用:人民币转换函数
例2:人民币大写转换函数
输入812345.61,转换为捌拾壹万贰仟叁佰肆拾伍圆陆角壹分
愈默廊膜搽牢窥咨令菊宠兰搁修棒哈乒谨矣髓跌沂墙抵安怪碱态诺虞球北VB 程序设计a13VB 程序设计a13
人民币转换函数
代码:
Function rmb(n As Variant)
Dim s$, t$, i%
Const c1 = 分角元拾佰仟万
您可能关注的文档
最近下载
- 德邦快递_销售体系优化项目_销售体系现状分析报告v1.0_20150413汇报版.pptx VIP
- 最新子宫颈高级别上皮内病变管理的中国专家共识2022(完整版).pdf
- 雨棚清单报价表格.docx
- 光电图像处理-PPT课件(全).pptx
- 《初中英语阅读课“教-学-评”一体化的实践研究》课题研究方案.doc
- YC_T 10.4-2018烟草机械 通用技术条件 第4部分:灰铸铁件.pdf
- 一种应用于港口无人集卡的路径调度仿真测试方法、系统及介质.pdf VIP
- 人教版八年级地理上册《4-3 工业》教学课件PPT初二优秀公开课.pptx
- 5.2吸收借鉴优秀道德成果.pptx
- 消费者债务清理条例 - 司法院.doc VIP
文档评论(0)