程序的控制结构及结构化程序设计方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程
序 算法的特性
的
控 1.有穷性:在有限的时间内,操作步骤能够终止。
制
结 构
2.确定性:每一步操作的含义必须明确,不允许有歧义性。
与 结
3.有效性:每一步都应当能有效地进行并得到确定的结果。
构
化 4.有0个或多个输入。
程
序 5.有1个或多个输出。
设
计
方
法
第
三 章
求12345
简单算法举例
算法一
算法二
设 算法二:利用循环算法,借助两个变量,可求任意数的阶乘,提高通用性。
计
方
法
第 三
求1+2+3+4……+100
章
算法:
程
S1:n=1
序
的
S2:s=0
控
制 结
S3:s=s+n
构 与
S4:n=n+1
结 构
S5:若n 100,返回到S3,否则结束。
化
程
序
设
计
方
法
第
三
求 1+3+5+7+……+99
章
算法:
程 2. 传统流程图
序
的
控
制
结
构 与
处理框
输入输出框 开始/结束框 判断框
结
构
化
程
序
设
计
方
法
连接符
流程线
第 求 n!的算法 (用流程图表示)
三
章
直到型循环
算法: S1:p=1
开始
程 S2:i=2
P=1
序 的
S3:p i
i
控 S4:i+1 i
制
结 S5:若i 5,返回S3,否则结
构 与
束,得出结果 p为5!。
i=2 P=P*i
结
i=i+1
构
化 程
N i>5
序 设 计
Y 打印P
方
法
结束
当型循环
开始
P=1
i=2
P=P*i
i 5
N 打印P
i=i+1 Y
结束
第
三 3. N-S结构化流程图
章
取消传统流程图中的流程线,基本结构及算法的表示
均在一个矩形框内,从上到下顺序执行,从而避免了算法流
程的任意转向,保证了程序的质量,适于表示结构化的算法。
构
5.了解结构化程序设计的基本思想
与
结
构
化
程
序
设
计
方
法
第 三
第三章 程序的控制结构及结构化程序设计方法
章
3.1 算法与算法的表示方法
程
3.2 顺序结构程序设计
序
的
3.3 选择结构程序设计
控
制 结
3.4 循环结构程序设计
构
与 结
3.5 结构化程序设计方法简介
构
化
3.6 简单的程序调试方法
程
序
设
计
方
法
序 的
C语言实现选择结构的两种语句:if语句和switch语句。
i=i+1; } printf(“%d”,p) }
第 求 n!的算法 (用N-S图表示)
三 章
main( )
{
程
序 的
p=1
控 制
i=2
结
p=p*i
构
与
i=i+1
结
构
直到 i>5
化
程
打印t
序
设
计
方
法
int i,p; p=1; i=2; do{
p=p*i ; i=i+1; } while(i<=5) printf(“%d”,p) }
3.2 顺序结构程序设计
第
三
章 3.2.1 顺序结构流程图表示
入口
程
序 的
A
A
控 制
B
结
B
构
与
结 构
出口
化
程
传统流程图
N-S 流程图
序
设
计 方
顺序结构的特点是完全按照语句出现的先后次序执行程序.
法
3.2.2 顺序结构应用举例
第 三 章
#include <stdio.h>
/*引用标准输入输出头文件*/
程 序
S1:n=1
的
控
S2:s=0
制
结
S3:s=s+n
构
与 结
S4:n=n+2
构 化
S5:若n <100,返回到S3,否则结束。
程
序
设
计
方
法
第
三 求 2+4+6+8+…..+100
章
算法:
程
S1:n=2
序 的
S2:s=0
控
制
S3:s=s+n
结
构 与
S4:n=n+2
结 构
S5:若n 100,返回到S3,否则结束。
程
序 的
所谓结构化算法就是由基本结构顺序组成的,基本结
控 制
构之间无跳转。
结
构
与
结
构
化
程
序
设
计
方
法
第 三
传统的流程图表示的三种基本结构
章
选择
顺序
程
序
的
控
制
结
构
与 结
当 型
构
循
化
环
程
序
设
计
方
法
A B
A P
Y N
Y
N
P
A
B
直
到
型
循
A
环
N
P
Y
Y
N
P
A
第 三
N-S流程图表示的三种基本结构
章
程
顺序
序
A
的
控
B
制
结
构
与
结
当型循环
构
化
当P成立
程
序
设 计
A
方
法
选择
P
Y
N
AB
直到型循环
A
直到P成立
第 求 n!的算法 (用N-S图表示)
三 章
程
序 的
p=1
控 制
i=2
结
当 i<=5
构
与
p=p*i
结
构
i=i+1
化
程
打印t
序
设
计
方
法
main( ) { int i,p; p=1; i=2; while(i<=5) { p=p*i ;
化
程
序
设
计
方
法
第 三
求 1-2+3-4……-100
章
算法:
S1:sign=1
程
序
s2:n=2
的
控
S3:s=1
制
结
S4:sign=(-1)*sign
构
与
S5:s=s+sign*n
结
构
S6:n=n+1
化
程 序
S7:若n 100,返回到S4,
设
否则结束。
计
方
法
第 三
3.1.2 算法的表示方法
章
1. 自然语言
第
3.1 算法与算法的表示方法
三
章
3.1.1 算法的概念
程 序
数据结构+算法=程序
的
控 数据结构:对数据的描述和组织形式,
制
结 算法:对操作或行为的描述,既操作步骤。
构
与
结
构
化 •算法——为解决一个具体问题而采取的确定的有限的操作步骤。
程
序
设
计
方
法
第 算法的分类
三
章 1.数值运算算法
2.非数值运算算法
#include <math.h>
/*引用数学头文件,调用标准数学函数*/
main()
程 序
{ float a,b,c,disc,x1,x2,p,q;
的
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
控
制
disc=b*b-4*a*c;
结 构
p=-b/(2*a); q=sqrt(disc)/(2*a);
S1:求12 ,得2;
S1:p=1
程 序
S2:将S1得的2再乘3,得6;
S2:i=2
的 控
S3:将S2得的6再乘4,得24;
S3:p i i
制 S4:将24再乘5,得120,结果。
结 构
S4:i+1 i S5:若i5,返回S3,否则结束,
与 结
得出结果 p为5!。
构 化
比较两个算法
来自百度文库
程 序
算法一:繁琐,数目大时步骤太多。
第 三
第三章 程序的控制结构及结构化程序设计方法
章
本章主要内容:
1.了解算法的表示方法及其在程序设计中的重要地位.
程 序
2.掌握 C 语言的基本控制结构和基本控制语句.
的 控
3.掌握用 C 语言的基本控制语句进行顺序,选择和循环结果程序的设计.
制 结
4.掌握一些常用的算法,如递推法,迭代法,穷举法等.
与 结
x1=p+q; x2=p-q;
构
printf("\n\nx1=%5.2f\nx2=%5.2f\n",x1,x2);
化
程
}
序
设 输入:a=1,b=3,c=2
计 方
输出:x1=-1.00
法
x2=-2.00
第
3.3 选择结构程序设计
三
章
选择结构是结构化程序设计的三种基本结构之一,就
程 是根据条件选择所要进行的操作。