- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
提纲 4.1 算法的概念 4.2 算法的三种基本结构 4.3 算法的描述方法 4.4 结构化程序设计方法 4.5 算法设计实例研究 4.1 算法的概念 程序设计的目的和步骤 算法的描述方式 计算机算法及其特性 4.1 算法的概念 一. 程序设计的目的 计算机科学与技术学科的根本问题是:什么能够被有效地自动化 ; 设计程序的根本目的:让计算机帮助人们自动地完成所要处理的复杂任务; 程序设计两个核心问题:“做什么”与“怎么做” ;其中需求分析解决“做什么”,程序设计解决“怎么做” 。 4.1 算法的概念 二. 程序设计两步走 对复杂问题,直接写出能解决该问题的计算机程序是困难的,为此,人们在进行程序设计时分两步走: 1)算法设计:不使用程序设计语言而使用一种较简单明了的表达方式(例如自然语言)设计出求解问题的步骤序列---算法。 2)程序编写:根据设计并描述好的算法,使用某种程序设计语言编写对应于该算法的程序 。 4.1 算法的概念 三. 算法的概念 算法:是解决问题的步骤序列(操作序列)。 4.1 算法的概念 四. 计算机算法及其特性 什么是计算机可执行的操作; 要在计算机能力集上进行算法设计; 算法必须具备的五个特性: 可执行性:算法中的每一个步骤都是计算机可执行的 ; 确定性:算法中的每一个步骤,必须是明确定义的,不得有任何歧义性 ; 有穷性:一个算法必须在执行有穷步之后结束; 有输入信息的说明; 有输出信息的步骤 。 例1 求1×2×…×9×10 ,即10! 算法思路: 10!=10 ×9!=10 ×9 ×8! =10 ×9 ×8 ×7! =….. =10 ×9 ×8×… ×2 × 1! 先计算1!、再计算2!、…以此类推,直到计算出10!。此方法称为“迭代”。 一般地,N!=N ×(N-1)! 例1 求1×2×…×9×10 ,即10! 例1 求1×2×…×9×10 ,即10! 第二种算法(改进):N!=N ×(N-1)! 利用循环结构:第一次循环用于求2!,第二次循环在第一次循环基础上求3!第i次循环在第i-1次循环基础上求i!(i为2~10)。 定义两个变量p和i,p代表阶乘结果,i代表要求的是i!; 练习:请写出本题对应的程序 练习:输入十个整数,求出最大值、最小值。 算法思路:采用迭代计算的方法 以求最大值为例,即: Max(N1)=N1 Max(N2,N1)= N1 if N2N1 = N2 if N2=N1 …. Max(Nn ,Max(Nn-1 ,…,N2,N1)) 例2 输入120个学生的学号和成绩,要求将他们之中成绩在60分以上者的学号和成绩打印出来。 输入120个学生的学号和成绩,要求将他们之中成绩在60分以上者的学号和成绩打印出来。 4.1 算法的概念 练习:请写出本题对应的程序 4.1 算法的概念 #includestdio.h main() { int no,total,count;//no:学号。total:总学生数。count:计数 float score; //成绩 printf(how many int numbers do you want to input:\n); scanf(%d,total); count=1; while(count=total){//进入循环体之前的count代表下一个要读取的是第几个学生信息 printf(input no and score(no,score):\n); scanf(%d,%f,no,score); if(score60) printf(no:%d\tscore:%f\n,no,score); count=count+1; } system(pause); } 4.1 算法的概念 例3 一个大于或等于3的正整数,判断它是否为一个素数(质数) 。 判断质数 看n能否被2到(n-1)之间的各个整数整除: n:被判断的整数;i:被除数;r:存放n/i得到的余数 提纲 4.1 算法的概念 4.2 算法的三种基本结构 4.3 算法的描述方法 4.4 结构化程序设计方法 4.5 算法设计实例研究 4.2 算法的三种基本结构 三种控制结构(Bohra和Jacopini ) 顺序结构、 选择结构、循环结构 顺序结构
文档评论(0)