计算机中的抽象问题_第1页
计算机中的抽象问题_第2页
计算机中的抽象问题_第3页
计算机中的抽象问题_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、安阳工学院信息方法论论文关于计算机中的抽象问题姓名:吕鹏学号: 201103010042院系:计算机科学与信息工程学院专业:计算机科学技术(嵌入方向)指导老师:侯贵法2011 年 12月 20日关于计算机中的抽象问题概述:随着社会对信息技术的依赖性日益增长, 如何提高处于信息技术核心的计算机软件的可靠性和正确性就成为了一个紧迫的问题。 抽象的使用是计算机科学中最为重要的概念之一。例如,为一组函数规定一个简单函数的应用程序接口 (API)就是一个很好的编程习惯,程序员无需了解它内部的工作便可以使用这些代码。不同的编程语言提供不同形式和等级的抽象支持,例如 JAVA 类的声明和 C 语言的函数模型

2、。在研究思维的问题中常有两种基本的思维形态, 即形象思维和抽象思维。形象思维是依靠形象材料的意识领会得到理解的思维。 抽象思维可以对事物的复杂性进行管理。关键词:计算机抽象思维应用一、什么是抽象迂回就是抽象,有时复杂性仅仅是为了跟人靠近而不是屈就计算机,因此这个绕的弯子还是值得的, 是一种计算机逻辑向人类逻辑的变换, 虽然最终要变回为计算机逻辑,但我们只要取 OO 的中间变换 虽然 OO 最终要变换成计算机离散逻辑,诚然,计算机的东西是死的, 用 C 的三种流程控制加基本类型就足够反映,但是人们却需要越来越抽象的语法机制,比如 C+的 OO。再到 Python,Ruby 的那些ducking

3、type 语法机制,因为抽象带来的不是复杂性,而是靠近热的简单性,这个要特别明白 及,相反的,抽象是使问题简单化而不是复杂化。比如:实际上我们做跟数据结构有关的开发,往往我们是在用的是数据结构的抽象,而不是写了数据结构的实现,还比如游戏开发时的 jpeg lib, 却只需要掌握语言本身的知识,比如 OO,这就是抽象的作用。就像 GUI 问题,如果你能换一种眼光去看,那么或许我们现在所看到 GUI 就根本不是现在的 GUI,现在 GUI 的消息机制,也许以另一种思路就能很轻松解决。二、抽象思维的定义1、与抽象思维的定义密切相关的是分析、综合、归纳、演绎的定义。分析是指思维把事物分解为各个部分分别

4、加以考察从而便于形成各个概念或便于确定概念间的关系的方法。 归纳是指思维找出多个特殊性的具体事物的共同方法。 综合是指思维把事物的各个部分用形成的各个概念分别代表, 形成原来的整体事物的概念或确定这些各个部分的概念的关系的思维过程。 演绎是指思维从事物的一般性返回到事物的具体的个别性的方法。2、抽象思维也是用事物在物理化学变化过程的特征表达事物的一种思维,抽象思维是人类的间接思维, 抽象思维是人类高级表达事物的思维,比如用质量m 代表物质,用 F 代表力等等。抽象思维还没有成为人类人性参数思维,抽象思维是人类通过后天学习后安装在大脑思维功能区里的思考方法思维。 抽象思维在思维的作用下大脑对事物

5、的物理化学变化过程中未知特征进行抽取的思考行为过程,抽象思维具有思维的共同特征, 即对被表达事物特征参数影像进行不断组合,组合的过程就是大脑对事物物理化学过程抽取特征的思考过程。3、抽象思维又称逻辑思维,是思维的一种高级形式。其特点是以抽象的概念、判断和推理作为思维的基本形式,以分析、综合、比较、抽象、概括和具体化作为思维的基本过程, 从而揭露事物的本质特征和规律性联系。抽象思维一般有经验型与理论型两种类型。是以理论为依据,运用科学的概念、原理、定律、公式等进行判断和推理。三、抽象思维方法人们运用分析综合归纳演绎方法来形成概念并确定各个概念之间的关系。 有些概念有较为精准的数量属性, 有些概念

6、有较为模抽象思维是人们在认识活动中运用概念、判断、推理等思维形式,对客观现实进行间接糊的数量属性。这样的一套通过概念与概念间的关系来考察事物和把握事物变化规律的思维方法就是抽象思维方法。四、抽象思维的辩证方法抽象思维方法本身随着人类文明的进化也在不断演化。 抽象思维的辨证方法是建立在抽象思维的形而上学方法之上的, 在运用分析综合归纳演绎方法来形成概念并确定概念与概念之间演绎的关系这些内容上, 抽象思维的辨证方法和抽象思维的形而上学方法一样: 只是面对发展和变化着的世界, 为了提高思维的精确度从而减少思维对现实的偏差, 抽象思维的辨证方法才增加了概念内涵的数量属性关系的考察。 可以说,抽象思维的

