4.2 用流程图表示算法
流程图表示算法,直观形象,易于理解。
【例 2.6】将例 2.1 求 5!的算用流程图表示。
谭浩强 C 语言程序设计 2001 年 5 月 1 日
【例 2.7】将例 2.2 的算用流程图表示。
谭浩强 C 语言程序设计 2001 年 5 月 1 日
【例 2.8】将例 2.3 判定闰年的算用流程图表示。
1
1
1
谭浩强 C 语言程序设计 2001 年 5 月 1 日
1 1
1 ? + ? + ... + ?
【例 2.9】将例 2.4 求
一个流程图包括:
2
3
4
99
100 的算用流程图表示。
1. 表示相应cāo作的框;
2. 带箭头的流程线;
3. 框内外必要的文字说明。
谭浩强 C 语言程序设计 2001 年 5 月 1 日
2.4.3 三种基本结构和改进的流程图
1. 顺序结构:
2. 选择结构:
3. 循环结构
三种基本结构的共同特点:
? 只有一个入口;
? 只有一个出口;
谭浩强 C 语言程序设计 2001 年 5 月 1 日
? 结构内的每一部分都有机会被执行到;
? 结构内不存在“死循环”。
2.4.4 用 N-S 流程图表示算法
1973 年美国学者提出了一种新型流程图:N-S 流程图。
顺序结构:
选择结构:
循环结构:
2.4.5 用伪代码表示算法
谭浩强 C 语言程序设计 2001 年 5 月 1 日
伪代码使用介于自然语言和计算机语言之间的文字和符号来描述算法。
谭浩强 C 语言程序设计 2001 年 5 月 1 日
2.4.6 用计算机语言表示算法
? 我们的任务是用计算机解题,就是用计算机实现算法;
? 用计算机语言表示算法必须严格遵循所用语言的语法规则。
【例 2.20】求 1×2×3×4×5 用 C 语言表示。
main()
{int i,t;
t=1;
i=2;
while(i<=5)
{t=t*i;
i=i+1;
}
printf(“%d”,t);
}
【例 2.21】求级数的值。
main()
{
int sigh=1;
float deno=2.0,sum=1.0,term;
while(deno<=100)
{ sigh= -sig