国王和电烤箱

转载 2004年07月29日 18:19:00
  有一次,在离这儿不远的一个王国里,国王把他的两个顾问叫来,让他们看一个闪闪发光的金属盒子。盒子顶上有两个开口,旁边有一个旋钮和一个手柄。
  “你们知道这是什么吗?”国王问。
  一个顾问——他是一名工程师——抢先回答说:“是电烤箱。”
  国王接着问道:“要为它设计一台嵌入式计算机的话,你会怎么设计呢?”
  工程师回答说:“使用4位的微处理器。我编一个简单的程序,读取火候调节旋钮的当前位置,把位置信息量化,变成从雪白到漆黑的16个焦度级别之一。程序以焦度级别为索引,从一张16行的小数据表中,读取预置的烧烤时间。然后,程序启动加热器,在计时器中设定烧烤时间,计时结束后,就关闭加热器,弹出面包片。给我一周时间,我就可以拿出这个程序的原型。”
  第二个顾问是一个计算机科学家,他马上意识到工程师的想法是缺乏远见的。他说:“电烤箱不只是用来烤面包片的,它还可以用来热鸡蛋饼。桌上摆的实际是一台早餐加工机。我们的国民有丰富的生活经验,他们需要多功能的机器,比如说,一台能烤香肠、煎培根、炒鸡蛋的早餐加工机。只能烤面包片的电烤箱不久就会过时,如果我们不为将来着想,就必须在两、三年后重新设计电烤箱了。
  “有鉴于此,我们可以这样定义我们的电烤箱。首先,创建一个名为早餐的类。然后,从这个类派生出一组子类:面食类、肉类、禽蛋类等等。面食类进一步派生出面包类、松糕类、煎饼类、蛋饼类;肉类派生出香肠类、肉串类、培根类;禽蛋类派生出炒鸡蛋类、水煮蛋类、荷包蛋类、煎蛋类以及各式各样的蛋卷类。
  “对于干酪火腿煎蛋卷类,需要特殊处理,它必须同时继承肉类、乳制品类和禽蛋类的特性。因此,没有多重继承是没办法解决这个问题的。运行时,程序必须正确地创建对象实例,然后向对象发送‘加工你自己’的消息。消息会引发何种操作要取决于对象的类型,这样,同一条消息就可以激活从烤面包片到炒鸡蛋的各种不同操作了。
  “综上所述,在分析阶段,我们将核心需求界定为加工不同种类的早餐食品。在设计阶段,我们还要进一步明确由此衍生的附加需求。比如,我们必须使用一种拥有多重继承功能的面向对象语言。另外,鸡蛋已经晾凉了,培根还没有烤好的情况是不能接受的,所以,多任务并发处理的功能也是必需的。
  “别忘了用户界面。手柄是不适于加工多种食品的,火候调节旋钮也容易让人摸不着头脑。用户只会去买那些有友好的图形界面的产品。当早餐加工机插上电以后,用户会在屏幕上看到一只发令枪。点击发令枪,一声枪响过后,屏幕上就会出现‘启动UNIX v.88.33’的字样(UNIX v.88.33版将在早餐加工机上市前发布)。用户可以打开下拉菜单,在菜单里点击他们想要加工的食品名称。
  “在前面的设计阶段,我们详细定义了软件的功能特性,接下来的事情就是要为实现阶段选择一种合适的硬件平台了。推荐的硬件配置是Pentium 4 2.6G CPU,2G内存,160G硬盘,21寸液晶显示器。在软件方面,如果你选择了一种多任务、支持多重继承、有内置GUI开发包的面向对象语言,那你编写程序时就轻松多了。——相比之下,那种先确定硬件环境,再把自己禁锢在4位微处理器上的做法是多么的愚蠢啊!”
  国王明智地砍掉了计算机科学家的脑袋。从那以后,国王和他们的国民们一直生活得很快乐。

【NOIP 2012】 国王游戏

Description 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏。首先,他让每个大臣在左、右手上面分别写下一个整数,国王自己也在左、右手上各写一个整数。然后,让这 n 位大臣排成一排,国...
  • u012274244
  • u012274244
  • 2013年09月28日 15:02
  • 6097

(蓝桥杯)历届试题 国王的烦恼 (并查集)

历届试题 国王的烦恼   时间限制:1.0s   内存限制:256.0MB      问题描述   C国由n个小岛组成,为了方便小岛之间联络,C国在小岛间建立了m座大桥,每座大桥连接两座小...
  • qiqi_skystar
  • qiqi_skystar
  • 2016年03月18日 15:08
  • 2112

noip2009初赛-国王放置

2009C-4-2(国王放置)在n*m的棋盘上放置k个国王,要求k个国王互相不攻击,有多少种不同的放置方法。假设国王放置在第(x,y)格,国王的攻击的区域是:(x-1,y-1),(x-1,y),(x-...
  • sjtu081200
  • sjtu081200
  • 2015年08月23日 17:21
  • 937

蓝桥杯--- 历届试题 国王的烦恼 (并查集)

提交网址:http://lx.lanqiao.org/problem.page?gpid=T114 问题描述   C国由n个小岛组成,为了方便小岛之间联络,C国在小岛间建立了m座大桥,每座大桥连接两...
  • u014665013
  • u014665013
  • 2015年05月05日 10:06
  • 2063

NSOJ 国王的魔镜

题目描述 国王有一个魔镜,可以把任何接触镜面的东西变成原来的两倍——只是,因为是镜子嘛,增加的那部分是反的。比如一条项链,我们用AB来表示,不同的字母表示不同颜色的珍珠。如果把B端接触镜面的话,魔镜会...
  • AYZXX
  • AYZXX
  • 2017年04月17日 20:28
  • 251

【用脚趾头解决NOIP】(2)NOIP2009~NOIP2015年普及组完善程序

指尖上的NOIP
  • xiaoyao24256
  • xiaoyao24256
  • 2016年07月31日 20:22
  • 1265

C 语 言 程 序 设 计 --国王的许诺

国际象棋盘上共有64个格子,设想在象棋盘上放麦子。在第1个格子中放1粒,第2个格子中放2粒,第3个格子中放4粒,以后每一格都比前一格增加1倍,依此放完棋盘上的64个格子。请分别采用两种累加方法(直接计...
  • lin434406218
  • lin434406218
  • 2016年09月30日 18:12
  • 2895

NOIP2012 国王游戏 题解

描述 恰逢H国国庆,国王邀请n位大臣来玩一个有奖游戏。首先,他让每个大臣在左、右手上面分别写下一个整数,国王自己也在左、右手上各写一个整数。然后,让这n位大臣排成一排,国王站在队伍的最前面。排好队后...
  • zzx2015
  • zzx2015
  • 2015年08月12日 17:45
  • 858

洛谷 P2018 消息传递

树形dp
  • chai_jing
  • chai_jing
  • 2016年11月09日 10:59
  • 363

历届试题 国王的烦恼 (并查集)

问题描述   C国由n个小岛组成,为了方便小岛之间联络,C国在小岛间建立了m座大桥,每座大桥连接两座小岛。两个小岛间可能存在多座桥连接。然而,由于海水冲刷,有一些大桥面临着不能使用的危险。 ...
  • update7
  • update7
  • 2017年02月26日 15:24
  • 18676
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:国王和电烤箱
举报原因:
原因补充:

(最多只允许输入30个字)