基于量子框架的科学计算器的设计与实现.pdf

想预览更多内容,点击预览全文

申明敬告:

本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己完全接受本站规则且自行承担所有风险,本站不退款、不进行额外附加服务;如果您已付费下载过本站文档,您可以点击这里二次下载

文档介绍

编译原理课程设计——基于量子框架的科学计算器的设计与实现基于量子框架的科学计算器的设计与实现1编译原理课程设计——基于量子框架的科学计算器的设计与实现前言与程序相反,气泡和前头的好处在于它们绝对不会崩溃。――BertrandMeyer有过Windows平台程序开发经历人,对Win32消息机制一定不会陌生。图形用户界面的成功是非常引人注目的。对话框、按钮等流行控件已被广大用户所接受。在多年的发展中,以VisualStudio主导的图形开发模式已经非常完善。在这IDE的帮助下,图形用户界面简单又容易,用户通过向导添加控件以及处理例程,多数情况下,这种方法可以工作得很好。事件驱动的特点是,事件能在任何时间以任何顺序出现,用户必须要随时处理它们。然而,大多数界面响应不是幂等1(idempotent)。程序员通常使用一些变量来记录当前状态,以便正确处理响应。变量的过多引入将使程序变得混乱而且难以调试。一种解决办法是不使用事件驱动,改用状态驱动。量子框架便是给程序员实现状态驱动的绝佳工具。为什么要使用量子框架IanHorrocks的《状态图构建图形用户界面》一书中,作者给出一个由微软编写的简单计算器的示例程序,使用的语言是VB,采用的方法无疑是消息驱动。然而这个程序却存在许多问题。如输入1,/,-,=,2,=,程序立即崩溃(图1),又如输入2,×,CE,2,=,这时CE不会起作用。VB计算器的处理负数时经常出问题,因为‘-’既可以表示负号,也可以表示减号,微软也是采用加入一个状态变量来区分,不过实事上在处理复杂输入时,这种方法不大管用。我有个朋友为了降低难度,放弃‘-’的多义性,直接用一个按键‘+/-’来处理负号,尽管如此,他的程序还是有多种bug。图(1)图(2)考虑实现一个有多种功能的科学计算器(图2),其难度比刚才的计算器大很多倍,如果用原来的方法,不和要多少个才行,而且程序一定

最近下载