常用算法及调试方法.ppt
《常用算法及调试方法.ppt》由会员分享,可在线阅读,更多相关《常用算法及调试方法.ppt(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、常用算法及调试方法现在学习的是第1页,共20页例例 求自然对数e的近似值,要求其误差小于0.00001,近似公式为:该例题涉及两个问题:(1)用循环结构求级数和的问题。本例根据某项值的精度来控制循环的结束与否。(2)累加:e=e+t 循环体外对累加和的变量清零 e=0 连乘:n=n*i 循环体外对连乘积变量置1 n=1 Private Sub Form_Click()Private Sub Form_Click()Dim i%,n&,t!,e!Dim i%,n&,t!,e!e=0 :n=1 e=0 :n=1 e存放累加和、n存放阶乘 i=0 :t=1 i=0 :t=1 i计数器、t第i项的值
2、Do While t 0.00001Do While t 0.00001 e=e+t:i=i+1 e=e+t:i=i+1 累加、连乘 n=n*i:t=1/nn=n*i:t=1/n Loop Loop Print Print 计算了计算了 ;i;i;项的和是项的和是 ;e;eEnd SubEnd Sub现在学习的是第2页,共20页2.求素数求素数素数是一个大于2,且不能被1和本身以外的整数整除的整数。判别某数m是否为素数最简单的方法是:对于m 从 i=2,3,m-1判别m能否被i整除,只要有一个能整除,m不是素数,否则m是素数。例例 求100以内素数的代码:For m=2 To 100 For
3、i=2 To m-1 If(m Mod i)=0 Then GoTo NotNextM Next i Print mNotNextM:Next mm是否为素数求100以内的素数思考:思考:此例用GoTo语句对非素数不作判断,若不用GoTo语句,如何修改程序?例:用筛选法求素数现在学习的是第3页,共20页3.3.穷举法穷举法 “穷举法”也称为“枚举法”或“试凑法”,即将可能出现的各种情况一一测试,判断是否满足条件,一般采用循环来实现。例例 百元买百鸡问题。假定小鸡每只5角,公鸡每只2元,母鸡每只3元。现在有100元钱要求买100只鸡,编程列出所有可能的购鸡方案。设母鸡、公鸡、小鸡各为x、y、z只
4、,根据题目要求,列出方程为:x+y+z=100 3x+2y+0.5z=100三个未知数,两个方程,此题有若干个解。解决此类问题采用“试凑法”,把每一种情况都考虑到。方法一:最简单三个未知数利用三重循环来实现。方法一:最简单三个未知数利用三重循环来实现。方法二:从三个未知数的关系,利用两重循环来实现。方法二:从三个未知数的关系,利用两重循环来实现。现在学习的是第4页,共20页4.4.递推法递推法 “递推法”又称为“迭代法”,其基本思想是把一个复杂的计算过程转化为简单过程的多次重复。每次重复都从旧值的基础上递推出新值,并由新值代替旧值。例例 猴子吃桃子。小猴在某天摘桃若干个,当天吃掉一半多一个;第
5、二天吃了剩下的桃子的一半多一个;以后每天都吃尚存桃子的一半多一个,到第7天要吃时只剩下一个,问小猴共摘下了多少个桃子?分析:这是一个“递推”问题,先从最后一天推出倒数第二天的桃子,再从倒数第二天的桃子推出倒数第三天的桃子。设第n天的桃子为xn,那么它是前一天的桃子数的xn-1 的一半减1,即xn-1=(xn+1)*2现在学习的是第5页,共20页5.5.最小、最大值最小、最大值在若干个数中求最大值,一般先假设一个较小的数为最大值的初值,若无法估计较小的值,则取第一个数为最大值的初值;然后将每一个数与最大值比较,若该数大于最大值,将该数替换为最大值;依次逐一比较。例例 随机产生随机产生1010个个
6、100100200200之间的数,求最大值。之间的数,求最大值。Private Sub Command1_Click()Max=100 For i=1 To 10 x=Int(Rnd*101+100)Print x;If x Max Then Max=x Next i Print Print 最大值=;MaxEnd Sub现在学习的是第6页,共20页 6 6、数制转换数制转换 例 将一个十进制整数m转换成 r(216)进制字符串。方法:将m不断除 r 取余数,直到商为零,以反序得到结果。现在学习的是第7页,共20页7 7、例例 加密和解密加密和解密简单加密的思想是:将每个字母C加一序数K,式子
7、 c=chr(Asc(c)+k),例如序数k为5,这时“A”“F”,“a”“f”,“B”“G”当加序数后的字母超过“Z”或“z”则 c=hr(Asc(c)+k-26)。解密为加密的逆过程。现在学习的是第8页,共20页二、排序二、排序选择、冒泡、插入法排序、合并排序等。前两种排序欲排序的数据全部输入后,再进行排序;插入法排序每输入一项,马上插入到数组应在的位置,数组始终有序。例例 插入排序,插入排序,实现的步骤:(1)输入欲排序的数据项x;在数组a中找x应所处的位置j;(2)从数组的最后一个元素开始到下标j依次往后移,使j位置空出;(3)将x放入位置j处,一个数据插入完成;(4)有若干个数重复(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 常用 算法 调试 方法
限制150内