孙第6章程序设计与软件开发基础new09PPT课件

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2
4
5
Data structure
1
3
6
100 0 340 0 767 0 512 3
A
B
C
D
F
GH
I
b1
b2
...
bn
23
面向过程的程序设计方法
过程1
过程2
过程3
✓程序模块化 ✓每个模块只有一个入口和出口
过程4
✓每个模块都能单独执行,无死循环
✓程序设计采用自顶向下、逐步求精的方法 24
面向对象的程序设计概念
13
N-S图的图形符号
A 第一任务 B 第二任务
顺序结构
条件P 假

B
A
选择结构
当条件P为真 循环体A
当型循环结构
循环体A
直到条件P为真 直到型循环结构
开始
数→m (输入每个数)
0→Sum
(给变量Sum清零)
1→Num
(计数器赋初值)
当Num<n (当计数器小于n时)
数→m

Sum+m→Sum(累加)
•解决非数值问题的算法叫做非数值算法,数据处 理方面的算法都属于非数值算法。例如各种排序 算法、查找算法、插入算法、删除算法、遍历算 法等。
5
•数值算法和非数值算法并没有严格的区别。
算法与数据结构
算法是解决某一实际问题的步骤和方法
确定性:每个操作无二义性;
算法的特性
有穷性:操作步骤是有限的;
有输入:0个或多个输入
第6章 程序设计与软件开发基础
1
主要教学内容
指令、程序与软件的概念 程序设计的概念 程序设计的过程 算法的概念与算法的特性 算法的表示方法 数据结构简述 面向过程的程序设计方法 面向对象的程序设计方法
2
程序设计与软件开发基础 程序
程序是一组为解决具体问题,按逻辑顺序排列的指令集合。
程序=算法+数据结构
数据元素的关系
数据逻辑结构 数据的物理结构 21
数据结构的基本概念
数据的逻辑结构分为两大类:
线性结构:其特征是该结构有且只有一个开始元素 和终点元素,所有元素只有一个前趋和 一个直接后继。如线性表
非线性结构:其特征是该结构中一个数据元素可能 有多个直接前趋和直接后继。如图结 构和树结构
22
数据结构
连接符号:表示图标之间相互连接关系
箭头:表示程序流向
10
三种基本控制结构
A
表达式
表达式
B
A
B
A
顺序结构
分支结构
循环结构
11
开始
0→sum; 1 →num
数→m
sum+m → sum
n
num+1→num
计算平均值的流程 图
num= y sumn/n→mean
输出 mean
结束
N-S结构化流程图
N-S图的特点是:功能域(特别是控制结构的作用域)明 确;容易确定局部和全局数据的作用范围;嵌套关系清 晰,容易表示模块的层次结构。
7
算法描述:
第1步 0 → sum; 第2步 1 → num; 第3步 数→ m; 第4步 sum+m → sum; 第5步 num+1 → num; 第6步 如果num<n,则返回第3步,如果num=n,
则sum/n → mean; 第7步 输出平均mean。
从该例子中可看出,算法中每个步骤的含义清楚,步骤执
行的次数确定。
8
算法的表示方法
• 用自然语言表示算法(如前例) • 用流程图表示算法 • 用伪代码表示算法(P228)
9
流程图是一种用图形、文字和连线来表
示解决题的思路和方法的图
ANSI流程图符号 起止框:表示程序的开始和结束
输入/输出框:表示数据的输入输出操作
处理框:表示对数据进行处理 决策框:表示根据条件决定程序走向
面向用户的文档:如何使用和维护应用程序的资料, 如用户手册、操作手册、维护手册等;
面向开发者的文档:记载了应用程序的设计和开发过 程,以便进一步开发和修改;
4
算法 •简单地说就是解决特定问题的方法。特定的问题 可以是数值的,也可以是非数值的。
•解决数值问题的算法叫做数值算法,科学和工程 计算方面的算法都属于数值算法,如求解数值积 分,求解线性方程组、求解代数方程、求解微分 方程等。
面向对象的程序设计(Object-Oriented-Programming),简称 OOP,是当今程序设计的主要方式。用这种程序设计方式设计 程序大大的简化了程序设计的过程,提高了代码的重用性。 面向对象的程序设计是以对象和数据结构为中心,并且将面 向对象的数据和代码封装起来。各对象既是独立的实体,又 可以通过传递消息相互作用。 使用面向对象程序设计提供的各种设计器,很容易将程序代 码与用户界面连接起来,这样用户就会面对非常友好的人机 界面进行应用程序的操作,应用程序也能通过界面形式响应 用户的输入并执行相应的程序代码。
17
例:计算 1*2*3*...*N的 流程
图.
开始 输入N 1T 1P
P+1 P
T*P T
N
P>N
Y 输出T
18
结束
例:计算1*2*3*...*N的N_ 盒图
开始
1T 1P
(累乘变量T赋初值) (计数器赋P初值)
N
(输入计算值N)
当P<=N(当计数器小于等于N时)
T*P
T
P+1
P
输出 结果 (输出结果)
Num+1→Num(计数器加1 )
Sum/n→Mean(求平均)
输出“平均=”,mean (输出平均)
结束
用流程图表示算法
开始
输入M,N
求M除以N所得余数R
真 R=0?
假 N→M,R→N
输出结果
16 结束
用N-S图表示 输入M、N
求M除以N所得余数R 当R≠0
N→M,R→N 求M除以N所得余数R 输出N
19
结束Leabharlann 数据结构的基本概念数据结构:数据结构是讨论计算机系统中数据
的组织形式和及其相互关系。如数据的识别、存 储、检索和加工等。
20
数据结构的基本概念
•数据的逻辑结构(Logical structure)
数据元素之间抽象化的相互关系,又可简称为数据结构。
•数据的物理结构(Physical structure) 数据元素之间抽象化的相互关系在计算机系统中的存 储方式又可简称为存储结构(Storage structure)。
程序设计
程序设计是用一系列的指令,实现解决某一问题的方法和步 骤,
程序执行方式
• 编制程序并将程序以文件的方式存放在磁盘上,计算机按 程序规定的次序自动连续的分析执行每一条命令 。
3
软件:是程序以及开发、使用和维
护程序所需的各种文档。
通常软件包括四个部分:
应用程序:直接面向用户,为解决各种特定问题而编 写的程序;
有输出:通过一系列操作 应得出正确结果
有效性:有作用
6
例:设有n个数,求其平均值
算法分析: 设用变量Sum来存放n个数之和。进行数据的累加 之前,将变量Sum清0。用变量num作为计数器来 记录累加的次数。将数输入到变量m中,逐个将 每个数加到变量Sum中,每加一次,记数器num的 内容也相应增加1,这样的过程重复进行,直到 记数器的内容大于n。最后将变量Sum中的内容除 以n即得到平均值,将平均成绩放入变量mean中, 最后输出mean的内容。
相关文档
最新文档