- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
采用 For … Next语句如何实现? 变量赋初始值语句若放在循环体内,情况会如何? 思考: 4.5.2 求素数 素数,又称质数:大于2且只能被1和本身整除的整数。 求解想法:对于 m 从 i = 2,3,…,m-1 判断 m 能否被 i 整除,若有一个能整除,则 m 不是素数;否则, m 是素数 例题4.15, 求 100 以内的素数 实际上,m 不可能被大于 的数整除,故内循环为:For i = 2 To Int(Sqr(m)), 将大大减少循环次数。 不用 Go To 语句如何实现? 增加一个标志位 Flag,根据Flag的值判断是否为素数。 4.5.3 穷举法 穷举法,又称牧举法,即将所有可能出现的各种情况一一测试,判断是否满足条件。 采用循环结构实现。 例题4.16, 百元买百鸡问题 (为了增加运算时间,100变为200) 方法一:三重循环,计算时间长。 方法二:循环优化,二重循环。 方法一:采用Variant类型,计算时间长,若改为整数型,则计算时间减少。 结论: 尽量少用变体变量( Variant )类型,采用确定的数据类型。 尽量减少循环的重数。 合理选择内、外循环变量,将循环次数多的放在内循环。 4.5.4 递推法 递推法,又称迭代法,即把一个复杂的计算过程转化为简单过程的多次重复计算。 例题4.17, 猴子吃桃子。(P99) 小猴在一天摘了若干个桃子,当天吃掉 一半多一个;第二天吃了剩下的一半多一个;以后每天吃尚存桃子的一半多一个,到第7天早上只剩下一个了,问小猴摘了多少个桃子? 分析: 这是一个“”递推“问题 先从最后一天的数推出倒数第二天的桃子,再从倒数第二天的桃子推出倒数第三天的桃子…… 假设,第 n 天的桃子为 , 则第 n-1 天的桃子为: Thank you 4.5.5 求最大值或最小值 求最大值,一般先假设一个较小的数为最大值的初值,若无法估计较小的数,则取第一个数为最大值的初值,然后将每一个数与最大值比较,若该数大于最大值,则将该数替换为最大值,依次进行比较。 求最小值,一般先假设一个较大的数为最小值的初值,若无法估计较大的数,则取第一个数为最小值的初值,然后将每一个数与最小值比较,若该数小于最小值,则将该数替换为最小值,依次进行比较。 例题4.18(P100) 注意: 不管有几个分支,程序执行一个分支后,就不再执行其它分支。 ElseIf不能写作Else If 当多个分支有多个表达式同时满足时,则只执行第一个匹配的语句块。 P82, 例4.3 在If 或者Else后面的语句中又有If 语,称为If 嵌套。 4 If 语句的嵌套 If 表达式1 Then if 表达式2 Then …… End If …… End If If 嵌套一般采用锯齿型,增强程序的可读性。 一个If 必须与一个End If匹配,End If与最近的If语句配对。 例题4.4 (P83) 注意 Select Case 语句是多分支结构的另一种表示。比If 语句更直观。 选择多于三个以上,采用Select Case较好。 4.2.2 Select case语句 Select case 变量或表达式 Case 表达式列表1 语句块1 Case 表达式列表2 语句块2 …… [ Case Else 语句块n ] End Select 其中, 变量或表达式:数值型或字符串表达式 表达式列表 : 类型必须相同,可以为 (1)表达式 (2)一组逗号分开的值 (3)表达式1 To 表达式2 (4)Is关系运算符表达式 例如: Case 1 to 10 ‘ 1-10范围内 Case “a”,”e”,”I”,”o”,”u” ‘ 元音字母 Case 2,4,6,Is10 ‘ 2,4,6,或大于10
原创力文档


文档评论(0)