三种基本结构流程图
合集下载
流程图(循环结构)

I←I - 1
N
?能 够 输 出
2:
开始 输入S I←S I←I - 1
当I 被 S整
除
N
Y
输出I
I >1
结束
例3 设计一个计算10个数的平均数的算法。
算法2
S1 S←0;
S7 A ← S/10 ;
S2 I←1;
S3 输入G;
S8 输出A ;
S4 S←S + G;
S5 如果I不大于5,重新执行 S3,否则算法结束.
T←1
I←2
T←T×I
I←I + 1
N
I>5
Y
输出T 结束
最后的结果 开始
i←0,Sum ← 0
i<6
N
Y
i←i+1
Sum ← Sum + i
输出Sum 结束
开始
i ← 0,Sum ← 0
i←i+1 Sum ← Sum + i N
i≥6 Y
输出Sum 结束
I←10
写 出 输
输入10
I←I - 1
出
当I 被 10整
的
除
N
结
Y
果
输出I
吗
?
结束
?
?
是通少变
一过呢式
个 什 么 算 法
,
上 面 两 个 例 子 你 能
?
你 自 己 再 编 一 个 题
若 是
则 输 出 的
归目结
纳 出
试 试
果 是
这看多
: S 10,
开始 输入S I←S-1
当I 被 S整 除
Y
输出I 结束
算法(流程图)的三种基本结构

功能
表示一个算法的 开始和结束
表示一个算法的 输入和输出信息
赋值,执行计算语句, 结果的传送
表示判断某一个条件 是否成立
表示执行步骤的路径 流程进行的方向
程序的三种结构
程序的三种结构
顺序结构
选择结构
循环结构
顺序结构
各操作是按先后顺序执行的。是最简单的一种基本结构。
A
B
其中A和B两个框是顺序执行的。即在完成A框所指定 的操作后,必然接着执行B框所指定的操作,
没有判断框和回指的流程线。
选择结构
又称分支结构。根据是否满足给定条件而从两组操作中选择执行 一种操作。至少有一个判断框,没有回指的流程线。 入口
成立
不成立
P
A
B
出口
选择结构
某一部分的操作可以为空操作。 入口成立Fra bibliotek不成立
P
A
出口
选择结构
某一部分的操作可以为空操作。 入口
成立
不成立
P
B
出口
再来看一个“求较小数”的流程图和程序代码。
循环结构
又称重复结构。用来描述反复执行某一部分算法的操作。 循环结构又分为直到型结构和当型结构。 有回指的流程线
当型结构
条件成立时,反复执行某一部分的操作,当条件不成立时退出 环。 特点:A可能一次也没执行到。 入口
不成立
P
成立
A
出口
直到型结构
先执行某一部分的操作,再判断条件,当条件成立时,退出循 环;条件不成立时,继续循环。
2.用表格描述算法 表格是一种常用的事物关联结构描述方法,在程 序设计中,用来表现规律化算法的一种方式,适合表 达模块关系、数据传递关系、函数变量关系等内容。
流程图程序的三种基本结构语句顺序结构ppt课件共18页

成立
不成立
P
B
出口
循环结构
又称重复结构。即在一定条件下,反复执行某一部分的操作。 循环结构又分为直到型结构和当型结构。
当型结构
条特件点成:立A可时能,一反次复也执没行执某行一到部。分的操作,当条件不成立时退出 环。 入口
不成立
P
成立
A
出口
直到型结构
先特执点行:某先一执部行分,的操后作判,断再,判S断最条少件要,执当条行件一成次立。时,退出循
功能
表示一个算法的 开始和结束
表示一个算法的 输入和输出信息
赋值,执行计算语句, 结果的传送
表示判断某一个条件 是否成立
表示执行步骤的路径 流程进行的方向
程序的结构
流程图 程序的三种结构 语句 顺序结构
程序的三种结构
程序的三种结构
顺序结构
选择结构
循环结构
顺序结构
各操作是按先后顺序执行的。是最简单的一种基本结构。
环;条件不成立时,继续循环。 入口
A
不成立
P
成立 出口
程序的三种基本结构共同特点
只有一个入口。 结构内的每一部分都有机会被执行到。 结构内不存在“死循环”(无终止的循环)。
不正确循环流程图
A
A
p1 B
图中没有一条从入口 到出口的路径通过A框
流程内的死循环
程序的三种基本结构
顺序结构、选择结构、循环结构 已经证明,任何程序均可只用这三种结构实现 只用这三种结构的程序,叫结构化程序。
流程图程序的三种基本结构语句顺序结 构ppt课件
61、辍学如磨刀之石,不见其损,日 有所亏 。 62、奇文共欣赞,疑义相与析。
63、暧暧远人村,依依墟里烟,狗吠 深巷中 ,鸡鸣 桑树颠 。 64、一生复能几,倏如流电惊。 65、少无适俗韵,性本爱丘山。
程序的三种基本结构.ppt

