第4章 控制结构程序设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2020/10/10
《解析C程序设计(第2版)》第4章 控制结构程序设计
7
(1)a1 = 1; /*第10天的桃子数作为a1的初 值*/
i = 9。/*计数器初值为9*/
(2)a0= 2 * (a1+ 1)。/*计算当天的桃子 数*/
(3)a1= a0。/*将当天的桃子数作为下一次计 算的初值*/
3
❖根据算法,依据某种编程语言的语法规则 编写计算机执行的命令序列,就是程序设 计。
❖著名计算机科学家沃思(Nikiklaus Wirth) 提出了一个公式:“数据结构+算法=程 序”,即程序设计包括算法设计和数据存 储。除此之外,还有结构化程序设计方法 和计算机语言。
2020/10/10
《解析C程序设计(第2版)》第4章 控制结构程序设计
如右图所示,虚线框内是一
个while型结构。它的功能是当给
定的条件p成立时,执行A框操作, 执行完A后再判断条件p是否成立, 如果仍然成立,再执行A框,如此 反复执行A框,直到某一次p条件 不成立为止,此时不执行A框,而 是从b点脱离循环结构。
PAD图 伪代码
自然语言
N-S图 流程图
2020/10/10
《解析C程序设计(第2版)》第4章 控制结构程序设计
10
用自然语言表示算法
❖【例4-1】输入三个数,然后输出其中最大 的数。
❖(1) 输入A,B,C。 ❖(2) 若A > B,则MAX=A;否则MAX=B。 ❖(3) 若C > MAX,则MAX=C。 ❖(4) 输出MAX,MAX即为最大数。
❖a8= 2 * (a9+ 1)
❖…
❖a1= 2 * (a2+ 1)即ai= 2 * (ai+1 + 1 ),i=9,8,7,6,…,1
❖ 这就是本题的数学模型。
2020/10/10
《解析C程序设计(第2版)》第4章 控制结构程序设计
6
❖ 再考察上面从a9、a8直至a1的计算过程,这其 实是一个递推过程,这种递推的方法在计算机解 题中经常用到。另一方面,这9步运算从形式上 完全一样,不同的只是ai的下标。由此,可引入 循环的处理方法,并统一用a0表示前一天的桃 子数,a1表示后一天的桃子数,将算法改写如 下:
4
提出问题
❖猴子吃桃问题: 有一堆桃子不知数目,猴子第一 天吃掉一半,觉得不过瘾,又多吃了一个,第二 天照此办理,吃掉剩下桃子的一半另加一个,天 天如此,到第十天早上,猴子发现只剩一个桃子 了,问这堆桃子原来有多少个?
2020/10/10
《解析C程序设计(第2版)》第4章 控制结构程序设计
5
分析问题
起止框 输入输出框 判断框
处理框
或 流程线
连接点
注释框
三种基本结构:
为了解决程序设计混乱的问题,1966年提出了三种基本结构:顺序结构、选 择结构、循环结构,然后由这些基本结构按一定规律组成一个算法结构,整个 算法结构是由上而下将各个基本结构顺序排列起来的。使用这三种基本结构顺 序组成的算法结构,可以解决任何复杂的问题,并且是“结构化”的算法。
a
a
成立
A
不成立
P B
成立
A
不成立
P
b
b
2020/10/10
《解析C程序设计(第2版)》第4章 控制结构程序设计
14
流程图——当型循环结构
循环结构(或称重复结构):
循环结构即反复执行某一部分的操作,分为当型(while型)循环结构和直到
型(until型)循环结构两类。
a
当型(while型)循环结构:
《解析C程序设计(第2版)》第4章 控制结构程序设计
2
❖面对各种需要解决的问题,人们必须首先 对各类问题进行分析,确定解决问题的方
法和步骤即算法,再借助某一种编程语言 编制好一组让计算机执行的指令(即程 序),让计算机按人们指定的步骤有效地
工作。
2020/10/10
《解析C程序设计(第2版)》第4章 控制结构程序设计
a
Aபைடு நூலகம்
B
b
2020/10/10
《解析C程序设计(第2版)》第4章 控制结构程序设计
13
流程图——选择结构
选择结构(或称选取结构,或称分支结构):
如下图所示,虚线框内是一个选择结构。此结构必包括一个判断框,根据给 定的条件p是否成立,而选择执行A框或B框。
注意:无论条件p是否成立,只能执行A框或B框之一,不可能既执行A框又执 行B框。A或B两个框中可以有一个是空的,即该空框不执行任何操作。
2020/10/10
《解析C程序设计(第2版)》第4章 控制结构程序设计
11
算法的描述——流程图
用流程图表示算法,形象直观,比较清楚地显示出各个框之间的逻辑关系, 易于理解。但流程图占用篇幅较多,当算法较复杂时,画流程图既费时,又不 方便。但必须掌握。
美国国家标准化协会ANSI规定了一些常用的流程图符号,并已被世界各国 程序工作者采用:
(4)i=i-1。
(5)若i>= 1,转(2)。
(6)输出a0的值。
其中(2)~(5)步为循环。
2020/10/10
《解析C程序设计(第2版)》第4章 控制结构程序设计
8
算法的基础知识
❖重点掌握算法的描述方法!
2020/10/10
《解析C程序设计(第2版)》第4章 控制结构程序设计
9
算法的描述方法
《C语言程序设计》
第4章 控制结构程序设计
2020/10/10
本章内容
1
算法的基础知识
2
大小写字母转换问题
顺序结构程序的概念 字符数据的输入输出
3
闰年问题
选择结构程序的概念 if语句 switch语句
4
平均成绩问题
循环结构程序的概念 自增自减运算符与逗号表达式 while循环 do-while循环 for循环 转移语句
❖ 本题初看起来有些无从下手的感觉,那么怎样开 始呢?假设第一天开始时有a1个桃子,第二天 有a2个,…,第9天有a9个,第10天有a10个 ,在a1,a2,…,a10中,只有a10=1是知 道的,现要求a1,由题意可知,a1,a2,…, a10之间存在一个简单的关系:
❖a9= 2 * (a10+ 1)
2020/10/10
《解析C程序设计(第2版)》第4章 控制结构程序设计
12
流程图——顺序结构
顺序结构是程序设计中最简单的 一种基本结构。
如右图所示,形象地描述了一个 最简单的顺序结构:图中虚线框内是 一个顺序结构。其中A和B两个框是顺 序执行的,即在执行完A框所指定的 操作后,必然接着执行B框所指定的 操作。