《第1章计算机概论》由会员分享,可在线阅读,更多相关《第1章计算机概论(31页珍藏版)》请在金锄头文库上搜索。
1、1Fortran95 程序设计程序设计彭国伦彭国伦 编著编著第第1章章 计算机概论计算机概论Fortran95Fortran95程序设计程序设计 第第1 1章章 计算机概论计算机概论21-1 计算机简史计算机简史在漫长的人类进化和文明发展过程中,人类的大脑逐渐具有了一种特殊的本领,这就是把直观的形象变成抽象的数字,进行抽象思维活动。正是由于能够在“象”和“数”之间互相转换,人类才真正具备了认识世界的能力。在数的概念出现之后,就开始出现了数的计算。计算需要借助一定的工具来进行,人类最初的计算工具就是人类的双手,掰指头算数就是最早的计算方法。一个人天生有十个指头,因此十进制就成为人们最熟悉的进制计
2、数法。由于双手的局限性,人类开始学习用小木棍、石子等身外之物作为计算工具。在拉丁语中,“计算”的单词Calculus,其本意就是用于计算的小石子。随着文明的进步,人类学会了使用越来越多、越来越复杂的计算工具,计算方法也越来越高级。Fortran95Fortran95程序设计程序设计 第第1 1章章 计算机概论计算机概论31-1 计算机简史计算机简史公元前3000年的古埃及人用结绳来记录土地面积和收获的谷物公元前2000年的美索不达米亚人用泥板计数,这块泥板上的楔形文字代表252000多年前的我国春秋时期出现的算筹是世界上最古老的计算工具。计算的时候摆成纵式和横式两种数字,按照纵横相间的原则表示
3、任何自然数,从而进行加、减、乘、除、开方以及其它的代数计算。负数出现后,算筹分红黑两种,红筹表示正数,黑筹表示负数。这种运算工具和运算方法,在当时世界上是独一无二的。Fortran95Fortran95程序设计程序设计 第第1 1章章 计算机概论计算机概论41-1 计算机简史计算机简史随着计算技术的发展,在求解一些更复杂的数学问题时,算筹显得越来越不方便了。于是在大约六、七百年前,中国人发明了算盘,它结合了十进制计数法和一整套计算口诀并一直沿用至今,被许多人看作是最早的数字计算机。明朝以后,算盘在世界各地流传开来,并出现了许多变种。我们熟悉的常用语“三下五除二”、“七上八下”等,就是起源于珠算
4、口诀,这是最早的体系化算法。计算尺的出现,开创了模拟计算的先河。从冈特开始,人们发明了多种类型的计算尺。它有效地利用对数的原理,可快速做出乘除法等的计算,直到20世纪中叶,计算尺才逐渐被袖珍计算器取代。Fortran95Fortran95程序设计程序设计 第第1 1章章 计算机概论计算机概论51-1 计算机简史计算机简史欧洲文艺复兴时期的伟人达芬奇是一位旷世奇才,他在科学方面的造诣丝毫不亚于其艺术成就,他很早就提出过计算工具的设想。后人在达芬奇的手稿中,发现了关于机械式计算工具设计方案的记录。Fortran95Fortran95程序设计程序设计 第第1 1章章 计算机概论计算机概论61-1 计
5、算机简史计算机简史1642年,法国数学家、物理学家和思想家帕斯卡发明加法机,这是人类历史上第一台机械式计算机,其原理对后来的计算机械产生了持久的影响。帕斯卡从加法机的成功中得出结论:人的某些思维过程与机械过程没有差别,因此可以设想用机械模拟人的思维活动。1971年瑞士人沃斯把自己发明的高级语言命名为Pascal,以表达对帕斯卡的敬意。Fortran95Fortran95程序设计程序设计 第第1 1章章 计算机概论计算机概论71-1 计算机简史计算机简史德国数学家莱布尼兹认为,中国的八卦是最早的二进制计数法。在八卦图的启迪下,莱布尼兹系统地提出了二进制运算法则。1673年,莱布尼兹发明乘法机,这
6、是第一台可以运行完整的四则运算的计算机。莱布尼兹同时还提出了“可以用机械代替人进行繁琐重复的计算工作”的伟大思想,这一思想至今鼓舞着人们探求新的计算机。莱布尼兹因独立发明微积分而与牛顿齐名,并被不列颠百科全书列为“西方文明最伟大的人之一”。据记载,莱布尼兹曾把自己的乘法机复制品送给康熙皇帝。Fortran95Fortran95程序设计程序设计 第第1 1章章 计算机概论计算机概论81-1 计算机简史计算机简史1822年,英国数学家巴贝奇发明差分机,专门用于航海和天文计算。这是最早采用寄存器来存储数据的计算机,体现了早期程序设计思想的萌芽。第一台差分机从设计到制造完成,花费了整整十年。它可以处理
7、3个5位数,计算精度达到6位小数。巴贝奇是一位伟大的天才,他因为远远超前于他的时代而注定要成为一位悲剧伟人。巴贝奇分析机采用了三个具有现代意义的装置:保存数据的寄存器(齿轮式装置);从寄存器取出数据进行运算的装置,并且机器的乘法以累次加法来实现;控制操作顺序、选择所需处理的数据以及输出结果的装置。Fortran95Fortran95程序设计程序设计 第第1 1章章 计算机概论计算机概论91-1 计算机简史计算机简史18世纪,赫尔曼霍勒斯博士发明穿孔卡片,这是电脑软件的雏形。19世纪末的机械式计算机。1947年第一台机械式掌上型计算机。Fortran95Fortran95程序设计程序设计 第第1
8、 1章章 计算机概论计算机概论101-1 计算机简史计算机简史1944年,美国科学家艾肯在IBM的支持下,研制成功机电式计算机MARK-I。这是世界上最早的通用型自动机电式计算机之一,它取消了齿轮传动装置,以穿孔纸带传送指令。艾肯研制MARK-1的灵感来自一个世纪以前巴贝奇留下的思想精华。MARK-1外壳用钢和玻璃制成,长15米,高2.4米,自重31.5吨,使用了15万个元件和800公里电线,每分钟进行200次运算。Fortran95Fortran95程序设计程序设计 第第1 1章章 计算机概论计算机概论111-1 计算机简史计算机简史1946年2月15日,世界上第一台通用数字电子计算机ENI
9、AC的问世,宣告了人类从此进入电子计算机时代。 四十年代的编程是这样的 Fortran95Fortran95程序设计程序设计 第第1 1章章 计算机概论计算机概论121-1 计算机简史计算机简史1956年,IBM公司的巴克斯研制成功第一个高级程序语言FORTRAN,它被广泛用于科学计算。1950问世的第一台并行计算机EDVAC,首次实现了冯诺依曼体系的两个重要设想:其一是电子计算机应该以二进制为运算基础,其二是电子计算机应采用存储程序方式工作,并且进一步明确指出了整个计算机的结构应由五个部分组成:运算器、控制器、存储器、输入装置和输出装置。冯诺依曼的这些理论的提出,解决了计算机的运算自动化的问
10、题和速度配合问题,对后来计算机的发展起到了决定性的作用。直至今天,绝大部分的计算机还是采用冯诺依曼方式工作。Fortran95Fortran95程序设计程序设计 第第1 1章章 计算机概论计算机概论131-1 计算机简史计算机简史美国贝尔实验室于1954年研制成功第一台使用晶体管的第二代计算机TRADIC。装有800只晶体管,仅100瓦功率,占地也只有3立方英尺。相比采用定点运算的第一代计算机,第二代计算机普遍增加了浮点运算,计算能力实现了一次飞跃。第二代计算机除了大量用于科学计算,还逐渐被工商企业用来进行商务处理,高级语言FORTRAN和COBOL因此也得到了广泛应用。集成电路的问世催生了微
11、电子产业,采用集成电路作为逻辑元件成为第三代计算机的最重要特征。此外,系列兼容和采用微程序设计也是第三代计算机的重要特点,作为第三代计算机的杰出代表,IBM S/360为IBM带来了极大成功,“IBM”几乎成为计算机的代名词。 Fortran95Fortran95程序设计程序设计 第第1 1章章 计算机概论计算机概论141-1 计算机简史计算机简史“只有偏执狂才能生存只有偏执狂才能生存”Intel公司成立于1968年,格鲁夫(左)、诺依斯(中)和摩尔(右)是微电子业界的梦幻组合。摩尔为新公司命名为:IntelIntel,这个字是由“集成/电子(Integrated Electronics)两个
12、英文单词组合成的,象征新公司将在集成电路市场上飞黄腾达,摩尔预言,晶体管的密度每过18个月就会翻一番,这就是著名的摩尔摩尔定律定律。Fortran95Fortran95程序设计程序设计 第第1 1章章 计算机概论计算机概论151-1 计算机简史计算机简史从1970年至今的计算机基本上都属于第四代计算机,它们都采用大规模和超大规模集成电路。随着技术的进展,计算机开始分化成通用大型机、巨型机、小型机和微型机。微处理器的问世,是微电子领域有史以来最重要的发明之一,微处理器时代的到来预示着微型计算机将获得广泛的应用,更多计算机的出现将对人类社会产生翻天覆地的影响。UMPC全称Ultra-Mobile
13、PC,超移动个人电脑 Fortran95Fortran95程序设计程序设计 第第1 1章章 计算机概论计算机概论161-2 数字化数字化 二进制中只有0和1两种数字。可形容一个开关的情况,0代表关,1代表开。记录1个二进制数所需要的容量大小称为一个位(bit)1byte=8bits1KB=1024bytes=210bytes1MB=1024KB=1024x1024bytes=220bytes1GB=1024MB=1024x1024x1024bytes=230bytesFortran95Fortran95程序设计程序设计 第第1 1章章 计算机概论计算机概论171-2 数字化数字化 Window
14、内置的计算器可完成十进制和二进制的转换Fortran95Fortran95程序设计程序设计 第第1 1章章 计算机概论计算机概论181-2 数字化数字化 数字化的多媒体信息,都是先把声音、图像等信息转换成数字后再以二进制方法来保存这些数字。声音是怎么转换成数字的呢?Fortran95Fortran95程序设计程序设计 第第1 1章章 计算机概论计算机概论l对于声波,通用是根据声波在指定点位于0线之上或之下的量,用一个二进制数记录。1-2 数字化数字化 19Fortran95Fortran95程序设计程序设计 第第1 1章章 计算机概论计算机概论201-2 数字化数字化 采样的原理模-数数-模转
15、换Fortran95Fortran95程序设计程序设计 第第1 1章章 计算机概论计算机概论1-2 数字化数字化 21Fortran95Fortran95程序设计程序设计 第第1 1章章 计算机概论计算机概论lCD唱片取样频率为44100Hz,振幅方面有216阶的变化,每个时间点上都需要16个位来记录音量。16 bits=2 bytes。每一个声道记录一秒钟需要44100*2=88600 bytes。lCD唱片会记录左右两个声道来做立体声,录制一小时的CD音乐就需要60*60*88600*2=637920000 bytes=608MB,差不多就是一张CD光盘的容量。1-2 数字化数字化 22F
16、ortran95Fortran95程序设计程序设计 第第1 1章章 计算机概论计算机概论231-2 数字化数字化 ASCII表主要定义的是欧美语系的拼音文本字母,使用256=28个字节就已经足够存放所有的英文字母、数字及图形符号,所以1个字节就足以记录一个英文字母。参见P580附录BASCII表目前使用的中文代码表是GB码,总共有上万个字节,每个字要用2个字节记录。Fortran95Fortran95程序设计程序设计 第第1 1章章 计算机概论计算机概论241-3 微处理器微处理器(Micro Processor) 把一块电路板上的所有IC、电阻、电路等都使用半导体方法结合起来而生产出的一小块
17、硅芯片就是一个微处理器。控制芯片的方法就是对每一根针脚来做通电或断电的操作。如把控制它们是否通电用来操作芯片的方法以二进制法来表示,就是这个芯片的命令集。控制芯片操作的一连串命令集,就叫做程序。命令集也称为机器码(MachineCode)。把每个机器码的二进制数另外取一个字表示,就是汇编语言(Assembly)。Fortran95Fortran95程序设计程序设计 第第1 1章章 计算机概论计算机概论251-3 微处理器微处理器(Micro Processor) 编写程序有几种方法:第一种是直接用二进制来写程序,这是使用机器码的写法,很不直观。第二种是把每个机器语言用文本来表示,每个机器码都会
18、和一个特定的字相对应,这就是汇编语言。第三种是可以一次把一段机器码用一句文本来代替,这就是高级语言。Fortran95Fortran95程序设计程序设计 第第1 1章章 计算机概论计算机概论261-3 微处理器微处理器(Micro Processor) 高级语言需要经过较复杂的编译过程才能再把它转换成机器码,其语法在字面上比较容易让人类思考。高级语言及汇编语言的程序代码,在没有翻译成机器码前都无法让计算机使用。经编译器翻译后的机器码即所谓的执行文件。每种芯片都有自己的命令集,所以不同的芯片间的执行文件不能互通。跨平台高级语言的程序必须分别经过设计给不同芯片的编译器翻译后才能执行。Fortran
19、95Fortran95程序设计程序设计 第第1 1章章 计算机概论计算机概论271-3 微处理器微处理器(Micro Processor) PC机中最重要的微处理器是中央处理器(CenteralProcessUnit),简称CPU。目前PC机普遍使用X86系列CPU,主要由Intel和AMD生产,都向下兼容。Fortran95Fortran95程序设计程序设计 第第1 1章章 计算机概论计算机概论281-4 计算机基本结构计算机基本结构1、输入设备:键盘、鼠标等。2、运算单元:CPU。3、存储设备:内存、软盘、硬盘、光盘等。4、输出设备:屏幕、打印机、声卡等。Fortran95Fortran9
20、5程序设计程序设计 第第1 1章章 计算机概论计算机概论291-5 操作系统操作系统 操作系统是帮助配置计算机资源的工具。能提供比较简单的方法,让程序员及用户来使用各种硬件。每个操作系统使用计算机资源的方法不同,所以就算是针对同一CPU设计的不同操作系统,彼此间的程序也不一定能共享。Fortran95Fortran95程序设计程序设计 第第1 1章章 计算机概论计算机概论301-6 计算机语言计算机语言计算机语言是用来控制计算机的语言。低级语言(机器语言。汇编语言)使用起来很辛苦,代码不直观,不同的处理器有不同的命令集和汇编语言。高级语言编写方法比较直观,可读性较高,和人类语言相近。程序员可用较抽象、与机器无关的方法来解决问题程序员的价值并不取决于他会使用几种语言,而在于他精通哪些专业领域的算法及实现能力。Fortran95Fortran95程序设计程序设计 第第1 1章章 计算机概论计算机概论311-7 今天的计算机今天的计算机广义地说,以微处理器为核心,并使用程序来控制的机器都可以算是计算机。