网站大量收购闲置独家精品文档,联系QQ:2885784924

03控制结构常见算法.ppt

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
03控制结构常见算法

计算机语言VB 基本控制结构__常见算法 算 法 算法:是对某个问题求解的过程。算法有很多表达方式,通俗地讲,程序就是用计算机语言表达的算法;流程图就是图形化了的算法。同一问题有多种算法描述。算法是程序的核心、编程的基础。 算法种类:数值算法和非数值算法。 复习基本控制结构语句 顺序结构 ① InputBox()函数 ② MsgBox函数与语句 ③ Print方法 选择结构 ① If…Then…Else条件语句 ② 情况语句Select Case…End Select ③ 条件语句嵌套 循环结构 ① For…Next循环语句 ② Do…Loop循环语句 ③ 多重循环(循环嵌套) 主要内容 累加与连乘算法 穷举(枚举)算法 递推算法 累加与连乘 累加:是在原有和的基础上每次加一个数。 连乘:是在原有积的基础上每次乘一个数。 示例2:求e= 1+1/1!+1/2!+1/3!…+1/n!,直到最后一项的绝对值小于0.00001 为止。 穷举法(枚举法) 穷举算法:对问题的所有可能一一测试,直到找出所有解或将全部状态测试过为止。 穷举算法循环控制两种办法: 记数法:先要确定循环次数,然后逐次测试,完成测试次数后,循环结束。 标志法:在循环次数无法事先确定的情况下,先确定一个结束目标,达到目标后,循环结束。 使用穷举法需掌握的两条原则:确定有哪些信誉好的足球投注网站范围和选择有哪些信誉好的足球投注网站策略。 示例3:百钱买百鸡。(鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?) 分析 依题意,列方程: Cocks + hens + chicks=100 5*cocks + 3*hens + chicks/3 = 100 各变量取值范围: 示例4:求素数。 分析: 素数:只能被1和自己整除的数。 判断数n是否为素数的方法: 在2~sqr(n)中能否找到一个整数i能将n整除,若i存在,则n不是素数;若找不到i,则n为素数。 如: 11:要用2、3除 16:要用2、3、4除 递推法(迭代法) 迭代:不断用新值取代变量的旧值或由旧值递推出变量的新值的过程。 与迭代有关因素:初值、迭代式子、迭代次数。 示例分析:人口增长问题:现有12亿人,按年2%的增长速度,10年后将有多少人? 设人口用变量P表示; 现有人口数P=12亿 (初值); 第一年后人口P=P*(1+2%)(迭代式子); 示例5:兔子繁殖问题:设有一对新生兔子,从第三个月开始每个月都生一对兔子,按此规律,并假设没有兔子死亡,一年后共有多少对兔子?(裴波那契数列) 分析: 每月兔子对数(用f表示)呈如下规律: 1,1,2,3,5,8,13,21,34…… 迭代规律: 示例6:求2个非负整数的最大公约数、最小公倍数。(辗转相除法) 分析: 练习题 累加、连乘 练习1:求∏/4= 1-1/3+1/5-1/7……,直到最后一项的绝对值小于0.000001为止。 练习2:求S=a+aa+aaa+…+aaa(n个a)。其中a为1~9的一个正整数。如a=2,n=4,则求S=2+22+222+2222。 练习题 穷举法 练习1:搬砖问题:36块砖,36人搬,男搬4,女搬3,两个小孩抬一块砖。要求一次全搬完,问男、女、小孩各若干? 练习2:求50以内的素数。 练习题 递推法 练习1:小猴吃桃:第一天小猴摘下若干桃子,当即吃了一半,还觉得不过隐,又多吃了一个。第二天接着吃了剩下的桃子中的一半,仍不过瘾,又多吃了一个,以后每天吃尚存桃子的一半又多一个,到第10天小猴去吃桃时,发现只剩下一个桃子了。问小猴第一天摘下多少桃子?(参考教材P151例5-21) 练习2:某球从100米高度自由落下,落地后反复弹起,每次弹起的高度都是上次高度的一半。求此球第10次落地后反弹起的高度和球所经过的路程。 阅读提示 累加、连乘 例3-26( P83) 穷举法 例3-29 ( P85) 例3-30 ( P85) 递推法 例3-27 (P83) 例3-31 ( P86) * 示例1:求1到100间5的倍数或7的倍数的和。 sum = 0 For i = 1 To 100 If i Mod 5 = 0 Or i Mod 7 = 0 Then sum = sum + i End If Next i Print 1到100间5的倍数和7的倍数之和为:; sum Dim i %,n ,t !, e ! e = 0 ’存放累加和的结果,初值为0 i = 0 ’控制级数变量,初值为0 n= 1 ’存放阶乘的值,初值为1 t = 1 ’存放级数的某项的值,初值为1 Do

您可能关注的文档

文档评论(0)

kabudou + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档