B
真 P假 AB
多分支选择结构
k
k=k1 k=k2
A1
A2 ...
k=kn k=ki
Ai ... An
循环结构 当型循环结构
假 P
真
A
当P为真 A
直到型循环结构
A
假 P 真
A 直到P为真
注:A,B,A1….An可以是一个简单语句,也可以是一个基本结构
第5章 选择语句
• 5.1 if 条件语句 • 5.2 switch多分支选择语句 • 5.3 程序举例
1. 输入一个分数score
2 .score<60
输出 E
3 .60<=score <70 输出 D
4. 70<=score <80 输出 C
5 .80<=score <90 输出 B
6 .90<=score
输出 A
#include<stdio.h>
main( )
{ int score;
程序
scanf(“%d”, &score);
0(N) 表达式
1(Y)
if (x < 0) y = 3 - x ;
语句Biblioteka printf(“y= %6.2f”, y );
}
任给a,b,c三个数,按从小到大的顺序输出。
分析: (1)对于a,b任意两个数:
若a<b,则输出 a , b ; 否则输出 b , a ;
( 2 ) 对于三个数,有6种可能: a<b<c a<c<b b<a<c b<c<a c<a<b c<b<a
结构化程序设计的三种基本结构

第3章 结构化程序设计的三种 基本结构
结构化程序设计共有以下3种基本结构: 顺序结构 分支结构 (选择结构 )
循环结构,
(1)顺序结构,如图3.1(a)所示,该结构先执行A,再 执行B,两者是顺序执行的关系
A B 流程图
A B
N-S结构图
(2)分支结构,也叫选择结构,如图3.1(b)所示, 该结构先判断条件是否成立,当条件成立时执 行A,否则执行B。该结构只能执行A或B其中之 一
例如: m和n是整形变量,则: scanf (“%d%d”,m,n );是错误的, 应将“m,n”改为“&m,&n” 。
②如果在“格式控制串”中除了格式标识符、修饰符和格式 说明符以外还有其他字符,则应在输入数据时输入与这些字 符相同的字符。例如: scanf ("%d,%d",&m,&n );
输入时两个整数之间应加入“,”: 234,123↙ 因为,在scanf函数中的“格式控制串”中使用了逗号分 隔,所以必须在234后面加一个逗号。
表3.2 scanf函数常用的格式说明符
格式说明符 d o x c s f
功能说明 表示输入带符号的十进制整数 表示输入无符号八进制整数 表示输入十六进制无符号整数 表示输入单个字符 表示输入多个字符,即一个字符串 表示输入实数,可以用小数形式输入
表3.2 scanf函数常用③从键盘输入的数据类型和个数必须与参数表中的数 据类型和个数相匹配。例如:
scanf (“%d,%d”,&m,&n ); 输入数据时的形式:
234,10.5↙ (错误,因为数据类型不匹配) 234,105,123↙ (错误,因为数据个数不匹配) 234,123↙ (正确) ④可以指定输入数据所占的列数,系统自动按指定列 数截取数据。例如:
结构化程序设计共有以下3种基本结构: 顺序结构 分支结构 (选择结构 )
循环结构,
(1)顺序结构,如图3.1(a)所示,该结构先执行A,再 执行B,两者是顺序执行的关系
A B 流程图
A B
N-S结构图
(2)分支结构,也叫选择结构,如图3.1(b)所示, 该结构先判断条件是否成立,当条件成立时执 行A,否则执行B。该结构只能执行A或B其中之 一
例如: m和n是整形变量,则: scanf (“%d%d”,m,n );是错误的, 应将“m,n”改为“&m,&n” 。
②如果在“格式控制串”中除了格式标识符、修饰符和格式 说明符以外还有其他字符,则应在输入数据时输入与这些字 符相同的字符。例如: scanf ("%d,%d",&m,&n );
输入时两个整数之间应加入“,”: 234,123↙ 因为,在scanf函数中的“格式控制串”中使用了逗号分 隔,所以必须在234后面加一个逗号。
表3.2 scanf函数常用的格式说明符
格式说明符 d o x c s f
功能说明 表示输入带符号的十进制整数 表示输入无符号八进制整数 表示输入十六进制无符号整数 表示输入单个字符 表示输入多个字符,即一个字符串 表示输入实数,可以用小数形式输入
表3.2 scanf函数常用③从键盘输入的数据类型和个数必须与参数表中的数 据类型和个数相匹配。例如:
scanf (“%d,%d”,&m,&n ); 输入数据时的形式:
234,10.5↙ (错误,因为数据类型不匹配) 234,105,123↙ (错误,因为数据个数不匹配) 234,123↙ (正确) ④可以指定输入数据所占的列数,系统自动按指定列 数截取数据。例如:
程序的三种基本结构

