Incana1992
计算机科学与技术这一门科学深深的吸引着我们这些同学们,原先不管是国内还是国外都喜欢把这个系分为计算机软件理论、计算机系统、计算机技术与应用。后来又合到一起,变成了现在的计算机科学与技术。我一直认为计算机科学与技术这门专业,在本科阶段是不可能切分成计算机科学和计算机技术的,因为计算机科学需要相当多的实践,而实践需要技术;每一个人(包括非计算机专业),掌握简单的计算机技术都很容易(包括原先Major们自以为得意的程序设计),但计算机专业的优势是:我们掌握许多其他专业并不"深究"的东西,例如,算法,体系结构,等等。非计算机专业的人可以很容易地做一个芯片,写一段程序,但他们做不出计算机专业能够做出来的大型系统。今天我想专门谈一谈计算机科学,并将重点放在计算理论上。1)计算机语言随着20世纪40年代第一台存储程序式通用电子计算机的研制成功,进入20世纪50年代后,计算机的发展步入了实用化的阶段。然而,在最初的应用中,人们普遍感到使用机器指令编制程序不仅效率低下,而且十分别扭,也不利于交流和软件维护,复杂程序查找错误尤其困难,因此,软件开发急需一种高级的类似于自然语言那样的程序设计语言。1952年,第一个程序设计语言Short Code出现。两年后,Fortran问世。作为一种面向科学计算的高级程序设计语言,Fortran的最大功绩在于牢固地树立了高级语言的地位,并使之成为世界通用的程序设计语言。Algol60的诞生是计算机语言的研究成为一门科学的标志。该语言的文本中提出了一整套的新概念,如变量的类型说明和作用域规则、过程的递归性及参数传递机制等。而且,它是第一个用严格的语法规则——巴科斯范式(BNF)定义语言文法的高级语言。程序设计语言的研究与发展在产生了一批成功的高级语言之后,其进一步的发展开始受到程序设计思想、方法和技术的影响,也开始受到程序理论、软件工程、人工智能等许多方面特别是实用化方面的影响。在“软件危机”的争论日渐平息的同时,一些设计准则开始为大多数人所接受,并在后续出现的各种高级语言中得到体现。例如,用于支持结构化程序设计的PASCAL语言,适合于军队各方面应用的大型通用程序设计语言ADA,支持并发程序设计的MODULA-2,支持逻辑程序设计的PROLOG语言,支持人工智能程序设计的LISP语言,支持面积对象程序变换的SMALLTALK、C等。而且,伴随着这些语言的出现和发展,产生了一大批为解决语言的编译和应用中所出现的问题而发展的理论、方法和技术。有大量的学术论文可以证明,由高级语言的发展派生的各种思想、方法、理论和技术触及到了计算机科学的大多数学科方向,但内容上仍相对集中在语言、计算模型和软件开发方法学方面。(2)计算机模型与软件开发方法20世纪80年代是计算机网络、分布式处理和多媒体大发展的时期。在各种高级程序设计语言中增加并发机构以支持分布式程序设计,在语言中通过扩展绘图子程序以支持计算机图形学程序设计成为当时程序设计语言的一种时尚。之后,在模数/数模转换等接口技术和数据库技术的支持下,通过扩展高级语言的程序库又实现了多媒体程序设计的构想。进入20世纪90年代之后,并行计算机和分布式大规模异质计算机网络的发展又将并行程序设计语言、并行编译程序、并行操作系统、并行与分布式数据库系统等试行软件的开发的关键技术依然与高级语言和计算模型密切相关,如各种并行、并发程序设计语言,进程代数,PETRI网等,它们正是软件开发方法和技术的研究中支持不同阶段软件开发的程序设计语言和支持这些软件开发方法和技术的理论基础——计算模型。(3)计算机应用用计算机来代替人进行计算,就得首先研究计算方法和相应的计算机算法,进而编制计算机程序。由于早期计算机的应用主要集中在科学计算领域,因此,数值计算方法就成为最早的应用数学分支与计算机应用建立了联系。最初的时候,由于计算机的存储器容量很小,速度也不快,为了计算一些稍稍大一点的题目,人们常常要挖空心思研究怎样节省存储单元,怎样减少不需要的操作。为此,发展了像稀疏矩阵计算理论来进行方程组的求解;发展了杂凑函数来动态地存储、访问数据;发展了虚拟程序设计思想和程序覆盖技术在内存较小的计算机上运行较大的程序;在子程序和程序包的概念提出之后,许多人开始将数学中的一些通用计算公式和计算方法写成子程序,并进一步开发成程序包,通过简洁的调用命令向用户开放。子程序的提出是今日软件重用思想的开端。在计算机应用领域,科学计算是一个长久不衰的方向。该方向主要依赖于应用数学中的数值计算的发展,而数值计算的发展也受到来自计算机系统结构的影响。早期,科学计算主要在单机上进行,经历了从小规模数值分析到中大规模数值分析的阶段。随着并行计算机和分布式并行计算机的出现,并行数值计算开始成为科学计算的热点,处理的问题也从中大规模数值分析进入到中大规模复杂问题的计算。所谓中大规模复杂问题并不是由于数据的增大而使计算变得困难,使问题变得复杂,而主要是由于计算中考虑的因素太多,特别是一些因素具有不确定性而使计算变得困难,使问题变得复杂,其结果往往是在算法的研究中精度与复杂性的矛盾难于克服。几何是数学的一个分支,它实现了人类思维方式中的数形结合。在计算机发明之后,人们自然很容易联想到了用计算机来处理图形的问题,由此产生了计算机图形学。计算机图形学是使用计算机辅助产生图形并对图形进行处理的科学。并由此推动了计算机辅助设计(CAD)、计算机辅助教学(CAI)、计算机辅助信息处理、计算机辅助测试(CAT)等方向的发展。在各种实际应用系统的开发中,有一个重要的方向值得注意,即实时系统的开发。利用计算机证明数学定理被认为是人工智能的一个方向。人工智能的另一个方向是研究一种不依赖于任何领域的通用解题程序或通用解题系统,称为GPS。特别值得一提的是在专家系统的开发中发展了一批新的技术,如知识表示方法、不精确性推理技术等,积累了经验,加深了对人工智能的认识。20世纪70年代末期,一部分学者认识到了人工智能过去研究工作基础的薄弱,开始转而重视人工智能的逻辑基础研究,试图从总结和研究人类推理思维的一般规律出发去研究机器思维,并于1980年在《Artificial Intelligence》发表了一组非单调逻辑的研究论文。他们的工作立即得到一大批计算机科学家的响应,非单调逻辑的研究很快热火朝天地开展起来,人工智能的逻辑基础成为人工智能方向发展的主流。数据库技术、多媒体技术、图形学技术等的发展产生了两个新方向,即计算可视化技术与虚拟现实技术。随着计算机网络的发展,分布在全世界的各种计算机正在以惊人的速度相互连接起来。网络上每天都在进行着大量政治、经济、军事、外交、商贸、科学研究与艺术信息的交换与交流。网络上大量信息的频繁交换,虽然缩短了地域之间的距离,然而同时也使各种上网的信息资源处在一种很难设防的状态之中。于是,计算机信息安全受到各国政府的高度重视。除了下大力气研究对付计算机病毒的软硬件技术外,由于各种工作中保密的需要,计算机密码学的研究更多地受到各国政府的重视。实际上,在计算机科学中计算机模型和计算机理论与实现技术同样重要。但现在许多学生往往只注重某些计算机操作技术,而忽略了基础理论的学习,并因为自己是“操作高手”而沾沾自喜,这不仅限制了自己将研究工作不断推向深入,而且有可能使自己在学科发展中处于被动地位。例如,在20世纪50年代和20世纪60年代,我国随着计算机研制工作和软件开发工作的发展,陆续培养了在计算机制造和维护中对计算机某一方面设备十分精通的专家,他们能准确地弄清楚磁芯存储器、磁鼓、运算器、控制器,以及整机线路中哪一部分有问题并进行修理和故障排除,能够编制出使用最少存储单元而运算速度很快的程序,对机器代码相当熟悉。但是,当容量小的磁芯存储器、磁鼓、速度慢的运算器械、控制器很快被集成电路替代时,当程序设计和软件开发广泛使用高级语言、软件开发工具和新型软件开发方法后,这批技术精湛的专家,除少量具有坚实的数学基础、在工作中已有针对性地将研究工作转向其他方向的人之外,相当一部分专家伴随着新技术的出现,在替代原有技术的发展过程中而被淘汰。因此,在计算机科学中,计算比实现计算的技术更重要。只有打下坚实的理论基础,特别是数学基础,学习计算机科学技术才能事半功倍,只有建立在高起点理论基础之上的计算机科学技术,才有巨大的潜力和发展前景。计算机理论的一个核心问题我国计算机科学系里的传统是培养做学术研究,尤其是理论研究的人(方向不见得有多大的问题,但是做得不是那么尽如人意)。而计算机的理论研究,说到底了,如网络安全学,图形图像学,视频音频处理,哪个方向都与数学有着很大的关系,虽然也许是正统数学家眼里非主流的数学。这里我还想阐明我的一个观点:我们都知道,数学是从实际生活当中抽象出来的理论,人们之所以要将实际抽象成理论,目的就在于想用抽象出来的理论去更好的指导实践,有些数学研究工作者喜欢用一些现存的理论知识去推导若干条推论,殊不知其一:问题考虑不全很可能是个错误的推论,其二:他的推论在现实生活中找不到原型,不能指导实践。严格的说,我并不是一个理想主义者,政治课上学的理论联系实际一直是指导我学习科学文化知识的航标(至少我认为搞计算机科学与技术的应当本着这个方向)。我个人的浅见是:计算机系的学生,对数学的要求固然跟数学系不同,跟物理类差别则更大。通常非数学专业的所?高等数学",无非是把数学分析中较困难的理论部分删去,强调套用公式计算而已。而对计算机系来说,数学分析里用处最大的恰恰是被删去的理论部分。记上一堆曲面积分的公式,难道就能算懂了数学?那倒不如现用现查,何必费事记呢?再不然直接用Mathematica或是Matlab好了。退一万步。华罗庚在数学上的造诣不用我去多说,但是他这光辉的一生做得我认为对我们来说,最重要的几件事情:首先是它筹建了中国科学院计算技术研究所,这是我们国家计算机科学的摇篮。在有就是他把很多的高等数学理论都交给了做工业生产的技术人员,推动了中国工业的进步。第三件就是他一生写过很多书,但是对高校师生价值更大的就是他在病期间在病床上和他的爱徒王元写了《高等数学引论》(王元与其说是他的爱徒不如说是他的同事,是中科院数学所的老一辈研究员,对歌德巴赫猜想的贡献全世界仅次于陈景润)这书在我们的图书馆里居然找得到,说实话,当时那个书上已经长了虫子,别人走到那里都会闪开,但我却格外感兴趣,上下两册看了个遍,我的最大收获并不在于理论的阐述,而是在于他的理论完全的实例化,在生活中去找模型。这也是我为什么比较喜欢具体数学的原因,正如我在上文中提到的,理论脱离了实践就失去了它存在的意义。正因为理论是从实践当中抽象出来的,所以理论的研究才能够更好的指导实践,不用于指导实践的理论可以说是毫无价值的。正如上面所论述的,计算机系的学生学习高等数学:知其然更要知其所以然。你学习的目的应该是:将抽象的理论再应用于实践,不但要掌握题目的解题方法,更要掌握解题思想,对于定理的学习:不是简单的应用,而是掌握证明过程即掌握定理的由来,训练自己的推理能力。只有这样才达到了学习这门科学的目的,同时也缩小了我们与数学系的同学之间思维上的差距。关于计算机技术的学习我想是这样的:学校开设的任何一门科学都有其滞后性,不要总认为自己掌握的某门技术就已经是天下无敌手了,虽然现在Java,VB,C,C++用的都很多,怎能保证没有被淘汰的一天,我想.NET平台的诞生和X#语言的初见端倪完全可以说明问题。换言之,在我们掌握一门新技术的同时就又有更新的技术产生,身为当代的大学生应当有紧跟科学发展的素质。举个例子,就像有些同学总说,我做网页设计就喜欢直接写html,不愿意用什么Frontpage,Dreamweaver。能用语言写网页固然很好,但有高效的手段你为什么不使呢?仅仅是为了显示自己的水平高,unique? 我看真正水平高的是能够以最快的速度接受新事物的人。高级程序设计语言的发展日新月异,今后的程序设计就像人们在说话一样,我想大家从xml中应是有所体会了。难道我们真就写个什么都要用汇编,以显示自己的水平高,真是这样倒不如直接用机器语言写算了。反过来说,想要以最快的速度接受并利用新技术关键还是在于你对计算机科学地把握程度。总的来说,从教育角度来讲,国内高校的课程安排不是很合理,强调理论,又不愿意在理论上深入教育,无力接受新技术,想避开新技术又无法避得一干二净。我觉得关键问题就是国内的高校难于突破现状,条条框框限制着怎么求发展。我们虽然认识得到国外教育的优越性,但为什么迟迟不能采取行动?哪怕是去粗取精的取那么一点点。
雯浩天使
计算机系统概论主要内容:计算机的设计思想(存储程序与程序控制)计算机的硬件组成计算机的层次结构(在不同人眼中的计算机)计算机的工作过程一,什么是计算机 计算机不同于一般的电子设备,它是由硬件,软件组成的复杂的自动化设备,是能够自动,高速,准确地对信息进行加工,处理,存储的电子设备.计算机与一般的电子设备的最大区别:不仅有硬件,同时还有软件.二,计算机的分类计算机从总体上分为:模拟计算机数字计算机 (电脑)计算机从用途上分为:专用机通用机数字计算机按性能进一步分为:巨型机,大型机,中型机,小型机,微型机,单片机.主要区别在于体积,功耗,性能指标,存储容量,指令系统,机器价格.不同数字计算机的差别三,计算机的应用科学计算自动控制测量与测试信息处理教育和卫生 家用电器人工智能四,计算机的设计思想 计算机如此神奇,那它到底是如何工作的 又是怎么构成的 世界上第一台电子数字计算机是1946年2月15日在美国宾夕法尼亚大学诞生的ENIAC.世界上第一台计算机ENIACENIAC的特点:采用十进制20 个10位的累加器用开关手动编程18,000个电子管重30 吨占地170平方米耗电140 KW5,000次/秒加法运算在今天看来,ENIAC并不完善,但它的诞生是具有里程碑意义的.冯·诺依曼型计算机在研制ENIAC的同时,以美籍匈牙利数学家冯·诺依曼为首的研制小组提出了"存储程序,程序控制"的计算机设计思想,体现该设计思想的计算机EDVAC在1951年问世.冯·诺依曼的存储程序控制概念概括起来为:计算机硬件应由运算器,控制器,存储器,输入设备和输出设备五大基本部件组成.计算机内部采用二进制来表示指令和数据.将编好的程序和原始数据事先存入存储器中,然后启动计算机工作.这一点最为重要,即存储程序控制的思想.目前绝大多数计算机仍然建立在存储程序,程序控制概念的基础上,称为冯·诺依曼型计算机.五,信息的数字化表示数字代码可以表示信息用数字代码表示数值型数据 用数字代码表示指令 用数字代码表示图像 数字信号可以表示数字代码电平的高低 :高表示1,低表示0脉冲的有无 :有表示1,无表示0——信息可以数字化表示,可以用1,0表示六,存储程序的工作方式根据求解问题事先编制程序 将程序存入计算机中 启动计算机自动执行程序 ——体现了用计算机求解问题的过程 七,计算机的硬件组成存储器运算器控制器主存储器输入设备输出设备辅助存储器CPU控制数据地址/指令主机外设1,运算器运算器的功能是执行算术运算,逻辑运算以及数据转换.通常采用二进制数进行运算,1和0可以用电压的高和低,脉冲的有和无来表示 .二进制数的运算规则简单,容易用电子线路来实现,可靠性高. 2,控制器控制器的作用是协调计算机各部件自动地进行工作.具体讲,从内存中取出解题步骤(指令),加以分析后执行某种操作.指令的作用是告诉控制器做什么操作,数从哪里来,结果到哪里去.指令由两大部分构成:指令用二进制表示,并预先存放在存储器中,称为存储程序.控制器依据存储的程序来控制计算机完成计算任务,称为程序控制.存储程序,程序控制是冯·诺依曼型计算机的重要设计思想.操作码地址码3,存储器存储器的功能是用来存放程序和数据.存储器由半导体器件构成,一个触发器表示1位二进制,16位需要16个触发器.保存一个数的所有触发器合起来称为一个存储单元 .每个单元都有编号,这个编号叫地址.存储器的所有存储单元的总数称为存储容量,一般用KB,MB,GB表示.存储容量越大,表示能记忆的信息越多.4,输入设备输入设备的任务是把编好的程序和原始数据送到计算机中去,并把它们转换成计算机能识别,能接受的信息形式 .输入设备的种类非常多,比如鼠标,键盘,扫描仪等是输入设备.5,输出设备输出设备的任务是把计算机的处理结果以人或者其它设备能接受的形式送出计算机 .输出设备的种类也非常多,比如显示器,打印机等是输出设备.CPU,主机,外设中央处理器CPU:CPU = 运算器 + 控制器计算机主机:主机 = 中央处理器 + 主存储器外部设备:主机以外的硬件装置八,计算机总线结构总线是一组能够为多个功能部件分时共享的信息传输的公共通路,是构成计算机系统的互连机构总线的特点:分时,共享单总线是总线结构中的一种,单总线并不是一根信号线,内含地址总线,数据总线,控制总线.系统总线接口接口外设外设…CPU主存储器九,计算机的软件软件分为两大类:系统软件应用软件.系统软件分为四类:服务性程序语言类程序操作系统数据库管理系统应用软件举例:工程设计程序数据处理程序自动控制程序企业管理程序情报检索程序科学计算程序等. 软件的发展机器语言汇编语言算法语言操作系统数据库管理系统汇编程序这算什么,我来翻译解释程序/编译程序这也没什么,我们来解释/翻译100101110001100101110000110……十,计算机系统的层次结构计算机不能简单地认为是一种电子设备,它是一个十分复杂的由硬件,软件结合而成的整体.在不同的观测者面前,计算机是一个不完全一样的电子设备.一般用户观察到的计算机专业用户观察到的计算机计算机设计者观察到的计算机计算机的层次结构计算机通常被认为由6个不同的级组成: 第六级应用语言级第五级高级语言级第四级汇编语言级第三级操作系统级第二级一般机器级第一级微程序级为满足某种用途而专门设计,其语言是各种面向问题的应用语言.用户看到的是能解决某些专门问题的智能机器. 高级语言级是为方便用户编写应用程序而设置的,由各种高级语言编译程序支持,面向程序员. 提供一种符号语言即汇编语言,以减少程序编写复杂性,并由汇编程序翻译成机器语言,这一级由汇编程序支持. 由操作系统实现.它要直接管理传统机器的软硬件资源,是传统机器的延伸;同时要对整个系统的任务进行调度.机器语言是该机的指令集,机器语言程序可由微程序解释,即由微程序解释机器指令系统.这一级是软硬件的分界面. 微指令编写的微程序直接由硬件执行,微程序被固化于只读存储器ROM中,常称为"固件".1,2级面向机器设计者虚拟机物理机软件和硬件的逻辑等价性硬件是计算机系统存在的基础,软件则是计算机系统运行的灵活.任何操作既可以由硬件来实现,又可以由软件实现;任何指令的执行可由软件来完成,也可以由硬件来完成.这就是软件和硬件的逻辑等价性.第一级和第二级的边界正在向第三级乃至更高级扩展.软件有固化的趋势,固化了的程序称为固件.计算机执行程序的过程将编制好的程序放在主存中,由控制器控制逐条取出指令执行.以单累加寄存器结构的运算器为例,计算a+b-c= 计算机的技术指标机器字长:能直接处理的二进制信息的位数.字长标志着精度,字长越长,精度越高.主 频:CPU的时钟频率.一般情况下,时钟频率越高,运算速度越快.总线宽度:数据总线一次能并行传输信息的位数.一般指外部数据总线的宽度. 存储容量:系统能存储的二进制字的总数,单位:KB,MB,GB,TB,PB. 运算速度:每秒能执行多少条指令,以百万条指令/每秒为单位.十一,计算机的过去和未来 世界上第一台电子数字计算机是1946年2月15日在美国宾夕法尼亚大学诞生的ENIAC.从今天的眼光来看,这台计算机功耗大又不完善,但却是科学史上一次划时代的创新,它奠定了电子计算机的基础.自从这台计算机问世以来,计算机大致经历了五个阶段的变化.计算机的过去第一代:1946年开始的电子管计算机.第二代:1958年开始的晶体管计算机.第三代:1965年开始的中小规模集成电路计算机. 第四代:1971开始大规模和超大规模集成电路计算机.第五代:1986年开始的巨大规模集成电路计算机. 从1946年计算机诞生以来,大约每五年运算速度提高10倍,可靠性提高10倍,成本降低10倍,体积缩小10倍.60年来计算机的发展过程,是在冯·诺依曼型计算机结构的基础上,紧紧围绕如何提高速度,扩大存储容量,降低成本,提高系统可靠性和使用的方便性为目的,不断采用新器件和研制新软件的过程.计算机的未来微型计算机将向更微型化,网络化,高性能,多用途的方向发展."小的更小".巨型计算机向更巨型化,超高速,并行处理,智能化的方向发展."大的更大".进入以通讯为中心的体系结构,计算机就是网络.
我是中吃货
西安工业大学操作系统课程设计报告课 目:¬¬¬¬ 银行家算法学 院: 计算机科学与工程学院指导教师: 姜虹学 生: 王丽娇班 级: 网络工程080610127完成时间:2010年12月25日操作系统课程设计报告课 目:¬¬¬¬ 银行家算法学 院: 计算机科学与工程学院指导教师: 姜虹学 生: 王丽娇班 级: 网络工程080610127目 录1、项目内容、要求与分组情况总体介绍 22、概要设计 22.1开发工具及环境 22.2 任务及需求分析 22.3 功能模块设计 22.4 工作原理 33、 具体实现 33.1 类设计 33.2 模块及实现代码介绍 34、运行调试与分析讨论 45、设计体会与小结 66、参考文献 7附录:(源程序) 71、项目内容、要求与分组情况总体介绍项目内容、要求:本次实验的目标是制作一个计算器,可以进行简单的四则运算(加、减、乘、除)。小组的具体分工情况见下表:小组组长 谌江波成员 子项目名称 具体要求谌江波 模块的组合及测试 查找出程序的错误并改正肖权 数字键的注册 将数字键注册监听者,使其功能正常刘达辉 窗口的创建和分配 设计计算器的界面李晓阳 组合其余同学的工作 是程序完整化詹烨刚 编写具体的计算方法 添加运算符号及功能代码2、概要设计2.1开发工具及环境文本编辑器:记事本;运行环境:命令提示符(DOS环境)。2.2 任务及需求分析设计简易计算器程序,实现简单的运算(加减乘除),具体任务如下:1) 计算器窗口界面布局设计;2) 各种计算功能的算法分析;3) 编程实现具体的计算功能;4) 运行测试程序,调试纠正运行错误。5) 调试无误,运行,测试具体算法功能。2.3 功能模块设计计算器的模块设计图如下:2.4 工作原理点击相应的数字键,即会在显示文档中显示该数字。进行相应的运算,首先输入第一个计算数字,然后输入运算符,再输入第二个计算数字,点击“=”按钮即得计算结果。同时,还有归零功能,点击该按钮,显示栏中即可归零。3、 具体实现3.1 类设计类名:jisuanqi作用:功能代码,窗口布局设定public class Calculator extends WindowAdapter{}¬WindowAdapter实现了WindowListener的类,实现了WindowListenerframe.addWindowListener(new WindowAdapter(){});———————————————————————————类名:WindowDestroyer作用:用于退出窗口动作关键代码:class close implements ActionListener {public void actionPerformed(ActionEvent e) {System.exit(0);}3.2 模块及实现代码介绍Frame fm = new Frame("简单计算器");for (int i = 0; i <= 16; i++) {b[i] = new Button(ss[i]);}for (int i = 0; i <= 15; i++) {p2.add(b[i]);} //创建按钮 并添加到P2b[16].setBackground(Color.yellow);txt = new TextField(15);txt.setEditable(false);for (int i = 0; i <= 16; i++) {b[i].addActionListener(new buttonlistener());…… }注:此方法主要设置窗口、面板、各个按键。对各个按键进行定义(定义好各按键该实现什么功能)、排布,将各个按键注册到监听器上。———————————————————————————txt.setText(txt.getText() + btn.getLabel());if (btn.getLabel() == "归零")txt.setText("");注:该代码使每次进入时的文本都清空———————————————————————————class close implements ActionListener {//退出public void actionPerformed(ActionEvent e) {System.exit(0);}注:该方法实现了窗口的关闭4、运行调试与分析讨论调试运行4*5运算,运算过程如下所示:1)命令提示符中运行计算器程序,如下图:2)计算器界面显示,输入第一个运算值“4”,如下图:3)输入运算符“*”,如下图:4)输入第二个运算值“5”,如下图所示:5)点击计算器按钮“=”,得出计算结果。如下图:5、设计体会与小结通过这次课程设计,我们了解到java也是可以分工合作的,虽然最后的整合过程非常麻烦,但是在整合完后,我们发现,课本被翻过很多遍,很多以前不知道的东西就这样豁然开朗了。我们还引用了很多从来没有用过的语句块,大多是从网上找到,然后自己整合进入代码,再实现我们想要的功能。编程是个艰难的过程,很多功能语句都需要上网或者是查其他书籍来查看他们的用法,课本上的东西对我们来说远远不够,我们要把目光放长远一些。这次的课程设计使我对JAVA的许多东西都有了更深一步的了解,以前对自己的要求是看得懂就行,现在才发现,光能看懂是远远不够的,能看懂并不代表你会!只有自己真的亲身体验到了,才会知道。这个礼拜的课程设计是这个学期最累的一个礼拜,但是,我们的付出总算有回报,虽然我们的计算器可能还存在不少的问题,但是,至少它可以正常运行四则运算,基本达到了我们预期的要求,所以,这个礼拜同样是我最充实的一个礼拜。6、参考文献[1]杜春涛,《面向对象程序设计—Java语言》,中国铁道出版社.[2]丁振凡,《JAVA语言实用教程》,北京邮电大学出版社.[3]附录:(源程序)import java.awt.*;import java.awt.event.*;public class jisuanqi extends WindowAdapter {Panel p1 = new Panel();Panel p2 = new Panel();Panel p3 = new Panel();TextField txt;private Button[] b = new Button[17];private String ss[] = { "7", "8", "9", "+", "4", "5", "6", "-", "1", "2", "3", "*", "归零", "0", "=", "/", "关闭" };static double a;static String s, str;//定义变量 创建对像public static void main(String args[]) {(new jisuanqi()).frame();}public void frame() {Frame fm = new Frame("简单计算器");for (int i = 0; i <= 16; i++) {b[i] = new Button(ss[i]);}for (int i = 0; i <= 15; i++) {p2.add(b[i]);} //创建按钮 并添加到P2b[16].setBackground(Color.yellow);txt = new TextField(15);txt.setEditable(false);for (int i = 0; i <= 16; i++) {b[i].addActionListener(new buttonlistener());//添加监听器}b[16].addActionListener(new close());fm.addWindowListener(this);fm.setBackground(Color.red);p1.setLayout(new BorderLayout());p1.add(txt, "North");p2.setLayout(new GridLayout(4, 4));p3.setLayout(new BorderLayout());p3.add(b[16]);fm.add(p1, "North");fm.add(p2, "Center");fm.add(p3, "South");fm.pack();fm.setVisible(true);//都是些窗中设置 添加相关组件和监听器}public void windowClosing(WindowEvent e) {System.exit(0);//退出系统}class buttonlistener implements ActionListener {//编写监听器事件 通过按键得出给果public void actionPerformed(ActionEvent e) {Button btn = (Button) e.getSource();if (btn.getLabel() == "=") {jisuan();str = String.valueOf(a);txt.setText(str);s = "";} else if (btn.getLabel() == "+") {jisuan();txt.setText("");s = "+";} else if (btn.getLabel() == "-") {jisuan();txt.setText("");s = "-";} else if (btn.getLabel() == "/") {jisuan();txt.setText("");s = "/";} else if (btn.getLabel() == "*") {jisuan();txt.setText("");s = "*";} else {txt.setText(txt.getText() + btn.getLabel());if (btn.getLabel() == "归零")txt.setText("");}}public void jisuan() {//编写具体计算方法if (s == "+")a += Double.parseDouble(txt.getText());else if (s == "-")a -= Double.parseDouble(txt.getText());else if (s == "*")a *= Double.parseDouble(txt.getText());else if (s == "/")a /= Double.parseDouble(txt.getText());elsea = Double.parseDouble(txt.getText());}}}class close implements ActionListener {//退出public void actionPerformed(ActionEvent e) {System.exit(0);}}
艾吃艾美
热心网友算机导论课程的改革与实践 被引次数:1次 郑晓曦 文献来自:五邑大学学报(自然科学版) 1995年 第03期 以期把计算机导论议程建设工作做得更好计算机导论课程的改革与实践@郑晓曦$五邑大学计算中心 ... 2. 《计算机导论》多媒体教学系统CAI的设计与开发 被引次数:1次 沈智慧 文献来自:教育信息化 2001年 第09期 设计与开发《计算机导论》多媒体教学系统CAI具有十分重要的意义。 2.《计算机导论》cAI的开发环境 2 ... 3. 计算机导论教学改革实践 余平 文献来自:科技信息 2006年 第11期 计算机导论教学改革实践$淮南联合大学计算机系@余平针对近年来在大学计算机专业中开展的计算机导论课的现状,结合自己的教学改革实践,优化教学内容和课程体系,在教学中使用启发式教学,同时培养学生的创新意识,收到良好的 ... 计算机导论;;课程体系;;启发式;;培养创新[1]王玉龙编.计算机导论[M].北京:电子工业出版社,2002 ... 4. 计算机导论课程建设与改革 楼永坚 文献来自:杭州电子工业学院学报 2004年 第05期 浙江杭州310018计算机导论;;教学改革;;教学模式阐述了《计算机导论》课程建设与改革的意义和必要性,通过对目前大多数高校该课程开课状况的分析以及作者历年授课总结、比较与研究,提出了适合本校本科教学的授课内容、教学模式和方法,课 ... 5. 计算机导论课教学实践思考 陈怀义 陆勤 文献来自:高等教育研究学报 2000年 第04期 对计算机导论这门课首先应该有一个准确的定位。“计算机导论”课的教学目的是计算机入门 ... 6. 对改进计算机导论课程的思考 吴文昭 文献来自:陇东学院学报(自然科学版) 2006年 第01期 对改进计算机导论课程的思考@吴文昭$甘肃联合大学理工学院!甘肃兰州730000本文针对目前"计算机导论"课程教学中普遍存在的偏差问题,结合教学实践的体会,提出该课程教学改进意见,以使其"名符其实",为后续专业课学习奠 ... 7. 计算机导论课的教学研究与实践 曹雁 文献来自:兵团教育学院学报 2003年 第01期 对计算机导论这门课首先应该有一个准确的定位。“计算机导论”课的教学目的是计算机入门 ... 这是至关重要的计算机导论课的教学研究与实践@曹雁$石河子大学信息工程学院!新疆石河子832003计算机导论 ... 8. 《计算机导论和算法语言》辅导教材 陈毓秀 文献来自:机械工程师 1986年 第02期 《计算机导论和算法语言》辅导教材@陈毓秀$上海交通大学<正> 电子计算机这一现代化的计算工具,近年来已在国民经济的各个领域获得广泛应用,成为人们进行计算或处理问题的得力助手。学习本门课程的目的,是着重于将计算机这 ... 9. 基于计算机导论课程浅析中美计算机科学教育模式方法 衣杨 常会友 罗艳 文献来自:现代教育技术 2007年 第07期 适合中国高校导论课程的实验教学总体目标种种情况表明,实验教学对与计算机导论课程非常重要,归纳出计算机导论实验教学总体目标如下:建设与理论课相辅相成、具有较强的实践性的实验教学课程规范和体系 ... 基于计算机导论课程浅析中美计算机科学教育模式方法@衣杨$中山大学信息科学与技术学院计算机科学系 ... 10. 关于“计算机导论”课程教学的探讨 李艳东 李明 郭淑馨 文献来自:吉林工程技术师范学院学报 2006年 第11期 一、开设“计算机导论”课程的必要性“计算机导论”是计算机科学与技术专业的学科导引课程,该课程的教学目的是为学生提供一个关于计算机科学与技术学科的入门介绍,使他们对该学科有一个整体的认识。该课程的教学对象是计算机科学与技术 ...
这里是一个很好的计算机,他可以给你导出什么论文都可以给你导出来,导读计算好的
计算机系统概论主要内容:计算机的设计思想(存储程序与程序控制)计算机的硬件组成计算机的层次结构(在不同人眼中的计算机)计算机的工作过程一,什么是计算机 计算机不
计算机毕业论文选题方向简单 一、比较好写的计算机毕业论文题目: 1、计算机专业本科毕业设计现状的分析与对策研究 2、提高毕业论文(设计)质量的教学管理方法之研究
专科还是本科
计算机毕业论文选题 众所周知,撰写 毕业论文 是本科各专业学生毕业前必须进行的一项重要工作,也是自考学生在毕业之前最