- 1、本文档共90页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大学计算机基础ch4.ppt
模块化设计案例(续) 3.分解“验证X是否能被分解为两个素数之和”模块 1) 从P=2开始 2) 判别X-P是否仍为素数 3) 若是,打印X的分解式 4) 否则,换更大的素数,转第2步继续执行 直到用于检测的素数大于X/2且X与其之差仍不是素数,则打印“哥德巴赫猜想不成立”。 P = 2 PX/2且X-P不是素数? 生成下一个素数 Y N P≥ x/2 ? Y N 打印“哥德巴赫猜想 不成立” 打印X的分解式 模块化设计案例(续) 4.分解“生成下一个素数”模块 1) 当前素数P加1 2) 判别P是否是素数 3)若不是素数,P加1,转2) 4)若是素数,模块结束 经过以上四步分解细化,“验证哥德巴赫猜想”这个任务已经分解为可以用计算机求解的数学模型了。 剩下的问题就是编写程序实现以上各步骤。 P = P + 1 是素数? P = P + 1 N Y 4. 算法(Algorithm) 做任何事情都必须事先想好做的步骤(方法),然后按步骤行动。 做同一件事情可以有不同的方法。 方法的优劣直接影响完成任务(或解决问题)的优劣和效率。 例如:有黑和蓝两个墨水瓶,但却错把黑墨水装在了蓝墨水瓶子里,把蓝墨水装在了黑墨水瓶子里,要求把它们换正确。如何完成此任务? 1-基本概念 用计算机求解问题时也需要预先设计解决问题的步骤 用计算机求解问题的方法和步骤称为算法。 算法不是惟一的,一个问题可能有许多种解决方法,不同的方法对应不同的算法。 例如:有A、B、C三个变量,要求按大小排序。方法和步骤? 计算机科学家尼克劳斯.沃斯(N.Wirth)指出: 程序 = 算法 + 数据结构 设计算法是程序设计中的一个重要步骤 算法的特征 先看一个例子:写出从1加到100之和的算法。 算法分析: 此算法有一个范围,可以通过有限步骤、在有限时间内完成。 有穷性 此算法可以用纸笔、算盘、计算器、计算机等工具来完成,且计算过程是多样的,但结果是唯一的。 确定性、可行性 此算法有多个输入(1-100),有一个输出(累加和)。 输入和输出 算法的特征(续) 有穷性:一个算法必须是在执行有穷步骤后结束,且每一步都能在有限的时间内完成。即一个算法所包含的计算步骤和时间都是有限的。 确定性:算法的每一个步骤都必须具有确切的定义,即算法中所有执行的动作,都必须有严格的规定,不能有歧义。 可行性:算法中每一个操作都必须能够精确执行。算法的执行者甚至不需要掌握算法的含义即可根据算法的每个步骤进行操作,并得出正确的结果。 输入:一个算法应该有0个或多个输入。 输出:一个算法应该有1个或多个输出。 2-算法的描述 算法有三种主要描述方法 1)自然语言描述 2)伪代码(Pseudo Code)描述 介于自然语言和计算机语言之间 “计算机语言+自然语言”的混合体 对语法没有要求,基本上可以随心所欲地写 控制结构尽可能使用计算机语言的语法 if、for、while 3)流程图(Flow chart)描述 采用图形符号来表示操作步骤 自然语言描述 例:统计一个班学生的考试成绩,并选出优秀学生。 从前面的需求分析中已知问题的定义为: 统计两门课程的成绩:大学计算机和英语 成绩按百分制(0-100) 优秀学生只取1人,取成绩之和分数最高的,并且两门成绩都要≥60分 【算法一】先统计排序,再遴选 步骤1:输入全部学生姓名、学号、英语成绩和大学计算机成绩; 步骤2:对全部学生成绩求合计; 步骤3:按合计对学生进行降序排序; 步骤4:取出学生列表中下一个学生的信息,若所有学生都处理完,则转步骤6; 步骤5:若该学生有不及格成绩,则转步骤4,否则打印学生信息; 步骤6:结束。 自然语言描述(续) 【算法二】边统计边遴选 步骤1:输入下一个学生的姓名、学号和两门课程的成绩; 步骤2:若该学生有不及格的课程,则转步骤1; 步骤3:若成绩合计大于前一学生的合计,则记录本学生的信息; 步骤4:重复以上步骤1到步骤3,直到全部学生都处理完; 步骤5:打印记录的学生信息。 自然语言描述(续) 用自然语言描述算法的优缺点 优点:通俗易懂 缺点:容易产生歧义(特别是中文) 例如:“这个人连老张也不认识” 意思之一:这个人不认识老张 意思之二:老张不认识这个人 伪代码描述 同上例:用伪代码描述其算法 【算法一】先统计排序再遴选,使用类VB语言 学生人数→N for i=1 to N 输入第i个学生的信息 next i for i=1 to N 计算第i个学生的成绩合计 next i 按合计将学生按降序排列 for i=1 to N 取出第i个学生的信息 if 两门课都及格 then exit for next i print 姓名,学号,合计
您可能关注的文档
- 东南大学信息学院-计算机结构与逻辑设计课件01(绪论).pdf
- 东南大学信息学院-计算机结构与逻辑设计课件02(逻辑代数).pdf
- 东南大学信息学院-计算机结构与逻辑设计课件03(门电路).pdf
- 东南大学信息学院-计算机结构与逻辑设计课件04(组合电路).pdf
- 东南大学信息学院-计算机结构与逻辑设计课件09(运算电路).pdf
- 东南大学信息学院-计算机结构与逻辑设计课件13.pdf
- 东南大学信息学院-计算机结构与逻辑设计课件15.pdf
- 中介代数(英文).pdf
- 中国全固体激光器的研究及其产业的发展.pdf
- 串口驱动概述.pdf
- 2025届中工国际工程股份有限公司校园招聘笔试参考题库附带答案详解.doc
- 2025届乌鲁木齐石化分公司高校毕业生春季招聘10人笔试参考题库附带答案详解.doc
- 2025届华夏金融租赁有限公司校园招聘笔试参考题库附带答案详解.doc
- 2025届物产中大金属集团有限公司校园招聘笔试参考题库附带答案详解.doc
- 2025山东济南城市发展集团春季校园招聘43人笔试参考题库附带答案详解.doc
- 2025山西临县裕民焦煤有限公司招聘15人笔试参考题库附带答案详解.doc
- 2025年01月河南洛阳龙潭大峡谷景区公开招聘20人笔试历年典型考题(历年真题考点)解题思路附带答案详解.doc
- 2025中国移动秋季校园招聘启动笔试参考题库附带答案详解.doc
- 2025年02月内蒙古自治区政府系统第二批事业单位公开招聘(赤峰市市直公开招聘23人)笔试历年典型考题(历年真题考点)解题思路附带答案详解.doc
- 2024年12月湖州长兴事业单位编外公开招聘(2)人长兴县文化和广电旅游体育局笔试历年典型考题(历年真题考点)解题思路附带答案详解.doc
文档评论(0)