- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10章 程序设计基础
10.1 程序设计的概念
10.2 算法
10.3 程序设计语言
10.4 程序设计方法
10.1 程序设计的概念
程序:是解题方法和步骤的描述,是供计算机执行并能完成特定功能的指令序列。
程序的核心:数据结构和算法。
程序设计(Programming):先对问题进行分析并建立数学模型,然后考虑数据的组织方式和算法,并用某一种程序设计语言编写程序,最后调试程序,使之运行后能产生预期的结果。
程序设计的基本步骤:(1)分析问题,确定数学模型或方法。(2)设计算法,画出流程图。(3)选择编程工具,按算法编写程序。(4)调试程序,分析输出结果。
10.2 算 法
10.2.1 算法的概念计算机解决问题的方法和步骤,就是计算机解题的算法(Algorithm)。算法举例:(1) 将两个变量的值互换 。 (2)欧几里德(Euclid)算法求两个正整数m和n的最大公约数。
(3)非数值计算算法:有9枚铜币,其中有1枚略轻的是假币,用一台没有砝码的天平将假币找出来,应怎样找称 。
10.2.2 算法的特性(1) 有穷性。算法中执行的步骤总是有限次数的,不能无止境地执行下去。(2) 确定性。算法中的每一步操作必须具有确切的含义,不能有二义性。(3) 有效性。算法中的每一步操作必须是可执行的。(4) 要有数据输入。算法中操作的对象是数据,因此应提供有关数据。(5) 要有结果输出。
10.2.3 算法的评价1.算法评价标准
(1)正确性。(2)可读性。(3)通用性。(4)高效率。2. 算法效率的度量(1)时间度量(2)空间度量
10.2.4 算法的描述
1. 用传统的流程图描述算法
传统的流程图是用一些几何框图、流程线和文字说明表示各种类型的操作。一般用矩形框表示进行某种处理,有一个入口,一个出口。用菱形框表示判断,有一个入口,两个出口。在框内写上简明的文字或符号表示具体的操作,用带箭头的流向线表示操作的先后顺序。
2. 用结构化流程图描述算法(1)程序的三种基本结构:顺序结构、选择结构和循环结构。(2)结构化流程图(N-S图)
3.用伪代码描述算法
计算2+4+… +100并输出,设计算法并用Visual Basic伪代码描述如下:
0→sum
1→i
Do While i≤100
If i/2的余数为0 THEN sum+i→sum
i+1→i
Loop
Print sum
10.2.5 算法示例
1.迭代算法
迭代是一种建立在循环基础上的算法。在数学中,迭代经常被用来进行数值计算,例如求方程的解,不断用变量原来的值递推求新的值的过程。
讨论求若干个数之和或乘积的问题。
10.2.5 算法示例
1.迭代算法
迭代是一种建立在循环基础上的算法。在数学中,迭代经常被用来进行数值计算,例如求方程的解,不断用变量原来的值递推求新的值的过程。
讨论求若干个数之和或乘积的问题。
2.穷举算法
穷举法也叫枚举法,它的基本思路是对众多可能解,按某种顺序进行逐一枚举和检验,并从中找出那些符合要求的可能解,作为问题的解。穷举的计算量是相当大的,但对于计算机来说,做起来很容易。穷举算法是一种重要的算法设计策略,可以说是计算机解题的一大特点。
求方程x+2y+5z=100的整数解。
3.排序算法所谓排序,就是将一组数据元素按照某个关键字递增或递减的次序排列起来。(1)选择排序(Selection Sort)选择排序法的实现过程是:首先找出表中关键字最小的元素,将其与第一个元素进行交换,然后,再在其余元素中找出关键字最小的元素,将其与第二个元素进行交换。依次类推,直到将表中所有关键字按由小到大的顺序排列好为止。
(2)冒泡排序(Bubble Sort)
冒泡法排序法是每趟将相邻的两个数两两进行比较,若满足升序次序,则进行下一次比较,若不满足升序次序,则交换这两个数,直到最后。总的比较次数为n-1次,此时最后的元素为最大数,此为一趟排序。接着进行第二趟排序,方法同前,只是这次最后一个元素不再参与比较,比较次数为n-2次,依次类推。
4.查找算法
查找是根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素,若表中存在这样的数据元素,称此查找是成功的。若表中不存在关键字等于给定值的数据元素,称此查找是不成功的。(1)顺序查找顺序查找是最常用的查找方法,其查找过程为:从第一个元素起,逐个将给定值与数据元素的关键字进行比较,若某个元素的关键字与给定值相等,则认为查找是成功的,否则,查找失败。
(2)折半查找
作为折半查
文档评论(0)