7、辨证方法是对抽象思维的形而上学方法的补充和提高。抽象思维方法在形成的初期只知道用概念代表现实事物, 只知道用不同的概念去代表不同的现实事物以及用概念和概念之间的演绎关系去代表现实事物之间的实际关系。 至于这种方法在多大程度上偏离了现实世界的实际状况则不闻不问。在抽象思维方法下形成的阶段只有当事物之间的差别足够大时或者事物的变化足够大时才能解决这个难题。 至于事物间的那些还没有足够大的差异和事物的那些还没有足够大的变化。抽象思维方法在形而上学的阶段完全无能为力,只能一概忽略不计。 另外抽象思维在计算机编程和制作软件时也是很有帮助的,一些了不起的成功软件中都蕴含着抽象思维的应用, 另外抽象思维的培

8、养也有利于我们在学习计算机的毅力和培养, 所以学习好并好好培养抽象思维对于我们是非常必要的。五、抽象的分类当代程序设计语言中基本的两类抽象为: 过程抽象和数据抽象。(一)过程抽象过程抽象的概念是程序设计语言的设计中最老的概念之一,所有的子程序都是过程抽象。 因为它们提供了一种方式, 让一个程序说明要完成的某些过程, 而不是要提供如何来完成的细节, 以使程序设计的过程逐步区域简单化。 例如:当一个程序需要将某种类型的数值数据对象数组排列时, 它通常使一个子程序来进行这种排序过程,在程序中需要进行排列的位臵。一条这样的语句:sort-int(list-lon) 被放臵于程序内, 这个调用是实际排序

9、过程的一种抽象, 这种调用独立于被调用程序中的算法实现。在至程序 sort-int 的情形,其主要属性是:将要拍租的数组名字,它的元素的类型,数组的长度以及对于sort-int的调用,将导致数组被排序的这个事实。Sort-int所实现的算法是一个用户并不重要的属性。过程抽象对于程序设计十分关键这种将子程序中算法的许多的细节抽象出来的能力, 使得人们有可能来构造、 阅读和理解大程序, 现在被认为的大程序必须至少其有好几十万代码。所有的子程序, 包括并发子程序的一场处理程序都是过程抽象(二)数据抽象数据抽象必然跟随着过程抽象的发展而发展,因为每一种数据抽象中的一个不可分割的中心部分都是操作, 而操

10、作被定义成过程抽象。 数据抽象的动机之一与过程抽象的类似, 它对复杂性的一种武器, 是使得大型以及复杂的程序比较容易管理的一种方法。 在程序设计中, 所有内臵数据类型的先驱及支持机制。一个封装可以分割编译或者是独立编译,对一组相关的计算机提供了一个抽象系统和一个逻辑组织。(三)编译原理抽象编译原理的抽象就是 : 为了迎合人类能读懂的文本源程序, 所以它先提出一套关于文法的理论, 为了这套语法就造出了正规式, 自动机,最终到语言实现本身这中间的诸多逻辑。一个简单的例子,在编译器内,抽象了位为类型,于是高级语言开发者可以直接在类型上工作, 从类型的角度出发,更专注它们要做的事,并解决它们。这将会是

11、一种什么过程呢, 编译器首先将 CPU 直接支持的简单类型即机器的类型映为语言的类型, 再造出越来越复杂的抽象类型。 所有语言做的是计算机在编程层以一种数据化来解决问题的过程。只不过这个过程会越来越抽象。六、抽象在计算机中的运用(一)抽象思维的运用主要体现在计算机程序设计中,计算机学科中的程序设计是以抽象为基础的, 程序设计首先要考虑适当的算法, 通过对问题的分析研究,归纳出一般性的规律, 然后再用程序语言描述出来。 程序设计的这个过程就是一个高度抽象的过程,在程序设计中大量地使用了想象、猜测、归纳、推理等思维方法。比如在循环结构的程序设计中往往是从1、2、3等简单情况入手,归纳出解题的途径,

12、总结抽象出规律,最后为计算机语言编程解决。(二)抽象思维在 C 语言中应用也很广泛,程序设计中的各种语句,比如if 语句、for 语句等。For 语句的圆括号中三个表达式的变量是经过定义得来的,程序在运行时是一次次进行的, 具有循环性。 其中在定义变量时, 巧妙地运用了抽象思维。比如 for(i=1;ib, 如果符合要求的话,则计算机屏幕上会显示“ 1”,否则显示“ 0”,这样就使运算结果简明化,便于阅读。在计算机中也有许多的二维定义,比如用“ DS”代表离散结构,用“ PP”代表程序设计基础,用“ HC”代表人机交互,用“ IS ”代表智能系统,将这些不易被人理解的抽象事物, 用一个或多个特定的字符表示, 从而把它们具体化了,很好的把它们理论知识当中,易于被人接收。由于软件系统的可靠性越来越多的关注, 形式化验证技术已经得到了相当程度的重视,基于抽象的应用软件验证也取得了丰硕的成

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论