C语言 第02章 程序的灵魂—算法

C语言 第02章 程序的灵魂—算法

ID:43187536

大小:727.50 KB

页数:30页

时间:2019-10-02

C语言 第02章 程序的灵魂—算法_第1页
C语言 第02章 程序的灵魂—算法_第2页
C语言 第02章 程序的灵魂—算法_第3页
C语言 第02章 程序的灵魂—算法_第4页
C语言 第02章 程序的灵魂—算法_第5页
资源描述:

《C语言 第02章 程序的灵魂—算法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第二章程序的灵魂—算法2.1算法的概念2.2简单算法举例2.3算法的特性2.4怎样表示一个算法2.5结构化程序设计方法第二章目录2.1算法的概念2.1算法的概念程序=数据结构+算法(2)算法——解决问题所采取的方法和操作步骤。用语句来实现。(1)数据结构——数据的类型和数据的组织形式。高级语言中用变量定义来实现。操作的目的是对数据进行加工处理,以得到期望结果。数据是操作的对象。2.2简单算法举例例2.1设有两个杯子A和B,分别盛放酒和醋,要求将它们互换。2.2简单算法举例S1:再取一个杯子CS2:ACS3:BAS4:CB,交换完成。例2.2求1+

2、2+3+······+1002.2简单算法举例S1:0s,1iS2:s+isS3:i+1i。S4:如果i≤100,则返回S2;否则输出s,结束。思考:求n!例2.3从十个数中求出最大值。2.2简单算法举例S1:设计数器i=1,把第一个数放入变量max中。S2:i+1iS3:将max与第i个数进行比较,如果max较小,则将第i个数放入max中。S4:如果i<10,则返回S2;否则输出max,结束。例2.4判断某一年y是否闰年。2.2简单算法举例S1:如果y能被4整除,转至下一步;否则,S5。S2:如果y能被100整除,转至下一步;否则,S4。S

3、3:如果y能被400整除,转至S4;否则,转至S5。S4:输出y“是闰年”,结束。S5:输出y“不是闰年”,结束。闰年的条件:①能被4整除,但不能被100整除。②能被400整除。例2.5对一个大于或等于3的正整数n,判断它是不是一个素数。2.2简单算法举例判断是否素数的方法:将n作为被除数,将2到之间的各个整数轮流作为除数,如果都不能被整除,则n为素数。2.2简单算法举例S1:输入n的值S2:2i(i作为除数)S3:n除以i得余数rS4:如果r=0,则输出n“不是素数”,结束;否则,下一步。S5:i+1iS6:如果i≤,返回S3;否则输出n“是素数

4、”,结束。2.3算法的特征2.3算法的特征1.有穷性2.确定性3.有零个或多个输入4.有一个或多个输出5.有效性2.4怎样表示一个算法2.4怎样表示一个算法1.用自然语言表示算法通俗易懂,但容易出现“歧义性”。2.用流程图表示算法直观形象,易于理解。起止框输入输出框判断框处理框流程线连接点注释框2.4怎样表示一个算法例2.1流程图开始准备好A、B、C将A=>C将B=>A将C=>B结束2.4怎样表示一个算法例2.2求5!开始1=>t,1=>ss*t=>st+1=>t结束t≤5YN2.4怎样表示一个算法例2.3流程图开始1=>i,第1个数=>maxi+1=

5、>i第i个数=>max结束i≥10NY第i个数>maxYN2.4怎样表示一个算法例2.4开始年份=>y结束y能被100整除y能被4整除YNY是闰年NY不是闰年Yy能被400整除YN三种基本结构2.4怎样表示一个算法(1)顺序结构(2)选择结构aABbapA成立B不成立b2.4怎样表示一个算法①当(while型)循环②直到(until型)循环ab(3)循环结构p1Aabp2A成立不成立成立不成立2.4怎样表示一个算法用N-S流程图表示算法(1)顺序结构(2)选择结构(3)循环结构ABAB不成立p成立①当(while型)循环②直到(until型)循环当p1

6、成立A直到p2成立A2.4怎样表示一个算法例.判断2000-2500年中的每一年是否闰年,将结果输出。2000yy/4的余数为0y/100的余数不为0打印y“是闰年”y/400的余数为0打印y“是闰年”打印y“非闰年”打印y“非闰年”y+1y直到y>2500是否是否是否2000=>y2.4怎样表示一个算法例.对一个大于或等于3的正整数,判断它是不是素数。输入n0w2in/i的余数rr=0是否1wi+1i直到i>或w=1w=0是否输出n“是素数”输出n“不是素数”r=0w=1(N)r≠0w=0(Y)2.4怎样表示一个算法3.用伪代码表示算法

7、书写方便、格式紧凑,易懂。常用于算法设计阶段。例.打印x的绝对值若x为正打印x否则打印-x例.求5!BEGIN1t2iwhilei<=5{t*iti+1i}printtEND2.4怎样表示一个算法4.用计算机语言表示算法必须严格遵守所用语言的语法规则。只有运行了程序才是实现算法。main(){inti,t;t=1;i=2;while(i<=5){t=t*i;i=i+1;}printf(“%d”,t);}2.5结构化程序设计方法1.结构化程序设计2.5结构化程序设计方法2.“自顶向下”的模块化程序设计方法将一个大问题按层次分解成多个方便解决小问题

8、的模块的设计思想.C语言是结构化的程序设计语言。一种设计程序的技术。自顶向下、逐步细化单入口单

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。