1、http:/ 概 述1.11.21.31.41.5计算机简史计算科学基础计算机应用领域计算机发展趋势思考题http:/ 计算机简史1.1.1 人类处理信息方式的历史变迁1.1.2 计算机的发展历程http:/ 人类处理信息方式的历史变迁(1) 电 子 计 算 机 (Electronic Computer) , 简 称 为 电 脑(Computer),诞生于20世纪40年代,它是人们采集、识别、转换、处理信息的工具。 人类社会最早使用手指、结绳、算筹等作为工具进行计算。 随着生产的发展和交流的增加,又发明了更先进的计算工具 算盘。 钟表业的产生和发展,特别是齿轮传动装置技术的发展为机械传动装置计
2、算机的产生提供了重要的技术基础。http:/ 法国人巴斯卡尔(B.Pascal) 于1642年基于齿轮技术制造了一台能够进行加法和减法运算的计算器。为了纪念巴斯卡尔,语言大师沃斯(N.Wirth)把他设计的一种高级程序设计语言取名为Pascal。 1672年,德国人莱布尼兹(G.W.Leibniz)提出了不用连续相加进行机械乘法的思想。 提出用程序控制计算思想的第一人是英国数学家巴贝奇(C.Babbage)。 19世纪的英国,产生了一位杰出的数学家布尔(G.Bool)。布尔代数实现了从一组逻辑公理出发,依靠代数演算来推导逻辑定律或定理。1.1.1人类处理信息方式的历史变迁(3)诺 20世纪30
3、年代,英国数学家图灵发表了关于可计算数的论文,通过引入机器状态使用了本质上具有指令特点的运算操作,这种机器被称为“图灵机”。 在图灵1935年写出关于可计算数的论文之后不到十年,世界上第一台通用程序控制计算机就诞生了。 第二次世界大战的需求,使美国宾夕法尼亚大学莫尔电工学院的莫克莱(J.W.Mauchly)等人在1946年2月设计制造出了ENIAC(电子数字积分计算机)。 EDVAC方案的主要内容是确定了计算机由运算器、控制器、存储器、输入、输出等5部分组成。1952年,冯 依曼等人完成了EDVAC机的建造工作。http:/ 1948年发明的晶体管改变了计算机的建造方式。采用晶体管研制第二代电
4、子计算机的工作就在美国的一些著名实验室进行了。 1958年,当第二代计算机还处于刚刚准备批量生产的时候,美国得克萨斯州仪器公司制成了第一块半导体集成电路。三年后,得克萨斯州仪器公司在军方的支持下,研制成功了第一台试验性的集成电路计算机。 1967年,由于大量的编程语言得到应用,IBM公司决定该公司的计算机系统成为“非捆绑式”。即以前,用户需要购买计算机及其系统上运行的各种语言的翻译程序,而现在可只购买需要的翻译程序。由此形成了语言翻译程序的竞争,开创了软件产业。http:/ 60年代后期,出现高级语言的发展、出现了进程的概念和分时操作系统。 70年代初,半导体集成电路技术取得了飞速进步。体积不
5、断地缩小,价格逐年下降,采用大规模集成电路的计算机系统,电子计算机的发展进入了第四代。 从80年代起,网络计算机系统的出现,支持了分布式信息处理。在计算机网络上进行信息处理的计算活动被称作分布式计算。 目前,支持高性能计算的计算机体系结构技术、并行与分布式算法、计算机网络与通信等成为发展方向。http:/ 计算机的发展历程http:/ 计算机科学1.2.1 什么是计算科学1.2.2 计算机与计算科学1.2.3 计算科学的学科体系http:/ 一般说来,计算科学是描述和变换信息的算法过程,包括其理论分析、设计,效率分析、实现和应用系统的研究。 综观计算科学的基本问题就是:什么能(有效地)自动进行
6、,什么不能(有效地)自动进行。 长期以来,国内外计算机科学界一直对计算机科学与技术究竟属于科学还是属于工程的范畴这一问题存在着争议。 学术团体有 ACM、IEEE/CS、 IFIP,AAAI、国际人工智能联合会议(ICAI),中国计算机学会等。http:/ 计算机与计算科学 当第一台电子数字计算机诞生后,人们就想把各种各样的事情都让计算机来完成,这样就使计算机的应用日益扩展。 任何学科都有其基本的研究范畴和支持整个学科赖以发展的核心内容,计算科学也一样,支持计算科学向各个学科渗透、应用和发展的正是一些最基本的共性理论、方法和技术。 人们将计算机在各行各业的具体应用与研究计算机应用与具体领域的共
7、性理论、方法和技术的研究区分开来。前者叫计算机具体应用,后者称为计算机应用或计算机基本应用技术,属于计算科学范畴。http:/ 计算科学的学科体系(1)CC2001将计算学科的主要内容分为14个主领域:离散结构:主要内容包括:集合论、数理逻辑、近似代数、图论和组合数学等。程序设计基础:主要内容包括:程序设计结构、算法、问题求解和数据结构等。算法与复杂性:主要内容包括:算法的复杂度分析、典型的算法策略、分布式算法、并行算法、可计算理论、P类和NP类问题、自动机理论、密码算法以及几何算法等。http:/ 计算科学的学科体系(2)4.体系结构:主要内容包括:数字逻辑、数据的机器表示、汇编级机器组织、
8、存储技术、接口和通信、多道处理和预备体系结构、性能优化、网络和分布式系统的体系结构等。5.操作系统:主要内容包括:操作系统的逻辑结构、并发处理、资源分配与调度、存储管理、设备管理、文件系统等。6.网络计算:主要内容包括:计算机网络的体系结构、网络安全、网络管理、无线和移动计算以及多媒体数据技术等。http:/ 计算科学的学科体系(3)7.程序设计语言:主要内容包括:程序设计模式、虚拟机、类型系统、执行控制模型、语言翻译系统、程序设计语言的语义学、基于语言的并行构件等。8.人 机交互:主要内容包括:以人为中心的软件开发和评价、图形用户接口设计、多媒体系统的人机接口等。9.图形学和可视化计算:主要
9、内容包括:计算机图形学、可视化、虚拟现实、计算机视觉等。http:/ 计算科学的学科体系(4)10.智能系统:主要内容包括:约束可满足性问题、知识表示和推理、Agent、自然语言处理、机器学习和神经网络、人工智能规划系统和机器人学等。11.信息管理:主要内容包括:信息模型与信息系统数据库系统、数据建模、关系数据库、数据库查询语言、关系数据库设计、事物处理、分布式数据库、数据挖掘、信息存储与检索、超文本和超媒体、多媒体信息与多媒体系统、数字图书馆等。12.软件工程:主要内容包括:软件过程、软件需求与规格说明、软件设计、软件验证、软件演化、软件项目管理、软件开发工具与环境、基于构件的计算、形式化方
10、法、软件可靠性、专用系统开发等。http:/ 计算科学的学科体系(5)13.社会和职业的问题:主要内容包括:计算的历史、计算的社会背景、分析方法和工具、专业和道德责任、基于计算机系统的风险与责任、知识产权、隐私与公民的自由、计算机犯罪、与计算有关的经济问题、哲学框架等。14.科学计算:主要内容包括:数值分析、运筹学、模拟和仿真、高性能计算。http:/ 计算机应用领域1.3.1 计算机的分类1.3.2 计算机应用1.3.3 信息高速公路社会的信息化http:/ 计算机的分类1. 巨型机:超级计算机,“银河-”百亿次计算机和“曙光”千亿次计算机 。2. 大型机:运算速度和存储容量仅次于巨型机。3
11、. 小型机:规模较小,它结构较简单、操作简便、维护容易、成本较低 。4. 微型机:个人计算机或微机 。5. 工作站:实际上是一台高档微机,它是配有大容量主存,具有高速运算能力。http:/ 计算机应用(1)科学计算:解决科学技术和工程设计中存在的大量的数学计算问题。例如,求解上千阶的微分方程组、几百个方程的线性方程组、大型矩阵运算等.数据处理 :数据处理泛指任何形式的计算机管理和操纵数据的过程,例如,企业管理、库存管理、帐目计算、信息情报检索等。实时控制 :计算机的速度不断提高,计算机的指令周期已降到几ns级,使得许多生产过程的实时控制成为可能。例如,化工生产过程中的压力、流量、温度等参数的控
12、制 。http:/ 计算机应用(2)4. 计算机辅助设计和制造:CAD/CAM系统已发展成为更高级的计算机集成制造系统(CIMS)。5. 人工智能:是探索和模拟人的感觉和思维过程的科学,它是在控制论、计算机科学、仿生学、生理学等基础上发展起来的新兴边缘学科。6. 通信和文字处理:包括文字信息的产生、修改、编辑、复制、保存、检索、传输等,通信和文字处理是实现办公自动化、电子邮件、计算机会议和计算机出版等新技术的必由之路。7.多媒体技术:图形、声音、静态图像、动画、动态图像等多媒体技术。http:/ 计算机应用(3)8. 网络技术与信息高速公路 :把分布在不同地域的独立的计算机系统用通信设施连接起
13、来,以实现数据通信和资源共享。网络从地域范围大小上分为局域网和广域网。9. 教育:包括计算机辅助教学、知识信息系统、自然语言处理等。计算机辅助教学生动、形象、易于理解,是提高教学质量的重要手段之一。10.军事:包括军队自动化指挥系统、计算机作战模拟、军事信息处理武器的自动控制、精确制导武器、军用机器人、数字化部队、后勤保障等。1.3.3 信息高速公路社会的信息化 (高性能技术)1991年,美国政府提出了为期五年的高性能计算与通信计划。高性能计算与通信包括:高性能计算机系统,先进的软件技术和算法,国家研究与教育网络,基础研究与人才资源。高性能计算机和高速通信网络的出现,使得人们意识到地域之间的距
14、离正在缩短,地球正变得越来越小,许多人开始把我们生活的地球称为“地球村”。以计算机软硬件技术、光纤通讯技术和网络互联技术为基础的“信息高速公路” 开启了全球信息社会的建设步伐。http:/ 信息高速公路社会的信息化 (IPv6)IPv6是下一版本的互联网协议,它的提出最初是因为随着互联网的迅速发展,IPv4定义的有限地址空间将被耗尽。IPv4采用32位地址长度,只有大约43亿个地址,而IPv6采用128位地址长度,几乎可以不受限制地提供地址。按保守方法估算IPv6实际可分配的地址,整个地球每平方米面积上可分配1000多个地址。IPv6的主要优势体现在以下几方面:扩大地址空间、提高网络的整体吞吐
15、量、改善服务质量(QoS)、安全性有更好的保证、支持即插即用和移动性、更好实现多播功能。http:/ 计算机发展趋势1.4.11.4.21.4.31.4.41.4.5微型化巨型化网络化智能化新型计算机http:/ 运算速度等。1.4.2微型化一方面,随着计算机的应用日益广泛,在一些特定场合,需要很小的计算机(如航天飞机,由于燃料的关系,设计原则是为了减少每一克而奋斗),所以计算机的重量、体积都变得越来越小,但功能并不减少。另一方面,随着计算机在世界上日益普及,个人电脑正逐步由办公设备变为电子消费品。人们要求电脑除了要保留原有的性能之外,还要有时尚的外观、轻便小巧、便于操作等特点,如平板电脑、手
16、持电脑等。今后个人电脑在电脑中所占的比重将会越来越大,使用也将会越来越方便。http:/ 新型计算机目前新一代计算机正处在设想和研制阶段。新一代计算机是把信息采集、存储处理、通信和人工智能结合在一起的计算机系统。新一代计算机将由以处理数据信息为主,转向以处理知识信息为主,如获取知识、表达知识、存储知识及应用知识等,并有推理、联想和学习等人工智能方面的能力(如理解能力、适应能力、思维能力等),能帮助人类开拓未知的领域和获取新的知识。http:/ 考 题(1) 为什么世界上第一台计算机是在1946年2月诞生的?(2) 人们为什么要以物理器件的变革作为划分计算机时代的标志?(3) 计算科学与数学之间
17、是一种什么样的关系?(4) 简述计算科学的学科体系包含哪14个主领域?(5) 请举出你所知道的5个计算机应用的例子,要求不是同一类型的。(6) 为什么要建设信息高速公路?(7) 简述你认为的计算机的未来发展趋势,并就此进行分析。http:/ 信息表示与运算(时间:3次课,6学时)http:/ 信息表示与运算2.12.22.32.42.52.6数制数值数据的编码与表示信息的编码与表示运算复杂信息的表示数据结构思考题http:/ 数制2.1.1 进位记数制2.1.2 进位记数制之间的转换http:/ 数制在计算机中,我们常常遇到以下几种数据单位: (1)位(bit)记为b,也叫比特,是计算机的最小
18、单位,是用0或1表示的一个二进制数值。 (2) 字节(Byte)记为B,是计算机基本的存储单位。一个字节由8个二进制位构成。它能表示从00000000到11111111的256种不同的状态。 (3) 字(Word),一个字由一个或多个字节构成,不同计算机的字长是不同的。http:/ 数制1KB=210B=1024B1MB=220B=1024KB1GB=230B=1024MB1TB=240B=1024GBhttp:/ 进位记数制(十进制)1. 十进制:主要特点是:它有10个不同的数码(或称数字符号):0、1、2、3、4、5、6、7、8、9。其基数为“10”,所以这种计数制称为十进制。按“逢十进一
19、”的规则计数。666.66=6l02+6l01+6l00+6l0-1+6l0-2http:/ 进位记数制(二进制)2. 二进制主要特点是:它有两个不同的数码,即“0”和“1”。其基数为“2”,所以这种计数制称为二进制。按“逢二进一”的规则计数。如对十进制数来说,1+1=2,而对二进制,则1+1=(10)2。同一个数,在该数不同位置的数码代表不同的数值。如有一个二进制数(1111.11)2,把它转化成十进制数时,可写成:(1111.11)2=123+122+121+120+12-1+12-2=(15.75)10http:/ 进位记数制(八进制)3. 八进制主要特点是:它有8个不同的数码:0、1、
20、2、3、4、5、6、7。其基数是8,所以称为八进制。按“逢八进一”的规则计数。不同的数位、数码所表示的值是不同的。如,八进制数(474)8,化成十进制数为:(474)8=482+781+480=256+56+4=(316)10http:/ 进位记数制(十六进制)4. 十六进制主要特点是:它有16个不同的数码:0、1、2、 、9、A、B、C、D、E、F,其中010=016、110=116、210=216、 、910=916、1010=A16、1l10=Bl6、1210=Cl6、1310=Dl6、1410=El6、1510=Fl6。其基数为16,所以这种计数制称为十六进制。按“逢十六进一”的规则计
21、数。不同的数位、数码表示的值是不同的。如,十六进制数(9B4.4)16化成十进制数为:(9B4.4)16=9162+11161+4160+416-1=(2484.25)10http:/ 进位记数制之间的转换(1)1. 十进制数与二进制数之间的转换(1) 十进制整数转换为二进制整数方法:把被转换的十进制整数反复地除以2,直到商为0,所得的余数(从末位读起)就是这个数的二进制表示。简单地说,就是“除2取余法”。2.1.2 进位记数制之间的转换(2)2222222111055271363110111011低位高位2220(221)10=(11011101)2http:/ 进位记数制之间的转换(3)1
22、. 十进制数与二进制数之间的转换(2) 十进制小数转换成二进制小数方法:十进制小数转换成二进制小数是将十进制小数连续乘以2,选取进位整数,直到满足精度要求为止,简称“乘2取整法”。2.1.2 进位记数制之间的转换(4)0.687521.37500.375020.750021.50000.50002整数1所以,(0.6875)10=(0.1011)2http:/ 进位记数制之间的转换(5)1. 十进制数与二进制数之间的转换(3) 二进制数转换成十进制数方法:将二进制数按权展开求和。2.1.2 进位记数制之间的转换(6)(10010110.011)2=128+16+4+2+0.25+0.125=(
23、150.375)10http:/ 128代表十进制数 0代表十进制数 0代表十进制数 16代表十进制数 0代表十进制数 4代表十进制数 2代表十进制数 0代表十进制数 0代表十进制数 0.25代表十进制数 0.125http:/ 进位记数制之间的转换(7)2. 进制数与十六进制数之间的转换(1) 二进制数转换成十六进制数方法:将二进制数从小数点开始,整数部分从右向左4位一组;小数部分从左向右4位一组,不足4位用0补足,按组进行转换即可。http:/ 进位记数制之间的转换(8)(1111011011.100101011)2=(3DB.958)16001131101D1011B1001901015
24、10008.http:/ 进位记数制之间的转换(9)2. 进制数与十六进制数之间的转换(2) 十六进制数转换成二进制数方法:以小数点为界,向左或向右,每一位十六进制数用相应的4 位二进制数取代,然后将其连在一起即可。http:/ 进位记数制之间的转换(10)(3AB.11)16=(001110101011.00010001)23001110001A1010B101110001.http:/ 进位记数制之间的转换(11)3.二进制数与八进制数之间的转换(1) 二进制数转换成八进制数由于数8与数2之间的关系为81=23。因此,1位八进制数相当于3位二进制数,它们之间的关系是对应的。其转换方法是:将
25、二进制数从小数点开始,整数部分从右向左3位一组,小数部分从左向右3位一组,小数点左边不足3位的,应在其左边加0;小数点右边不足3位的,应在其右边加0,以凑成3位一组。每组用相应的一位八进制数表示即可。例如,(10100101.01011101)2=(245.272)8http:/ 进位记数制之间的转换(12)3. 二进制数与八进制数之间的转换(2) 八进制数转换成二进制数方法:以小数点为界,向左或向右,每一位八进制数用相应的3位二进制数取代,然后将其连在一起即可。例如,将八进制数(175.206)8转换为二进制数。所以,(175.206)8=(1111101.01000011)2http:/
26、数值数据的编码与表示2.2.1 带符号数的表示2.2.2 计算机中数的表示真值机器数+001010000010100-001010010010100http:/ 带符号数的表示(正负)通常的做法是约定一个数的最高位为符号位,若该位为0,则表示正数;若该位为1,则表示负数。十进制二进制真值原码87101011101010111-87-101011111010111127111111101111111-127-1111111111111110000000000000000-0-000000010000000http:/ 带符号数的表示(原码)1. 原码:用最高位表示符号位,符号位为0,则表示正数;
27、符号位为1,则表示负数。十进制二进制真值 原码补码86+10101100101011001010110-86-10101101101011010101010127+11111110111111101111111-127-1111111111111111000000115+00011110000111100001111-15-00011111000111111110001http:/ 带符号数的表示(补码)2. 补码:补码规则为:正数的补码和其原码形式相同,负数的补码是将它的原码除符号位以外逐位取反(即0变为1,1变为0),最后在末位加1。二进制真值 原码反码+10101110101011101
28、010111-10101111101011110101000http:/ 带符号数的表示(反码)3. 反码:原码变反码规则为:正数的反码和其原码形式相同,负数的反码是将符号位除外,其他各位逐位取反。http:/ 计算机中数的表示(定点整数)1. 数的定点表示(1)定点整数将小数点固定在数的最低位之后。定点整数存储格式如下图2.6所示。dn-1S符号位dn-2数值部分d0小数点位置http:/ 计算机中数的表示(定点整数)1. 数的定点表示(1)定点小数将小数点固定在符号位之后,最高数值位之前。定点纯小数存储格式如图2.7所示。Sdn-1dn-2d0数值部分小数点位置符号位http:/ 计算机中
29、数的表示(浮点)2. 数的浮点表示计算机中还使用浮点表示格式(即小数点位置不固定,是浮动的)。浮点数分成阶码和尾数两部分。浮点数存储格式如图2.8所示。阶符尾数尾数小数点位置JEm-1Em-2E0Sdn-1dn-2d0阶码小数点位置阶码http:/ 信息的编码与表示2.3.1 十进制数的编码与表示2.3.2 西文信息的编码与表示2.3.3 中文信息的编码与表示http:/ 十进制数的编码与表示(1) 压缩BCD码压缩BCD码的每一位用4位二进制数表示,一个字节表示两位十进制数。例如,10010110B表示十进制数96D。(2) 非压缩BCD码非压缩BCD码用1个字节表示一位十进制数,高4位总是
30、0000,低4位的0000 1001表示09。例如,00001000B表示十进制数8D。十进制数8421码十进制数8421码000001000010000100011100010001200101200010010300111300010011401001400010100501011500010101601101600010110701111700010111810001800011000910011900011001http:/ 十进制数的编码与表示http:/ 西文信息的编码与表示 字符编码(Character Code)就是用二进制编码来表示字母、数字以及专门的符号。 在计算机系统中有
31、两种重要的字符编码方式:ASCII和EBCDIC。EBCDIC(扩展的二 十进制交换码)是西文字符的一种编码。采用8位二进制表示,共有256种不同的编码,可表示256个字符。 目前计算机中普遍采用的是ASCII(American StandardCode for Information Interchange)码,即美国信息交换标准代码。http:/ 中文信息的编码与表示(1)汉字也是字符,是中文的基本组成单位。由于汉字数量大(目前汉字的总数已超过6万个)、字形复杂、异体字多、同音字多,汉字信息的处理相对较复杂,汉字信息的处理一般包括汉字的编码、输入、输出、存储、处理与传输。http:/ 中文
32、信息的编码与表示(2)1.2.3.4.5.汉字字符集与编码:1981年我国颁布了信息交换用汉字编码字符集 基本集(GB2312-80) 。汉字的输入:(1)数字编码、(2)拼音编码、(3)字形编码汉字的机内码:是指计算机系统内部为存储、处理和传输汉字而使用的代码,简称内码,是汉字在设备或信息处理系统内部最基本的表达形式。汉字的输出:如要显示或打印出来,必须把汉字的机内码转换成人们可以阅读的方块字形式。汉字信息处理的工作过程是我国继GB2312-1980和GB13000-1993之后最重要的汉字编码标准,是未来我国计算机系统必须遵循的基础性标准之一。该标准规定了信息交换用的基本图形字符及其二进制
33、编码的十六进制表示,适用于图形字符信息的处理、交换、存储、传输、显示、输入与输出http:/ 中文信息的编码与表示(3)GB18030:GB18030是国家标准局新近颁布的最重要的汉字编码标准。全称为:国家标准GB18030-2000信息交换用汉字编码字符集基本集的扩充位,目前已编码的字符约2.6万,其字库是很庞大标准采用单字节、双字节和四字节三种方式对字符进行编码2。国家标准局还制定了针对产品的GB18030标准符合性检测规范。GB18030考虑了与GB2312和GB13000的兼容性问题,较好地解决了旧系统向新系统的改造问题。标准起草组编制了GB18030与GB13000.1的代码映射表,
34、使得两个编码体系可以相互转换。同时还开发了GB18030基本点阵字型库,简称GB18030字库。GB18030的编码空间约为160万码http:/ 中文信息的编码与表示(4)GB18030:http:/ 运 算2.4.12.4.22.4.32.4.4二进制的四则运算补码加减运算BCD码运算逻辑运算http:/ 二进制的四则运算1. 加法二进制数加法的特点是“逢二进一”,与十进制数的“逢十进一” 类似。加法规则是:0+0=0;0+1=1+0=1;1+1=10(逢二进一)。2. 减法二进制数减法的特点是“借一当二”,与十进制数的“借一当十”类似。减法规则是:0-0=0;1-0=1;1-1=0;10
35、-1=1(借一当二)。http:/ 二进制的四则运算3. 乘法二进制数乘法的规则是:00=0;10=01=0;11=1。如图2.10所示。1 1.1 0 11011 1.1 0 10 0 0.0 01 1 1 0.11 0 0 1 0.0 0 11+http:/ 二进制的四则运算4. 除法二进制数的除法规则与十进制数类似。如图2.11所示。101商被除数余数1 0.1 0 11 1 0 1.0 0 1- 1 0 1011- 0 0 0110- 1 0 1010- 0 0 0101- 1 0 10除数http:/ 补码加减运算补码的加减运算可按下列公式进行:2.4.3 BCD码运算若两个8421
36、码数相加之和等于或小于1001,即10进制的9,不需要修正;若相加之和在10到15之间,一方面向高位产生一位进位,本位还要进行加6修正,进位是在进行加6修正时产生的;若相加之和在16到18之间时,向高位的进位会在相加过程中给出,对本位也需要进行加6修正。例如,1+8=9的运算结果是正确的。而4+9的结果就必须用+6修正,进位是在修正过程中产生的。同理,9+7的结果也必须用+6修正,进位是在相加过程中产生的。http:/ 逻辑运算基本的逻辑运算有“与”、“或”、“非”3种。逻辑变量有两个值:“假”与“真”,在计算机内部表示为两种状态:0和1。1001+011110000进位+011010110(
37、9)10+(7)10 = 1(6)10进位ABC=AB000010100111http:/ 逻辑运算(与)1. 与运算“与”(AND)运算产生两个逻辑变量的逻辑积。仅当两个参加“与”运算的逻辑变量都为“1”时,逻辑积才为“1”;否则为“0”。符号“”表示“与”运算。ABC=AB000011101111http:/ 逻辑运算(或)2. 或运算“或”(OR)运算产生两个逻辑变量的逻辑和。仅当两个参加“或”运算的逻辑变量都为“0”时,其逻辑和才为“0”;否则为“1”。符号“”表示“或”运算。AC=A0110http:/ 逻辑运算(非)3. 非运算“非”(NOT)运算是对单一的逻辑变量进行求反运算,当
38、逻辑变量为1(0)时,“非”运算的结果是0(1),其真值表如表2.10所示。符号“”表示“非”运算。ABC=AB000011101110http:/ 逻辑运算(异或)4. 异或运算“异或”(XOR)运算,执行两个逻辑变量之间“不相等”的逻辑测试。如果两个逻辑变量相等,“异或”运算结果为0;否则为1。符号“”表示“异或”运算。http:/ 复杂信息的表示数据结构2.5.1 数据结构的概念2.5.2 常用数据结构2.5.3 数据结构的应用http:/ 数据结构的概念数据的逻辑结构:B=(K,R)数据的存储结构:是指逻辑结构在计算机存储器中的实现。数据的运算:是指在数据的逻辑结构上定义的操作算法。如
39、:检索,插入,删除,更新和排序等。http:/ 常用数据结构线性结构 :有且仅有一个终端结点和一个开始结点,并且所有结点都最多只有一个前驱结点和一个后续结点。如:线性表就是一个典型的线性结构。非线性结构 :可能有多个终端结点和多个开始结点,并且每个结点可能有多个前驱结点和多个后续结点。如:树形结构,树形结构就是典型的非线性结构。登录号书名作者类别其他001高等数学 樊映川S01002理论力学 罗远祥L01003高等数学 华罗庚S01004线性代数 栾汝书S02http:/ 数据结构的应用(1)1. 图书馆的书目检索系统自动化问题http:/ 数据结构的应用(2)2. 人机对弈问题OXXOOXO
40、XOOOXXXXXXXXOXOXOXOXO X(b)对弈树的局部http:/ 数据结构的应用(3)3. 哥尼斯堡七桥问题2.6思 考 题(1) 为什么计算机内部要采用二进制计数制?(2) 在计算机中,常被用到的数据单位有哪些?(3) 在计算机中,有哪几种进制表示法?它们之间是如何进行转换的?(4) 在计算机中,带符号的数如何表示?(5) 简述原码、补码和反码的区别。计算机中广泛采用的是哪一种?(6) 简述定点整数和浮点小数的存储格式。(7) 请指出二进制数的加法、减法、乘法和除法的规则。(8) 请指出补码运算公式和注意事项。(9) 在计算机中,主要有哪几种逻辑运算?请指出它们的运算规则。(10
41、)什么是数据结构?(11)简述数据结构中线性结构和非线性结构的区别。http:/ 计算机基本工作原理(时间:2次课,4学时)http:/ 计算机基本工作原理3.13.23.33.4计算的概念冯 诺依曼结构超越冯 诺依曼结构思考题http:/ 计算的概念3.1.1 狭义的计算3.1.2 广义的计算3.1.3 计算机的计算模型http:/ 狭义的计算 计算作为数学的研究对象已有几千年了。计算本身不等于数学,但数学确实是起源于对计算的研究。 狭义的计算(传统的计算的概念),是指数的计算,即通过掌握的数学知识对数进行的一些运算,如加、减、乘、除、三角函数和微积分等等。这也是我们日常生活中所说的计算的概
42、念。http:/ 广义的计算 广义的计算,则是指“一个问题有没有方法来解决”。即什么能有效地自动进行?什么不能有效地自动进行?这就是“能行性”的问题。 计算可以深入扩展到数学和工程两个领域。即数学为计算提供理论、方法和技术,而工程为实际计算和应用提供可以自动计算的设备,并为更有效地完成计算和应用任务提供工程技术和方法。 计算的主要研究问题是怎样判断一类数学问题是否机械可解的。http:/ 计算机的计算模型 计算模型是刻画计算这一概念的一种抽象形式系统或数学系统,而算法是对计算过程步骤(或状态)的一种刻画,是计算方法的一种能行实现方式。 20世纪30年代是计算模型研究取得突破性进展的时期。哥德尔
43、、丘奇(A.Church)、图灵(A.M.Turing)、波斯特(E.L.Post)等人在研究中陆续提出了一批计算模型,如递归函数、演算、图灵机、波斯特系统等,并称这些模型是用算法方法解决问题的极限。 图灵提出的形式化的理想计算模型(称为图灵机)深刻地揭示了计算这一本质概念,为可计算理论奠定了基础。http:/ ”3.2 冯 诺依曼结构3.2.1 存储程序 原理3.2.2 冯 诺依曼结构3.2.3 计算机系统组成“ 原3.2.1 存储程序” 理1. 程序 :计算机程序是指预先设定好的,能够在计算机系统中运行的程序。随着科研工作的开展和计算机在各行各业应用的推广,为了提高效率和可靠性,围绕程序的
44、设计、描述、构造、分析、测试和验证等方面,发展了许多技术,它们被统称为程序技术。2. “存储程序”原理将我们根据特定问题编写的程序存放在计算机存储器中,然后按存储器中存储程序的首地址执行程序的第一条指令。以后就按照该程序的规定顺序执行其他指令,直至程序结束执行。http:/ 冯 依曼结构主要由五部分组成:存储器、运算器、控制器、输入设备、输出设备。http:/ 伊曼的两项基本原则(1)程序也是数据本机存储网络存储数据数据程序程序浏览器模型(HTML里面加URL)本机存储网络存储数据数据程序程序网络计算模型(代码中加URL)诺Internethttp:/ DiskTCP/IP、NETBIOS、H
45、TTP、冯 伊曼的两项基本原则(2)网络计算机层次化存储硬件模型 传统计算机 网络计算机软件模型 与连接技术无关 TCP/IP是连接技术http:/ 计算机系统组成 一个完整的计算机系统应包含硬件系统和软件系统。 硬件系统是指组成计算机的物理设备,即由电子器件、机械部件构成的具有输入、输出、处理等功能的实体部件。 软件系统是指计算机系统中的程序以及开发、使用和维护程序所形成的文档。图3.2 计算机系统的组成计算机系统硬件系统主机运算器中央处理器(CPU)控制器只读存储器(ROM)内存储器外部设备随机存储器(RAM)输入设备(键盘、鼠标、扫描仪等)输出设备(显示器、打印机、绘图仪等)外存储器(硬
46、盘、软盘、磁带、光盘等)软件系统系统软件应用软件操作系统(Windows、UNIX、Linux 等)语言处理系统编译程序解释程序汇编程序系统服务程序监控、检测程序连接编辑程序连接装配程序调试程序其他服务程序数据库管理系统(Oracle、 IBM、DB2 等)文字处理软件表格处理软件辅助设计软件实时控制软件其他应用软件http:/ 超越冯 诺依曼结构3.3.13.3.23.3.33.3.43.3.53.3.6并行计算向量计算机生物计算机神经计算机量子计算机三值光计算机http:/ 并行计算(1)并行性所谓并行性是指在同一时刻或在同一时间段内完成两种或两种以上的工作,并行性是指时间上的重叠。严格地
47、说,并行性可分为同时性和并发性两种形式。同时性是指两个或多个事件在同一时刻发生,如书法家左右手同时书写。并发性是指两个或多个事件在同一时间段内发生。2.3.3.1 并行计算(2)并行处理提高计算机性能的措施之一是提高计算机处理的并行性,一般主要是采用“时间重叠”和“资源重叠”的方法。“时间重叠”是指多个处理过程在时间上互相错开,轮流使用一套硬件设备的各个部分,以加快硬件周转,提高计算机的处理速度,采用流水线方式工作的计算机称为流水线计算机系统。“资源重叠”是指采用重复设置硬件设备的方法,即计算机中资源最紧张的设备就使用多个,如多处理器系统。http:/ 并行计算(3)并行计算利用并行计算机系统
48、进行信息的并行处理称为并行计算。并行计算的内容主要包括并行计算方法、并行计算模型、并行算法、并行程序设计、并行测试程序、测试结构分析等等。其中,并行算法是并行处理的研究重点之一。并行算法的目标就是以空间换时间。即通过增加空间的维数和处理器的台数,来换取算法实现所需的时间http:/ 向量计算机 (1)1.标量什么是标量呢?通常我们将程序中所使用的常量、变量或数组等其他结构的每一个元素都称为标量。程序的指令序列称为“标量指令序列”,它的执行过程为“标量处理”过程。一般来说,一条标量指令只能处理一个或一对操作数。基于冯 依曼结构的计算机属于标量计算机。诺3.3.2 向量计算机 (2)2. 向量计算
49、机将一组相同性质的、相互独立的标量称为“向量”,如数组中的N个元素。对这样一组数的运算称为“向量处理”。一条向量指令可以处理N个或N对操作数。因此,向量指令的处理效率要比标量指令的处理效率高得多。能够使用向量指令的计算机称为向量计算机。向量处理结构目前已成为解决数值计算问题的一种最重要的高性能结构。它有两个主要优点:效率高和适用性广。http:/ 生物计算机(1)所以,有的科学家设想:假如有机物的分子也具有这种“开”和“关”的功能,那岂不是可以把它们作为计算机的基本构件,从而造出“有机物计算机”吗?科学家发现,一些半醌类有机化合物的分子具备“开”和“关”两种电态功能,可以把它当成一个开关。科学
50、家们还进一步发现,蛋白质分子中的氢也具备“开”和“关”两种电态功能,因而也可以把一个蛋白质分子当成一个开关。从理论上说,只要是用半醌类有机化合物的分子或蛋白质的分子作元件,就能制造出“半醌型”或“蛋白质型”的计算机。由于有机物分子总是存在于生物体内,所以人们把这种有机物计算机称作“生物计算机”,或称作“分子计算机”。http:/ 生物计算机(2)1. 密集度高:可以达到现有半导体超大规模集成电路的10万倍 。2. 动作速度快:分子逻辑元件的开关速度比目前的硅半导体逻辑元件开关速度高出1000倍以上。3. “自我修复” 的机能:可靠性非常之高,经久耐用,具有“半永久性”。4. 耗能小:由于这种有