rapt的or软件使用.pptx

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

RAPTOR程序设计基础;循环控制;典型的循环错误;计数控制循环之一;计数控制循环之二;RAPTOR子程序的定义与调用;组合数求解;子程序;创建RAPTOR子程序;子程序定义;求阶乘的子程序;过程调用语句;过程调用语句(显示);子程序的调用;五、算法示例;在数学中,迭代经常被用来进行数值计算,累加与累乘问题是最典型、最基本的一类算法,实际应用中很多问题都可以归结为累加与累乘问题。 ;具体方法是:如左图:先给一个近似根的一个初值x1,过A点(f(x1))作切线交x轴于x2点。实际上是找出x2,再由x2找出x3,x4…,直到满足精度为10-6的根(解)。 由点斜式方程得 斜率k: ;f’(x1)=0-f(x1)/(x2-x1) x2=x1- f(x1)/ f’(x1) 得递推公式: xn+1 = xn – f (xn) / f’(xn) 本题中,我们用 f 表示f(xn),f1 表示 f’(xn) ;【思考题】小猴有桃若干,第一天吃掉一半多一个;第二天吃剩下桃子的一半多一个;以后每天都吃尚存桃子的一半多一个,到第7天要吃时只剩一个,问小猴原有桃多少? 分析:也是递推(迭代)问题。用后一天的数推出前一天的桃子数。 设第n天的桃子为xn,是前一天的桃子的二分之一减去1。 ;2.穷举算法 穷举法也叫枚举法,是对众多可能解,通过多重循环一一列举出该问题所有可能的解,并在逐一列举的过程中,检验每个可能的解是否是问题的真正解,若是,就采用这个解,否则抛弃它。穷举的计算量是相当大的,但对于计算机来说,做起来很容易。 采用穷举法解题的基本思想: (1)明确问题要求,确定枚举对象,用合适类型的变量表示枚举对象。 (2)明确枚举对象的取值范围。 (3)根据题目要求,写出有关的条件表达式。这里条件表达式可以是数学表达式、关系表达式或逻辑表达式。 (4)用循环语句枚举出可能的解,在循环体内验证各种条件表达式是否满足。 (5)根据问题背景,优化程序,以便缩小搜索范围,减少程序运行时间。;例1: 从1~10中找出所有是3倍数的数。用流程图描述解决此数学问题的算法如右图所示。 ;例2:百元买百鸡。公鸡5块钱一只,母鸡三块钱一只、小鸡一块钱三只,编程求解购鸡方案。 分析: (1) 设母鸡、公鸡、小鸡的数量各为x、y、z,列出方程为: x+y+z= 100 5x+3y+z /3= 100 三个未知数,两个方程,此题有若干个整数解。 (2) 计算机求解此类问题,采用试凑法(也称穷举法)来实现,即将可能出现的各种情况一一罗列测试,判断是否满足条件,采用循环结构来实现。 1123;3.排序算法 排序(Sort),就是将一组数据元素按照某个关键字递增或递减的次序排列起来。;选择法排序;冒泡法排序: 从第一个开始,对数组中两两相邻的元素比较,值较小的放在前面,值较大的放在后面,一轮比较完毕,一个最大的数沉底成为数组中的最后一个元素,一些较小的数如同气泡一样上浮一个位置。 n个数,经过n-1轮比较后完成排序。;4.递归算法:   程序调用自身的编程技巧称为递归(recursion)。   一个过程或函数在其定义或说明中又直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。    注意:    (1) 递归就是在过程或函数里调用自身;    (2) 在使用递增归策略时,必须有一个明确的递归结束条件,称为递归出口。 ;递归的原理,其实就是使用栈(stack). 栈是限定在一端进行插入和删除的线性表。栈是按照“先进后出”或者“后进先出”的原则组织数据的。 ;例1:递归法求N! 【解题】递归过程在自身定义的内部调用自己,fac(n)=n! 的递归函数:;Function fac(n As Integer) As Long If n = 1 Then fac = 1 Else fac = n * fac(n - 1) End If End Function;例2:汉诺塔问题源于印度一个古老传说。 大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。 大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定:在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。 不论白天黑夜,总有一个僧侣在按照上面的法则移动这些金片。僧侣们预言,当所有的金片都从梵天穿好的那根柱上移到另外一根柱上时,世界就将在一声霹雳中消灭,而梵塔、庙宇和众生也都将同归于尽。 如果考虑一下把64片金片,

文档评论(0)

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

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

1亿VIP精品文档

相关文档