• case 常量表达式2:语句2
• case 常量表达式i:语句n
• default
:语句n+1
•}
功能
首先计算表达式的值,然后依次与常量表达式 i(i=1,2,……,n)比较。 ① 若表达式的值与某一个常量表达式, 如 j (1 ≤j ≤ n)相等,则执行语句 j。 ② 若表达式的值与所有的常量表达式 i(i=1,2,……,n)均不
{ int x,y;
scanf(“%d,%d”,&x,&y);
if(x>y)
x=y; y=x; else
Compile Error!
x++; y++;
printf(“%d,%d\n”,x,y);
}
5.1.2 if语句嵌套
一般形式:
if (expr1) if (expr2) statement1 else statement2
• 5.1 if 条件语句 • 5.2 switch多分支选择语句 • 5.3 程序举例
返回
5.1 if条件语句
•if语句是用来判定所给定的条件是否满足,根据判定的结果(真或假)决定 执行给出的两种操作之一。
5.1.1 if语句的三种形式
•1.单分支选择语句的形式: if(表达式) 语句
•
main( )
内嵌if
else
if(expr3) else
statement3 statement4
内嵌if
例 输入两数并判断其大小关系
/*ch4_4.c*/
#include <stdio.h>
main()
{ int x,y;
运行:Enter integer x,y:12,23
流程图、程序的三种基本结构、语句、顺序结构

程序的结构
流程图 程序的三种结构 语句 顺序结构
程序的三种结构
程序的三种结构
顺序结构
选择结构
循环结构
顺序结构
各操作是按先后顺序执行的 是最简单的一种基本结构。 各操作是按先后顺序执行的。是最简单的一种基本结构。 顺序执行
A B
其中A和B两个框是顺序执行的。即在完成 框所指定 其中 和 两个框是顺序执行的。即在完成A框所指定 两个框是顺序执行的 完成 的操作后,必然接着执行B框所指定的操作 框所指定的操作。 的操作后,必然接着执行 框所指定的操作。
流程内的死循环
程序的三种基本结构
顺序结构、选择结构、 顺序结构、选择结构、循环结构 已经证明, 已经证明,任何程序均可只用这三种结构实现 只用这三种结构的程序,叫结构化程序。 只用这三种结构的程序,叫结构化程序。 程序设计核心思想 自顶向下, 自顶向下,精益求精 模块化( 语言的基本组成单位) 模块化(C语言的基本组成单位)
流程图所使用的符号及含义
图框 圆角矩形 平行四边形 矩形 菱形 名称 起止框 功能 表示一个算法的 开始和结束 表示一个算法的 输入和输出信息 赋值,执行计算语句, 赋值,执行计算语句, 结果的传送 表示判断某一个条件 表示判断某一个条件 是否成立 表示执行步骤的路径 流程进行的方向
输入输出框 处理框 判断框 流程线
N-S流程图使用的流程图符号 流程图使用的流程图符号
P A B
1.顺序结构 1.顺序结构 2.选择结构 2.选择结构 选择结构 当P1成立 成立 不成立
A
A
B
直到P 直到 1成立
A
3.循环结构 3.循环结构 循环结构
程序的结构
流程图 程序的三种结构 语句 顺序结构
程序设计3(3种基本结构)

流程图:
3.2.5 条件运算符(了解即可) 若if语句中,在表达式为“真”和“假”时,且都 只执行一个赋值语句给同一个变量赋值时,可以用 简单的条件运算符来处理。例如,若有以下if语句: if (a>b) max=a; else max=b; 可以用下面的条件运算符来处理: max=(a>b)?a∶b; 其中“(a>b)?a∶b”是一个“条件表达式”。它是 这样执行的:如果(a>b)条件为真,则条件表达式 取值a,否则取值b。
3.3.5 示例:
4பைடு நூலகம்
1
1 3 1 5 1 7
例:多项式如下:π/4 =1 - 1/3 + 1/5 - 1/7 + 1/9 ... 计算的项数n由键盘输入,求π。结果保留2位小数。 #include <iomanip> int main(){ int n, sign=1; double sum=0.0; cin>>n; for(int i=1; i<=n; i+=2) { sum = sum + sign*1.0/i; sign = -sign; } // 设置浮点数的小数个数2位 cout<<fixed<<setprecision(2)<<4*sum<<endl; return 0; }
3.3.3 for
for语句使用最为灵活,不仅可以用于循 环次数已经确定的情况,而且可以用于循环 次数不确定而只给出循环结束条件的情况, 它完全可以代替while语句。一般形式为: for(表达式1;表达式2;表达式3) 语句
它的执行过程如下: (1) 先求解表达式1。 (2) 求解表达式2,若其值为真, 则执行for语句中指定的内嵌语句, 然后执行下面第(3)步。若为假, 则结束循环。 (3) 求解表达式3。 (4) 转回上面第(2)步骤继续执 行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三种基本结构流程图
1.顺序结构
图1 顺序结构N-S流程图
2.选择结构
if语句的三种形式
(1)形式一:if(表达式)语句;
该形式表示的是单分支选择结构,其N-S流程图如图2所示:
图2 形式一N-S流程图
(2)形式二:if(表达式)语句1;
else 语句2;
该形式表示的是双分支选择结构,其N-S流程图如图3所示:
图3 形式二N-S流程图
(3)形式三:if(表达式1)语句1;
else if(表达式2)语句2;
else if(表达式3)语句3;
……
else if(表达式n-1)语句n-1;
else 语句n;
该形式表示的是多分支选择结构,其N-S流程图如图4所示:
图4 形式二N-S流程图
◆ switch 语句
多分支选择的问题,可以使用嵌套的if 语句解决。
但在某些情况下,使用switch 语句可能更为方便。
switch 语句的一般形式是:
switch (表达式)
{ case 常量表达式E1: 语句组1; break ;
case 常量表达式E2: 语句组2; break ;
……
case 常量表达式En : 语句组n ; break ;
default :语句组n+1;
}
图5 switch 语句N -S 流程图
3.循环结构
◆ while 语句
(1)一般形式
While (表达式)
循环体语句;
(2)N -S 流程图如图6所示:
图6 while 语句N -S 流程图
◆ do-while 语句
(1)一般形式
do{
循环体语句;
}while (表达式);
(2)N -S 流程图如图7所示: 图7 do-while 语句N -S 流程图
◆ for 语句
(1)一般形式
for(表达式1;表达式2;表达式3)
循环体语句;
(2)N-S流程图如图8所示:
图8 for语句N-S流程图学习是成就事业的基石。