1 / 43
文档名称:

c语言 算法.ppt

格式:ppt   页数:43页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

c语言 算法.ppt

上传人:wc69885 2015/10/4 文件大小:0 KB

下载得到文件列表

c语言 算法.ppt

相关文档

文档介绍

文档介绍:第 2 章程序的灵魂--算法
算法的概念
1
简单算法举例
2
算法的特性
3
怎样表示一个算法
4
结构化程序设计方法
5
1
算法的概念
程序
解决某问题,用编程语言描述的一组计算机能够识别和执行的指令。
对数据的描述
程序
对操作的描述
数据结构
算法
2
为解决一个问题
而采取的方法和步骤。
算法
计算机能够执行的算法,是由若干条指令组成的有穷序列。
计算机算法
非数值运算:事务管理领域。
数值运算:求数值解。
3
Nikiklaus Wirth提出的公式:
程序=数据结构+算法
程序=算法+数据结构+程序设计方法+语言工具和环境
4
简单算法举例
求1×2×3×4×5
这样的算法虽然正确,但太繁琐。
先求1×2,得到结果2。
步骤1
将乘积2乘以3,得到结果6。
步骤
2
将乘积6再乘以4,得24。
步骤
3
将乘积24再乘以5,得120。
步骤
4
5
改进的算法
使t=1
步骤1
使i=2
步骤
2
使t×i, 乘积仍然放在在变量t中, t×i →t
步骤
3
使i的值+1,即i+1→i
步骤
4
如果i≤5, 返回S3继续执行;否则,算法结束。
步骤5
如果计算100!只需将S5:若i≤5改成i≤100即可。
6
考虑如果S5步骤写成:若i <11,返回S3。结果如何?
求1×3×5×7×9×11 ?
使t=1
步骤1
使i=2
步骤
2
使t×i, 乘积仍然放在在变量t中, t×i →t
步骤
3
使i的值+1,即i+1→i
步骤
4
如果i≤5, 返回S3继续执行;否则,算法结束。
步骤5
7
S1: 1→i
S2: 如果gi≥80,则打印ni和gi,否则不打印
S3: i+1→i
S4:若i≤50, 返回S2,否则,结束。
有50个学生,要求将他们之中成绩在80分以上者打印出来。
如果,n表示学生学号,ni表示第i个学生学号;g表示学生成绩,
gi表示第i个学生成绩,则算法可表示如下:
8
判定2000-2500年中的每一年是否闰年,将结果输出。
闰年的条件:
能被4整除,但不能被100整除的年份;
能被400整除的年份;
。非闰年
,但不能被100整除。闰年
,又能被400整除。闰年

非闰年
9
则算法可表示如下,设y为被检测的年份:
S1: 2000→y
S2:若y不能被4整除,则输出y“不是闰年”,然后转到S6
S3:若y能被4整除,不能被100整除,则输出y“是闰年”,然后转到S6
S4:若y能被100整除,又能被400整除,输出y“是闰年”否则输出y“不是闰年”,然后转到S6
S5:输出y“不是闰年”。
S6:y+1→y
S7:当y≤2500时, 返回S2继续执行,否则,结束。
10