《3.3计算机程序与程序设计语言.pptx》由会员分享,可在线阅读,更多相关《3.3计算机程序与程序设计语言.pptx(40页珍藏版)》请在优知文库上搜索。
1、第3章 算法基础1、计算机解决问题的过程2、算法的概念3、算法的描述方法4、计算机的组成部件5、计算机工作原理6、计算机程序的概念7、计算机程序设计语言的种类8、计算机程序的执行过程本章主要内容第3章 算法基础33.3 计算机程序与程序设计语言43.3 计算机程序与程序设计语言观看微课视频1,思考:1.常用计算机主要包括哪五大基本部件?2.计算机程序运行流程是怎样的?3.3 计算机程序与程序设计语言63.3.1 计算机程序1.计算机的组成 计算机由硬件和软件两大部分组成。 计算机硬件包括运算器、控制器、存储器、输入设备和输出设备五大基本部件。 计算机软件包括系统软件和应用软件。2.计算机的工作
2、过程(1)计算机内部采用二进制形式表示和存储指令或数据(2)解决问题的程序和需要加工处理的原始数据事先转换成二进制数,并存入存储器中。(3)计算机反复地获取指令、执行指令的过程。3.3.1 计算机程序73.3.1 计算机程序8计算机的工作过程9计算机要能完成某个任务必须给它相应的指令,告诉计算机完成某个任务的指令集合就叫做计算机程序。3.3.1 计算机程序9 为了使电子计算机进行各种工作,就需要有一套用以编写计算机程序的数字、字符和语法规则,由这些字符和语法规则组成计算机各种指令(或各种语句),这些就是计算机能接受的语言。10103.3.2 计算机程序语言19461946年年2 2月月1414
3、日,日,ENIACENIAC在美国宾夕法尼亚大学诞生。在美国宾夕法尼亚大学诞生。电子计算机电子计算机ENIACENIAC是个庞然大物:重是个庞然大物:重3030余吨,占地约余吨,占地约170170平方米,平方米,肚子里装有肚子里装有1800018000只电子管。只电子管。现在我们许多程序员自嘲自己是码农、做体力活的,第一代程序员,那位女士,可真是干体力活!ENIAC的第一次测试运行是计算氢弹相关数据,输入、输出数据是一百万张卡片!3.3.2 计算机程序语言l 如图穿孔纸带,带孔为如图穿孔纸带,带孔为1 1,无孔为,无孔为0 0。l 由芯片设计结构的不同,每种芯片的指令集也就由芯片设计结构的不同
4、,每种芯片的指令集也就跟着不同,所以不同计算机的机器指令系统会有跟着不同,所以不同计算机的机器指令系统会有所不同。所不同。“计算机语言计算机语言”从这一层面开始,区分就已经产从这一层面开始,区分就已经产生了生了。123.3.2 计算机程序语言13机器语言: 由“0”和“1”这样的二进制代码指令组来表示,计算机能直接识别和执行。运算效率最高!每一条机器指令包含两个主要部分: 操作(指出计算机应做什么)和被操作的对象(指出处理的数据或它的地址)。133.3.2 计算机程序语言指令序号指令序号机器指令机器指令指令功能指令功能11011000000001001把加数9送到累加器AL中200000100
5、00001000完成运算9+8311110100停止操作14143.3.2 计算机程序语言15153.3.2 计算机程序语言指令序号指令序号指令功能指令功能机器指令机器指令汇编语言指令汇编语言指令1把加数9送到累加器AL中1011000000001001MOV AL,92完成运算9+80000010000001000ADD AL,83停止操作11110100HTL3.3.2 计算机程序语言汇编语言: 使用了一种类似英文缩略词且带有助记性符号的语言,来替代一个特定的指令的二进制串,每条指令都和一条机器指令相对应。需要一个专门的语言翻译器,负责将程序中的每条语句都翻译成用二进制数表示的机器语言。1
6、7173.3.2 计算机程序语言18183.3.2 计算机程序语言19193.3.2 计算机程序语言20程序设计语言的产生与发展必然是由低级到高级,由繁到简的。具体来说,大致经历了机器语言、汇编语言、高级语言几个发展阶段,使人能够越来越方便、越来越容易地将算法体现为程序。3.3.2 计算机程序设计语言计算机语言的发展历程及特点 第一代:机器语言。由“0”和“1”所表示的二进制代码指令组表示,但计算机可以非常方便的读懂。 第二代:汇编语言。有意义的字符代码,翻译成计算机语言。 第三代:高级语言。贴近人们理解习惯的高级语言系统,仍需要翻译成计算机语言,才能让计算机执行。经历了从早期语言到结构化程序
7、设计语言、从面向过程到非过程化程序设计语言的过程。3.3.2 计算机程序设计语言计算机高级语言的种类 第一种高级语言是Fortran语言,它主要用于科学和工程计算,ALGOL、COBOL、Basic、LISP、SNOBOL、Pascal、C、PROLOG、Ada、VC、VB、Delphi、Java、Python。3.3.2 计算机程序设计语言3.3.2 计算机程序设计语言机器语言汇编语言高级语言指令功能1011000000001001MOV AL,9Print(9+8)把家数9送到累加器AL中把累加器AL中的内容与另一数8相加,结果存在累加器AL中(即完成9+8的运算)000001000000
8、1000ADD AL,811110100HTL停止操作9+8的加法运算3.3.2 计算机程序设计语言3.3.2 计算机程序设计语言3.3.2 计算机程序设计语言1.汇编语言的编写与执行。2.高级语言的编写与执行。3.3.2 计算机程序设计语言编译程序和解释程序。 编译程序:指计算机把高级语言程序的每一条语句都编译成机器语言,并保存成二进制文件后才运行的程序。(编译一次重复执行)3.3.2 计算机程序设计语言3.3.2 计算机程序设计语言3.3.2 计算机程序设计语言3.3.2 计算机程序设计语言32 解释程序:3.3.2 计算机程序设计语言333.3.2 计算机程序设计语言3.3.2 计算机程
9、序设计语言编译程序与解释程序对比。语言种类原理优点缺点编译程序通过专门的编译器,将高级语言一次性编译成可被平台执行的机器代码编译一次后,脱离开发环境也可以独立运行,程序执行速度快,程序执行效率高,同等条件下对系统要求较低。对编译器依赖严重,跨平台性差些。解释程序由专门的编辑器,将源程序解释成特定的平台可执行指令跨平台性好不同系统平台间的兼容性高。编译和解释混合在一起执行,效率较低3.3.2 计算机程序设计语言讨论三代计算机语言的优势与不足(学练测p53)语言类型 是否翻译(编译)优势不足一机器语言二汇编语言三高级语言讨论三代计算机语言的优势与不足语言类型 是否翻译(编译)优势不足一机器语言否能被计算机接受和执行,运算效率最高。程序难以理解,程序设计任务繁重,移植性差。二汇编语言是针对计算机特定硬件而编制的汇编语言程序,比机器语言易于理解,效率仍十分高。不能被计算机直接运行,移植性不好。三高级语言是接近于数学语言或人的自然语言,易于理解,移植性好。不能被计算机直接运行。3.3.2 计算机程序设计语言高级语言的编译过程和解释过程3.3.2 计算机程序设计语言课堂练习1、2、3、4、5、6、7、 CPU(中央处理器) 运算器控制器 B A 机器语言 汇编语言 高级语言 高级 翻译编译解释小结本章