第1页/共91页
算法的基本概念
1 算法(Algorithm)的概念:
广义地讲算法是解决问题的方法和步骤,是对特定问题求解步骤的一种描述。
计算机算法是用程序解决问题的逻辑步骤,是指令的有限序列。
第2页/共91页
(1)自然语言
【例】输入两个数,求其中的最大数。
2 算法的各种描述方法
自然语言算法可表示如下:
(1) 设两个数为x和y,最大数为z。
(2) 输入两个数给x和y。
(3) 如x大于或等于y,则最大数z的值等于x的值。否则,最大数z的值等 于y的值。
(4) 输出最大数z。
(5) 结束算法。
第3页/共91页
概念:以特定的图形符号加上说明,表示算法的图 ,称为流程图或框图。
符号及其意义:
(2)用流程图表示
开始/结束框
一般处理框
判断框
输入/输出框
流程框
转接符
第4页/共91页
输入x
A
x 0?
y=1
y =-1
true
false
A
输出y
流程图描述算法举例
start
end
⒈用框图描述函数
1 x 0
y =
-1 x < 0
第5页/共91页
【例】已知三角形的3条边长,利用海伦公式,计算三角形的面积。其流程图描述如图
第6页/共91页
程序的基本结构
结构化程序设计是软件设计的第三次革命。结构化程序设计的基础是采用三种程序的控制结构。
1966年BÖHM &Jacopini 证明:只要三种控制结构就能表达用
一个入口和一个出口框图所能表达的任何程序逻辑。
三种控制结构如下:
⒈顺序结构Sequence
算法描述:
f;
g;
框图:
f;
g;
⒉选择结构Selection(分支结构)
算法描述:
if(e)
f;
else
g;
框图:
e?
TRUE
f;
FALSE
g;
第7页/共91页
⒊循环结构Repetition
⑴当型循环
while c is true
do f;
c?
f
TRUE
FALSE
⑵直到循环
do f;
until c is false
f
c?
TRUE
FALSE
三种控制结构有如下共同的特点:
一个入口和一个出口;(程序执行路径的唯一性,结果再现性)
无死语句;(每条语句都可能执行到)
无死循环。(不能无限制执行,在确定的步骤结束)
第8页/共91页
选择结构Selection(分支结构)
第9页/共91页
结构的三种形式
⒈ if 及 if-else 的三种结构
由标准的分支结构可以演化成单分支、多分支结构。C语言的分支语句有if 、if – else、switch三种。
⑴ if语句(单分支)
格式:
if(expression)statement;
语句
表达式,非0为true,0为false。
流程图
e?
statement;
TRUE
FALSE
第10页/共91页
计算机软件及应用流程控制PPT课件 来自淘豆网m.daumloan.com转载请标明出处.