程序设计基础内部讲义.doc

  1. 1、本文档共123页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
精品文档,知识共享! PAGE 郑州大学 2012级计算机科学与技术 程序设计基础内部讲义 讲授教师:王黎明 班级: 姓名: 第一章 解决问题的一般概念 要点 日常生活问题的解决 问题的类型 计算机解决的问题 解决问题的难点 一、日常生活问题的解决 明确问题: 理解问题: 理解问题提出方的知识背景;了解自己的知识背景; 关键是必须能与客户沟通并搞清楚解决问题涉及的细节。 寻找备选方案: 尽可能全面列出可行的备选方案。 从备选方案列表中找出最好的解决方案: 制定一个评定的标准,对所有的方案进行评价。 列出所选择的解决方案的指令: 这些有限的、分步的指令必须包含在第二步所确定的知识范围内。 评价解决方案: 检查它的结果是否正确,是否令用户满意,如果结果错误或者不能令人满意,必须重新设计一个解决方案。 解决问题的这6个步骤可以适用于绝大多数情况。 大多数人可能不知道这6个步骤,但却一直在使用它们。 [例子]关于今晚做什么的问题 第一步:明确问题 如何度过一个漫长的夜晚。 第二步:理解问题。 大学生、住校、学校纪律、学习压力 第三步:寻找备选 (1)看电视 (2)玩游戏 (3)去教室学习 (4)在寝室学习 第四步:从备选方案列表中找出最好的解决方案。 去教室学习 第五步:准备一个步骤(指令)列表 (1)背书包 (2)进教室 (3)学习高数 (4)学习英语 (5)学习线代 (6)回寝室 第六步:评价这个方案。 有意义吗?快乐吗? 描述问题的格式 第一步:明确问题。 第二步:理解问题。 (1)在有助于问题理解的地方进行解释 (2)描述知识背景(包括解决问题所需要的各种知识) 第三步:寻找备选 方案 优点 缺点 (1) (2) (3) …… 第四步:从备选方案列表中找出最好的解决方案。 为什么选择这个方案? 第五步:列出所选择的解决方案的指令 (1) (2) (3) …… 第六步:评价这个方案。 这个方案有效吗?如果无效,如何进行改进? [例子]两个整数的乘法 第一步:明确问题 整数乘法。 第二步:理解问题。 只能用笔和纸,知道乘法表, 第三步:寻找备选 (1)传统算法 (2)英国算法 (3)a la russe(俄罗斯式)算法 (4)分治法 第四步:从备选方案列表中找出最好的解决方案。 传统算法。 (什么标准?) 第五步:准备一个步骤(指令)列表 从右到左取出被乘数的每一位,与乘数相乘,把中间结果写在上一个中间结果的下面,同时最低位往左偏移一位。把每一行全部加起来得到结果。 第六步:评价这个方案。 结果正确。 传统算法 英国式算法 a la russe(俄罗斯式)算法 把乘数和被乘数并排写在一起,每个操作数一列。1、将左边操作数整除2,在该操作数下面写下商; 把乘数和被乘数并排写在一起,每个操作数一列。 1、将左边操作数整除2,在该操作数下面写下商; 2、将右边操作数乘以2,在该操作数下面写下积。 3、以上一次的商和积作为操作数重复以上规则,直到左边的操作数为1为止。 4、接着把左列中商为偶数的行全部删除,最后把右列中剩下的数字加起来就得到结果。 不需要乘法表!!! 在计算机硬件中就用到了类似的算法进行乘法运算。 分治法 uv × xy = ( 102 u + v ) × ( 102 x + y ) = 104 ux + 102 (uy + vx) + vy 二、问题的类型 算法方案: 可以通过一系列的动作来解决问题的方案,叫做算法方案。 通过选定的步骤达到预期的目标,这些步骤叫做【算法】。 启发式方案: 不能通过一些直观的步骤来解决的方案叫做启发式方案。 (这类问题除了必须有相应的知识和经验外,还需要经过不断的尝试和失败才能达到最终目标。) 《韦氏大学词典(第九版)》中,算法的解释是“求解数学问题(如寻找最大公约数)的一个过程,该过程步骤有限,通常还涉及重复的操作;广义地说,算法是按部就班解决一个问题或为达到某个目标的过程。” 问题解决者在算法方案和启发式方案中都可以采取6个步骤。 在启发式方案中,第6步的正确性和恰当性标准不确定。 在启发式方案中,问题解决者通常要反复执行这6个步骤,并在做出决定前仔细评价每一种可能的方案。 同一种方案不一定在任何时候都适用,所以问题解决者在以后解决同样问题的时候必须重新进行评价和分析。 许多问题需要将这两种方案结合起来加以 解决。 三、计算机解决的问题 解决方案: 本课程中特指问题解决过程中的第5步所列出的指令序列

文档评论(0)

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

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

1亿VIP精品文档

相关文档