算法与程序设计基础PPT课件

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

⑵选择结构
选择结构或称分支结构,条件结构。此结构中必包含一个判断
框,根据给定的条件P是否成立来进行选择。若P成立,则执行A框
C 中的操作,否则,执行B框中的操作。

⑶循环结构
循环结构又称重复结构,有两种:当型循环、直到型循环。



11
用流程图表示例3.2:
C 编 程 技 术
12
[本节]
3.2.3 N-S结构流程图
地位。正如著名的计算机科学家沃思(Nikiklaus Wirth)所指出的
如下公式:
程序=数据结构+算

4
【例3.1】求1+2+3+4+…+100=?
算法1
步骤1:1+2=3
步骤2:3+3=6
步骤3:6+4=10


步骤99:4950+100=5050

算法2 步骤1:0+100=100

步骤2:1+99=100
一个方法要成为我们可以在程序设计中所使用的算法,需要具备
如下特征:
1.有穷性
一个算法要在有限的步骤内解决问题(这里所说的步骤是指计算
C 机执行步骤)。计算机程序不能无限地运行下去(甚至不能长时间
编 地运行下去),所以一个无限执行的方法不能成为程序设计中的

“算法”。 例如,求某一自然数N的阶乘:n!=1*2*3*…*n
④ 如果t≤m,返回第②步重新执行。如果t>m,则不再返回②,
而停止循环,此时s中的值就是m!,输出s。
9
[本节]
3.2.2 流程图
流程图表示法就是用各种图框表示各种操作。这种表示法的优
点是 直观易于理 解 。流程图 表示法是美 国国家标准 化协会 ANSI
(Amreican National Standard Institute)规定的。一些常用的流程

这是一个算法。因为对任何一个自然数而言,无论这个数多大,

总是有限的。用这个公式计算n!总是需要有限的步骤。
但是,以下计算公式则不能作为算法,因为其计算步骤是无限
的:sum=1+1/1+1/2+1/3+…+1/n+…
6
2.确定性
算法中操作步骤的顺序和每一个步骤的内容都应当是确定的,
不应当是含糊不清的。它也不能有不同的解释存在,即不能具有

能还需要考虑采用什么数学方法。这一切都涉及一个专业名词—— “算法”。

算法——为解决一个实际问题而采取的方法和步骤

很多时候,程序设计者所面临的问题就是寻找一个合适的算法。
例如,一个熟练的程序员,要设计一个下“五子棋”的游戏程序,
技 对他而言,C语言的编程规则已经清楚。他所面对的核心问题是寻找
术 一种可以模拟人下棋的算法。因此,算法在软件设计中具有重要的
第3章 算法与程序设计基础
3.1 算法

3.2 算法的常用表示方法

3.3 结构化程序设计方法

3.4 C语句概述

补充:顺序结构程序设计

3.5 选择结构程序设计
3.6 循环程序设计
ቤተ መጻሕፍቲ ባይዱ
3.7 综合程序应用举例
1
[目录]
C 编 程 整体 技 概述 术
一 请在这里输入您的主要叙述内容

请在这里输入您的主要 叙述内容
if(A>B) A=A+1;

对于某些程序员来说,自然语言通俗易懂。

缺点是:很冗长,不直观,而且容易发生歧义。
技 【例3.2】求m!
如果m=6,即求1×2×3×4×5×6。我们先设s代表累乘之积,以t
术 代表乘数,自然语言表示m!的算法为:
① 使s=1,t=1。
② 使s×t,得到的积仍放在s中。
③ 使t的值加1。


3.2.4 伪代码表示法

3.2.5 用计算机语言表示算法
[本章]
8
3.2.1 自然语言表示法
自然语言是指人们在日常生活中使用的语言,如汉语、英语等。
比如对于以下这句话:如果A大于B,就给它加1。在理解时就可
能出现歧义,是给A加1?还是给B加1。

对于以上的一段话,如果我们用C语言进行编程则为:

以没有输入,例如:计算出5!是多少。 5.有一个或多个输出
算法的目的就求解,“解”就是我们想要得到的最终结果。输
出是同输入有着某些特定关系的量。一个算法得到的最终结果就是
输出。没有输出的算法是没有意义的。
[本节]
7
3.2 算法的常用表示方法
3.2.1 自然语言表示法

3.2.2 流程图

3.2.3 N-S结构流程图
三 请在这里输入您的主要叙述内容
3.1 算法
3.1.1 算法的概念

3.1.2 算法的特性




[本章]
3
3.1.1 算法的概念
当我们要编写一个程序的时候,我们总要首先想好程序是干什
么的?应该如何实现这些目标?(应该先进行什么处理、后进行什么
处理?)所处理的数据的格式是什么?遇到一些复杂的问题,我们可


A

B
当P成立
A
A
当P成立
顺序结构 选择结构
当型循环
直到型循环
13
用N-S结构流程图表示例3.2:
开始
输入m
C s=1

t=1

s=st

t=t+1

当t≤m成立
输出s
结束
14
[本节]
1973年美国学者I.Nassi 和B.Shneiderman提出了一种新的流程图
形式。在这种流程图中,完全去掉了带箭头的流程线。全部算法都
是在一个矩形框内,在该框内还包含其它的从属于它的框。或者说
C 由一些基本的框组成一个大框。这种方法就以这两位学者的名字缩
写而成,被称为“N-S图”。

N-S图可以表示的三种典型结构:
C 图符号在Word中都可以通过“绘图”命令来绘制。

结构化程序设计中采用三种基本结构,
即顺序结构、选择结构和循环结构,这三种
程 基本结构有以下共同特点:

只有一个入口;

只有一个出口; 结构内的每一部分都有机会被执行到;
结构内不存在“死循环”(无终止的循环)。
10
⑴顺序结构
A和B两个框是顺序执行的。
“二义性”,不应当产生两种或多种以上的含义。
3.可行性

每一个算法是可行的,即算法中的每一个步骤都可以有效地执

行,并得到确定的结果。 (例如:b=0,执行a/b)
4.有零个或多个输入

输入就是从外界取得必要的信息。一个算法可以有零个或多个
技 输入,例如:输入一个年份,判断其是否是闰年。同时一个算法可
步骤3:2+98=100



步骤50:49+51=100 步骤51:100*50=5000
步骤52:5000+50=5050
算法3
步骤1:k=1,s=0
步骤2:如果k>100,则算法结束,s即为所求的和,输出s;否则转向步
骤3
步骤3:s=s+k,k=k+1
5
步骤4:转向步骤2
[本节]
3.1.2 算法的特性
相关文档
最新文档