网站大量收购独家精品文档,联系QQ:2885784924

计算机问题求解word版本.pptVIP

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2018年09月18日 计算机问题求解 计算机 问题求解 问题1a: 计算机究竟能干什么? 问题1b: 人究竟是如何解题的? 问题1:为什么计算机能帮我们解题? Part I 了解计算机 Beyond formal education, normal maturation or aging itself is sadly accompanied by the monotonic dimming of ones curiosity. - Bulent Atalay Amazing Machine 问题2: 你理解“抽象”的含义吗?如果从解题的角度让你“极度抽象”,你会如何想象计算机这个“黑匣子”的内部结构呢? Even More Amazing 注意:每个operation有相应的operand(1个或多个) 问题3:我们可以让计算机“间接地”执行什么操作? 你试试让计算机比较两个1-bit二进制数是否相等,只用前面提到的运算,如果需要,你可以使用辅助的bits, 注意:这里testing操作有两个不同的operands. x y eq Equality test (x,y) zero eq; flip eq;/* equality on test x flip eq; test y flip eq; If x=y eq=1 Otherwise eq=0 你能将这个操作扩展到, 比如, 32位内的整数吗? 问题4: Eq最终的值取决于什么? 增加两个操作,可间接地利用判断相等的操作 实现加法 计算两个1-bit二进制数的和 x y z1 z0 x+y add (x,y) 1. zero z0; 2. zero z1; 3. equality test(x,y); 4. test eq goto 7 5. flip z0; /*x,y不同,和为1(01) 6. exit; 7. test x flip z1; /*x,y是1,则结果是2(10) 问题5: 你能说出这新增操作的关键价值吗? goto, exit 问题6: 那么如果只允许使用原来的三个操作,你还能完成这个任务吗? 没法分支,没法分情况处理。 add (x,y) 1. zero z0; 2. flip z0; 3. zero z1; 4. equality test(x,y); 5. zero t 6. test eq flip t; 7. test t flip z0; 8. test t flip z1; …… (是否有可能让x=y=0时z1变为0) x y z1 z0 t x+y 输出置为01 (t=0), 假如x,y不等,结果正确。 若x=y, 输出置为10 (t=1),可能错 我们很容易区分两加数是否相等,但确难以判断在相等的前提下是0还是1,这体现了“语言表达能力”的差别。 多层次抽象 用一位的加法“间接操作”可以实现普通加法操作; 加法操作又可以作为一步操作用在更复杂的“间接操作”中。 实际上现在计算机内部电路能提供的操作远不只是那几个最简单的“直接”操作。 内部与外部 问题7: 区分“内部与外部”对于让计算机“什么都能干有什么意义? 问题8: 现在你能回答“计算机究竟能做什么”了吗? 也许可以这样回答: 计算机本身做不了什么,但在人的“指挥”下,计算机似乎什么都能做,因为“间接”有无限的“想象空间”。 问题9: 我们如何“指挥”? 写程序? 学会了“语言”就会写程序吗? Part II Problem-Solving in general 我们如何解题? George Polya: “How to Solve It?” Understanding the problem: “What you are given and what you are supposed to figure out” Devising a plan: “How will you attack the problem?” Carrying out the plan: Solve the problem. Looking back: check the result, and… 问题10: 计算机能帮我们做什么? 我们如何解题, 用计算机? 计算机如何理解问题? 输入是什么? 输出是什么? 如何针对计算机制定计划? 什么样的”计划”可能在计算机上实现? 什么样的形式才能让计算机知道该怎么做? 执行计划 – “计算机解题” 只有这个才真正是计算机做的! 回头看 为什么结果是正确的? 效率能提高吗? 问题11: 怎样才能让计算机帮到我们? 一个例子 – “渡河问题” 问题:人、狼、羊、菜用一条只能同时载两位的小船渡河,“狼

文档评论(0)

151****0277 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档