书签 分享 收藏 举报 版权申诉 / 25
上传文档赚钱

类型C语言第3章-计算机算法初步课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3377133
  • 上传时间:2022-08-25
  • 格式:PPT
  • 页数:25
  • 大小:230KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《C语言第3章-计算机算法初步课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    语言 计算机 算法 初步 课件
    资源描述:

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

    2、1:求解一元二次方程 问题分析l假设一元二次方程可以书写成ax2+bx+c=0。可以看出,任何一个一元二次方程都由三个系数a、b、c惟一确定,所以,首先需要用户输入三个系数,然后再根据一元二次方程的求解规则计算最终的结果,并将结果显示输出。算法描述 N N Y Y 开始 输入 a,b,c b2-4ac t t 0 t=0 结束 输出一个解 输出“无解”输出两个解#include#include main()int a,b,c,t;printf(“Input a,b,c:”);scanf(“%d%d%d”,&a,&b,&c);t=b*b 4*a*c;if(t0)printf(“No soluti

    3、onn”);else if(t=0)printf(“X=%lfn”,-b/(2.0*a);else double t0;t0=sqrt(double)t);printf(“X1=%lf,X2=%lfn”,(-b+t0)/(2*a),(-b-t0)/(2*a);程序代码 3.2 3.2 穷举法穷举法 概述l穷举法,又称为枚举法,是人们日常生活中常用的一种求解问题的方法。穷举法的核心在于明确问题的所有可能性,并针对每种可能情况逐个进行判断,最终找出正确问题的答案。穷举法应用实例1:素数的判断 l所谓素数是指仅能被1和自身整除,且大于等于2的数值。判断一个给定的数值是否是素数是穷举法的典型实例。例2

    4、:判断给定整数是否是素数。问题分析l为了检查一个整数是不是素数,可以采用穷举法。假设给定的整数用x表示,则判断过程就是确认x不能整除以2x-1之间的任何整数。这就需要一一列举出2x-1之间的每个整数进行排查。NY开始输入x2 tt xt 加1x%t=0结束输出“不是素数”输出“是素数”YNt=xYN 算法描述#include main()int x,t;printf(“Enter an integer:”);scanf(“%d”,&x);for(t=2;tx;t+)/*列举小于列举小于x大于大于1的所有整数的所有整数*/if(x%t=0)break;if(t=x)/*是否通过循环条件出口是否通

    5、过循环条件出口*/printf(“%d is primen”,x);else printf(“%d isnt primen”,x);程序代码 穷举法应用实例2:百钱买百鸡l“百钱买百鸡”是我国古代数学家张丘建提出的一个著名的数学问题。假设某人有钱百枚,希望买一百只鸡;不同的鸡价格不同,公鸡5枚钱一只,母鸡3枚钱一只,而小鸡3只1枚钱。试问:如果用百枚钱买百只鸡,可以包含几只公鸡、几只母鸡和几只小鸡。例3:百钱买百鸡。问题分析l从题目要求可知:公鸡、母鸡和小鸡的数量是有限的,都不会超过100。通过对不同数量的公鸡、母鸡和小鸡进行组合,可以计算出购买这些鸡所用的花费,但这个题目要求找出那些花费正好

    6、100枚且鸡的总数也为100只的情况。因此,可以采用穷举法,将不同的公鸡、母鸡和小鸡的数量枚举一遍,找出那些符合题目要求的解。算法描述 N Y 开始 条件判断 x 加 1 结束 z=100 x=100/5 y=100/3 x y 加 1 z 加 1 0 x 0 y 0 z 输出 x,y,z N Y Y N N Y#include#include main()int x,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=%dn”,x,

    7、y,z);程序代码 3.3 3.3 递推与迭代法递推与迭代法 概述l递推常用于序列数据的计算。其基本策略是用已知结果和特定关系(递推公式)计算中间值。l采用递推法进行问题求解的关键在于找出递推公式和边界条件。l迭代也是计算机数值计算的一种基本算法,其基本策略是从初值出发,不断计算问题的近似解。递推与迭代法应用实例1:等比数列求和 l所谓等比数列是指在一组数据中,后项和前项之前存在着一个固定的比例关系。例如:整数序列3、15、75、375的初值是3,后项与前项是5倍的关系,即前项乘以5得到后项。l本题要求给定等比序列的首项和比例,计算这个数列的前10项之和。例4:等比数列求和。问题分析l等比数列

    8、的递推公式为:itemi=itemi-1*ratio后项等于前项乘以比例值sumi=sumi-1+itemi前i项之和等于前i-1项之和加当前项l由于在重复上述递推计算之前,需要将第1项的值累加到sum中,所以,需要先将item存入sum中。算法描述 N Y 开始 输入 item,ratio item sum 1 i i 10 item*ratio item 加一 sum+itemsum i 加 1 结束 输出 sum#include main()int item,ratio,sum,i;printf(“nEnter the first item and ratio:”);scanf(“%d%d”,&item,&ratio);sum=item;for(i=1;i 1 0-4(-1)i+14/(2 i-1)item P I+item P I i 加 1 结 束 输 出 P I#include#include main()int i=1,sign=1;double PI=0.0,item;do item=sign*4.0/(2*i+-1);sign=-sign;PI+=item;while(fabs(item)1e-4);/*数据项精度控制循环数据项精度控制循环*/printf(“PI=%lfn”,PI);程序代码

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:C语言第3章-计算机算法初步课件.ppt
    链接地址:https://www.163wenku.com/p-3377133.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库