大学计算机基础之算法与程序设计基础教学课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8
4.程序的三种基本结构
(1)顺序结构 程序按照语句的书写次序顺序执行。
A
如: r=15; s=3.1415*r*r; print s;
B
先执行A操作,再执行B操作,两者是顺序执行关系。
(2)选择结构
通过判断特定条件,选择一个分支执行。
P
成立
不成立
成立
P
不成立
如: if(a>10) 语句 x=a; print x;
数值算法:主要解决一些工程上的数值计算问题,其特点
是运算复杂且有少量的输入、输出。例如数值积分、数值求 解微分方程等。
非数值算法:用于对大量数据的处理,其特点是运算简单
且有大量的输入、输出。例如对图书检索、工资管理等。
2.算法的基本特征
算法是一个有穷规则的集合,它产生结果并在有限的时 间内终止。这些规则确定了解决某类问题的一个运算序列。
当P条件成立时,执行语句 操作,否则跳过语句操作
如: if(a>b) A x=a; else x=b;
当P条件成立时,执行A操作,否则执行B操作
B
print x;
(3)循环结构 在给定条件下,反复执行循环体,直到条件 不满足为止。如,重复做某事,小学生抄写单词。
1) 当型循环结构
不成立
P
成立
如: while(i<=10) { s=s+i; i++; }
算法的基本特征:
有穷性:算法必须在执行有限个操作后终止; 确定性:算法中每一步的含义必须是确切的,不能出
现任何二义性; 有效性:算法中的每一步操作都应该能有效执行,一 个不可执行的操作是无效的; 有零个或多个输入:执行算法时,从外界获得必要的 信息; 有一个或多个输出:算法的结果就是输出,可以是返 回的数值,或某些操作(例如打印输出)。
1. 算法的定义 算法(algorithm)是对特定问题求解步骤的一种描述,是一 组如何做某件事情的指令,是一组有序的动作。算法是处理 解决问题的思路及办法,是程序的灵魂。 算法无处不在 • 小学生作业 • DIY家具的组装说明 • 洗衣机使用说明 • 飞机安全出口上的说明 • 问路
算法的分类
在计算机领域中,将解决不同性质问题的算法划分成为不 同的类型。
并可以反复运行。
编译方式执行速度快,但修改源程序后必须重新编译。 大多数高级语言都采用编译方式。
(2)编译方式
编译方式的工作过程示意图: 数据
目标程序
高级语言 源程序 编译 程序 编译阶段 机器语言 目标程序 + 运行子程序 执行阶段 运行 结果
生成机器语言目标程序的编译方式
6.2 算法基础
6.2.1 算法的概念与特征
A
Biblioteka Baidu
当P条件成立时,反复执行A,直到P不成立为止。
2) 直到型循环结构
A
成立 P
不成立
先执行A操作,再判断P是否成立,若P成立,再执 行A,直到P不成立为止。
5.程序设计语言
程序设计语言分类:
机器语言 汇编语言 高级语言
• 面向过程的语言:Basic、C语言、FORTRAN、Pascal • 面向对象的语言:VB、C++、Java、Delphi、Python
高级语言源程序
计算结果
(2)编译方式 编译方式的翻译工作由编译程序完成。编译程序对源程序
进行编译处理,产生一个与源程序等价的目标程序。
目标程序不能直接运行,需要使用连接程序将目标程序与 程序中用到一些库函数或调用其他程序段组装在一起,才能 够形成一个完整的可执行程序。 产生的可执行程序可以脱离编译程序和源程序独立存在,
语言处理程序
高级语言的翻译程序有两种工作方式:一种是解释方式, 另一种是编译方式。 (1)解释方式 解释方式的翻译工作由解释程序来完成。在这种方式下, 解释程序对源程序逐条地进行分析,若没有发现错误,则将 该语句翻译成一个或多个机器指令,然后立即执行这些指令; 当发现错误时,会立即停止并给出错误提示。解释方式边解 释边执行,不产生目标程序。其工作过程如图所示。 解释程序
• 目的性 程序有明确的编写目的,运行时完成赋予它的功能。 • 分步性 程序由一系列计算机可执行的步骤组成,执行这些步骤可以 完成其复杂的功能。 • 有序性 程序的执行步骤是有序的,必须严格按其执行顺序执行,不 可随意改变。 • 有限性 程序是有限的指令序列,所包含的步骤是有限的。 • 操作性 有意义的程序能对某些对象进行操作,使其改变状态,完成 其功能。
(1)变量、运算符、表达式 变量:程序中定义的、存储参与运算的数据和中间结果的单元 运算符:程序中规定的进行各种运算的描述符号。 如 +、-、*、/、<=、== 表达式:程序中由常量、变量、函数和运算符组成的式子。 如 c=2*3.14*r (2)数据类型 基本数据类型:如整型、实型、字符型等。 复合数据类型:由基本类型组成,如数组、结构体、文件等。 (3) 程序的控制结构 顺序结构、选择结构、循环结构
关于数据的操作
◦ 赋值
迁移数据
数据是从一个变量被复制到另一个变 量,原来变量仍保存那个数据 如果目的变量已经保存了数据,则迁 移过来的数据将会覆盖旧的数据。
7
◦ 赋值
如何将A、B变量的数据互换?(用“x = y”表示将变量y的 数据赋值给变量x)
完成移动后,T保存什么数据?
1. T = A 2. A = B 3. B = T
大学计算机基础
第六章 算法与程序设计基础
主要内容 6.1 程序设计概述 6.2 算法基础 6.3 数据的组织结构 6.4 问题求解与程序设计方法 6.5 Raptor可视化工具
6.1 程序设计概述
6.1.1 程序设计的概念
1. 什么是程序
程序(program)是指按照一定的顺序安排工作的操作序 列,即完成某些工作的具体步骤。 计算机程序是计算机为完成某一任务所必须执行的一系 列指令的有序集合,是用计算机语言对所要解决问题进行完 整而准确的描述。程序表达了人的思想,体现了程序员要求
计算机执行的操作,也是程序设计的最终结果。
程序设计应该包括两个方面的内容:
程序设计=算法+数据结构
• 算法:为解决某个问题而采取的方法和步骤的描述。 • 数据结构:对程序中数据的描述。 程序设计的一般过程:
分析问题 建立数据模型 确定数据结构和算法 编写程序 运行和调试程序
2. 程序的特性