内容正文:
第3章 算法基础
1、计算机解决问题的过程
2、算法的概念
3、算法的描述方法
4、计算机的组成部件
5、计算机工作原理
6、计算机程序的概念
7、计算机程序设计语言的种类
8、计算机程序的执行过程
本章主要内容
2
第3章 算法基础
3
3.3 计算机程序与程序设计语言
3
4
3.3 计算机程序与程序设计语言
4
观看微课视频1,思考:
常用计算机主要包括哪五大基本部件?
计算机程序运行流程是怎样的?
3.3 计算机程序与程序设计语言
6
3.3.1 计算机程序
1.计算机的组成
计算机由硬件和软件两大部分组成。
计算机硬件包括运算器、控制器、存储器、输入设备和输出设备五大基本部件。
计算机软件包括系统软件和应用软件。
6
2.计算机的工作过程
(1)计算机内部采用二进制形式表示和存储指令或数据
(2)解决问题的程序和需要加工处理的原始数据事先转换成二进制数,并存入存储器中。
(3)计算机反复地获取指令、执行指令的过程。
3.3.1 计算机程序
7
3.3.1 计算机程序
8
计算机的工作过程
9
计算机要能完成某个任务必须给它相应的指令,告诉计算机完成某个任务的指令集合就叫做计算机程序。
3.3.1 计算机程序
9
为了使电子计算机进行各种工作,就需要有一套用以编写计算机程序的数字、字符和语法规则,由这些字符和语法规则组成计算机各种指令(或各种语句),这些就是计算机能接受的语言。
10
10
3.3.2 计算机程序语言
1946年2月14日,ENIAC在美国宾夕法尼亚大学诞生。
电子计算机ENIAC是个庞然大物:重30余吨,占地约170平方米,肚子里装有18000只电子管。
现在我们许多程序员自嘲自己是码农、做体力活的,第一代程序员,那6位女士,可真是干体力活!
ENIAC的第一次测试运行是计算氢弹相关数据,输入、输出数据是一百万张卡片!
3.3.2 计算机程序语言
如图穿孔纸带,带孔为1,无孔为0。
由芯片设计结构的不同,每种芯片的指令集也就跟着不同,所以不同计算机的机器指令系统会有所不同。
“计算机语言”从这一层面开始,区分就已经产生了。
12
3.3.2 计算机程序语言
13
机器语言:
由“0”和“1”这样的二进制代码指令组来表示,计算机能直接识别和执行。运算效率最高!
每一条机器指令包含两个主要部分:
操作(指出计算机应做什么)和被操作的对象(指出处理的数据或它的地址)。
13
3.3.2 计算机程序语言
指令序号 机器指令 指令功能
1 10110000
00001001 把加数9送到累加器AL中
2 00000100
00001000 完成运算9+8
3 11110100 停止操作
14
14
3.3.2 计算机程序语言
15
15
3.3.2 计算机程序语言
指令序号 指令功能 机器指令 汇编语言指令
1 把加数9送到累加器AL中 10110000
00001001 MOV AL,9
2 完成运算9+8 00000100
00001000 ADD AL,8
3 停止操作 11110100 HTL
3.3.2 计算机程序语言
汇编语言:
使用了一种类似英文缩略词且带有助记性符号的语言,来替代一个特定的指令的二进制串,每条指令都和一条机器指令相对应。需要一个专门的语言翻译器,负责将程序中的每条语句都翻译成用二进制数表示的机器语言。
17
17
3.3.2 计算机程序语言
18
18
3.3.2 计算机程序语言
19
19
3.3.2 计算机程序语言
20
程序设计语言的产生与发展必然是由低级到高级,由繁到简的。具体来说,大致经历了机器语言、汇编语言、高级语言几个发展阶段,使人能够越来越方便、越来越容易地将算法体现为程序。
3.3.2 计算机程序设计语言
计算机语言的发展历程及特点
第一代:机器语言。由“0”和“1”所表示的二进制代码指令组表示,但计算机可以非常方便的读懂。
第二代:汇编语言。有意义的字符代码,翻译成计算机语言。
第三代:高级语言。贴近人们理解习惯的高级语言系统,仍需要翻译成计算机语言,才能让计算机执行。经历了从早期语言到结构化程序设计语言、从面向过程到非过程化程序设计语言的过程。
3.3.2 计算机程序设计语言
计算机高级语言的种类
第一种高级语言是Fortran语言,它主要用于科学和工程计算,ALGOL、COBOL、Basic、LISP、SNOBOL、Pascal、C、PROLOG、Ada、VC、VB、Delphi、Java、Python。
3.3.2 计算机程序设计语言
3.3.2 计算机程序设计语言
机器语言 汇编语言 高级语言 指令功能
10110000
00001001 MOV AL,9 Prin