算法和程序设计语言
机器语言 源程序
汇编程序
汇编语言 源程序
翻译
机器语言程序 (目标程序)
18
高级语言翻译程序
高级语言 源程序
解释方式
Basic
解释程序 数据
计算结果
高级语言 源程序
编译方式
计算结果
C++
连接程序
目标 程序
程序库
可执行
数据
程序
可脱离编译程序和源
程序独立存在并反复
使用
19
不等于等。 ③逻辑运算:与、或、非等。 ④数据传送:输入、输出、赋值等。
5
(2)控制结构 各操作之间的执行顺序 顺序结构、选择结构、循环结构
A B
(a)顺序结构
成立
A
条件
不成立
B
(b)ห้องสมุดไป่ตู้择结构
6
条件
成立
不成立
A
A
不成立
条件
成立
(c)当型循环结构
(d)直到型循环结构
7
3 算法的特点
有穷性 任意一个算法在执行有穷个计算步骤后 必须终止。
10
流程图
采用一些图框、线条以及文字说明来形象地、直观地描述 算法处理过程。
11
计算圆周率的流程图
优点:较好 的体现程序 设计的逻辑
12
第8章 算法和程序设计语言
1、程序和算法概念 2、程序设计语言概述
系统软件
操作系统 实用程序 语言处理程序
程序设计语言:
汇解编 编释译
• 机器语言
程程程
• 汇编语言
序序序
• 高级语言
• 翻译工具
典型的程序设计语言有:
• 作用:将源程序翻译成计算
FORTRAN、Pascal、C与
机能识别的机器语言程序。
C++、BASIC、Java、C#等。
14
1.机器语言
由“0”、“1”二进制代码按一定规则组成的、能被机器直接 理解、执行的指令集合。
例如,计算A=15+10 的机器语言程序如下:
使用反映机器指令功能的助记符代替机器语言的符号语言。 例如用ADD表示加、SUB表示减、JMP表示程序跳转等等。
例如,计算 A=15+10 的汇编类语比言:程序:
MOV A,15
:把15放入累加器A中
ADD A,10 202.I12P0:地.11址809与.14累6 加器Ajs相jjc加.to,域ng结名ji.果ed存u.c入nA中
一 算法与程序
什么是程序?
按一定的顺序安排的工作即操作序列 描述完成某项功能所涉及的对象和动作规则 计算机学科中,程序描述了计算机处理数据、 解决问题的过程
1
程序包括两方面的内容: (1)对数据的描述:指定欲处理的数据类型和数据的 组织形式,也就是数据结构。 (2)对操作的描述:对操作步骤的描述。
每一个计算步骤,必须是精确地定义、无二义性
可行性 有限多个步骤应该在一个合理的范围内 进行
输入 一般有0个或多个输入,它们取自某一特定 的集合。
输出 一般有若干个输出信息,是反映对输入数 据加工后的结果。
8
4 算法的分类
(1)数值计算算法 (2)非数值计算算法
9
5 算法的表示
自然语言 流程图 N-S流程图 伪代码 计算机语言
A=15+10
‘ 15与10相加的结果放入A中
PRINT A
‘ 输出A
END
‘ 程序结束
优点:接近算法语言,易学、易掌握,
可读性好,可维护性强,可靠性高;
可移植性好,重用率高
自动化程度高,编程效率高。
缺点:源程序要通过翻译程序翻译成机器语言,代码不最优。
17
8.4.2 语言处理程序
低级语言处理程序
HLT
:结束,停机
优点:克服了机器机语器言语难言读等缺点,保汇持编了语其言编程质量高、占
存储空间少,执行速度快的优点。
缺点:仍然依赖于机器,通用性差。
特点:源程序必须通过汇编程序翻译成机器语言。常用于过程 控制等编程。
16
3.高级语言
接近于自然语言的程序设计语言。
例如,计算 A=15+10 的BASIC语言程序如下:
程序 = 数据结构+算法
2
二 算法的概念
1 什么是算法? 计算机来解决的某一类问题的方法或步骤 算法是程序的核心
3
例如:计算圆周率公式
同一个问题,可用不同的算法来求解 算法不同,求解的效率不同 选择效率高、容易理解和编程实现的算法
4
2 算法的两个要素
算法是由操作与控制结构两个要素组成 (1)操作 ①算术运算:加、减、乘、除等。 ②关系运算:大于、大于等于、小于、小于等于、等于、
10110000 00001111
: 把15放入累加器A中
00101100 00001010
: 10与累加器A的值相加,结果
仍放入A中
11110100
: 结束,停机
缺点:编程工作量大,难学、难记、难修改; 不同计算机的指令系统不同,机器语言通用性差
优点:代码不需要翻译,所占空间少,执行速度快。
15
2.汇编语言