C语言高级教程计算机算法初步ppt课件.ppt

C语言高级教程计算机算法初步ppt课件.ppt

ID:59476200

大小:120.50 KB

页数:29页

时间:2020-09-14

C语言高级教程计算机算法初步ppt课件.ppt_第1页
C语言高级教程计算机算法初步ppt课件.ppt_第2页
C语言高级教程计算机算法初步ppt课件.ppt_第3页
C语言高级教程计算机算法初步ppt课件.ppt_第4页
C语言高级教程计算机算法初步ppt课件.ppt_第5页
资源描述:

《C语言高级教程计算机算法初步ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章计算机算法初步3.3递推与迭代法3.2穷举法3.1算法的概念3.1算法的概念利用计算机求解问题的一般过程(1)问题分析阶段(2)数据结构设计阶段(3)算法设计阶段(4)编码与调试阶段算法描述在计算机科学的发展过程中,人们已经提出了很多种类的算法描述方法。一种是自然语言的描述方法。鉴于自然语言本身过于灵活且又缺乏严谨性,所以容易产生理解上的歧义。还有一种算法的图形描述方式——流程图。它采用一些标准的图形符号描述算法的操作过程,从而避免了人们对非形式化语言的理解差异。起止框I/O框处理框判断框调用框连接框有向边常用流程图符号例1:求解一元二次方程问题分析假设一元二

2、次方程可以书写成ax2+bx+c=0。可以看出,任何一个一元二次方程都由三个系数a、b、c惟一确定,所以,首先需要用户输入三个系数,然后再根据一元二次方程的求解规则计算最终的结果,并将结果显示输出。算法描述#include#includemain(){inta,b,c,t;doublet0;printf(“Inputa,b,c:”);scanf(“%d%d%d”,&a,&b,&c);t=b*b–4*a*c;if(t<0)printf(“Nosolution”);elseif(t==0)printf(“X=%lf”,-b/(2

3、.0*a));else{/*doublet0;*/t0=sqrt((double)t);printf(“X1=%lf,X2=%lf”,(-b+t0)/(2*a),(-b-t0)/(2*a));}}程序代码3.2穷举法概述穷举法,又称为枚举法,是人们日常生活中常用的一种求解问题的方法。例如,从某个班中找出所有班干部,需要逐一对每个同学进行查看,判断是否是班干部。这种方法的基本思路就是一一列举每个可能性,逐个进行排查。因此,穷举法的核心在于明确问题的所有可能性,并针对每种可能情况逐个进行判断,最终找出正确问题的答案。穷举法应用实例1:素数的判断所谓素数是指仅能被1和

4、自身整除,且大于等于2的数值。判断一个给定的数值是否是素数是穷举法的典型实例。例2:判断给定整数是否是素数。问题分析为了检查一个整数是不是素数,可以采用穷举法。假设给定的整数用x表示,则判断过程就是确认x不能整除以2~x-1之间的任何整数。这就需要一一列举出2~x-1之间的每个整数进行排查。算法描述NY开始输入x2ttmain(){intx,t;printf(“Enteraninteger:”);scanf(“%d”,&x);for(t=2;t

5、*列举小于x大于1的所有整数*/if(x%t==0)break;if(t==x)/*是否通过循环条件出口*/printf(“%disprime”,x);elseprintf(“%disn’tprime”,x);}程序代码穷举法应用实例2:百钱买百鸡“百钱买百鸡”是我国古代数学家张丘建提出的一个著名的数学问题。假设某人有钱百枚,希望买一百只鸡;不同的鸡价格不同,公鸡5枚钱一只,母鸡3枚钱一只,而小鸡3只1枚钱。试问:如果用百枚钱买百只鸡,可以包含几只公鸡、几只母鸡和几只小鸡。例3:百钱买百鸡。问题分析从题目要求可知:公鸡、母鸡和小鸡的数量是有限的,都不会超过1

6、00。通过对不同数量的公鸡、母鸡和小鸡进行组合,可以计算出购买这些鸡所用的花费,但这个题目要求找出那些花费正好100枚且鸡的总数也为100只的情况。因此,可以采用穷举法,将不同的公鸡、母鸡和小鸡的数量枚举一遍,找出那些符合题目要求的解。算法描述#include#includemain(){intx,y,z;for(x=0;x<=100/5;x++)for(y=0;y<=100/3;y++)for(z=0;z<=100;z++){if(x+y+z==100&&15*x+9*y+z==300)printf(“x=%d,y=%d,z=%d

7、”,x,y,z);}}程序代码3.3递推与迭代法概述递推是计算机数值计算中的一个重要算法。其基本策略是将复杂的运算划分为可以重复操作的若干个简单的运算,进而充分利用计算机擅长重复计算的特点。在C程序中,利用for语句实现迭代的过程,可以认为是递推的一种特例。采用递推法进行问题求解的关键在于找出递推公式和边界条件。递推与迭代法应用实例1:等比数列求和所谓等比数列是指在一组数据中,后项和前项之前存在着一个固定的比例关系。例如:整数序列3、15、75、375的初值是3,后项与前项是5倍的关系,即前项乘以5得到后项。本题要求给定等比序列的首项和比例,计算这个数列的前

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

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

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