- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法初步—高级语言程序设计—课件—北京工业大学—03
第3讲 算法初步 一、解题方法 二、算法举例---穷举法 三、算法举例---递推与迭代法 四、良好的编程风格 一、解题方法 分析问题,想出策略;自顶向下,逐步求精。 例如,编写一个通讯录程序 通讯录需要存储什么数据?存在什么地方? 程序的功能 输入一个新名字 删除一个名字 显示整个通讯录 有哪些信誉好的足球投注网站一个名字 进入、退出程序等 ……。具体到每一项功能 菜单,将这些功能分类别设计 用计算机解决问题的步骤 分析问题 选择解决方案 编写程序 调试程序 测试程序 数据结构 数据对象:分析所研究问题,提炼出性质相同的数据元素。 对象之间的关系 通讯录数据 用于管理的数据 在此基础上,想出处理的方法---算法 算法 算法是指用计算机解决问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成。 算法的特征: 确定性 逻辑性 有穷性 用程序流程图描述算法 描述算法的方法有很多 程序流程图:图形化的描述程序执行过程(图是工程师的语言) 使得思想集中于算法设计,不受语言细节干扰 再依据算法,用语言编写程序 程序流程图的图形符号:P60 例:求一元二次方程ax2+bx+c=0 的解 #include stdio.h #include math.h 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 solution\n ); else if ( t==0 ) printf( X = %lf\n, -b/(2.0*a) ); else { double t0; t0 = sqrt( (double)t ); printf( X1 = %lf, X2= %lf\n, (-b+t0)/(2*a), (-b-t0)/(2*a) ); } } 二、算法举例---穷举法 列出所有可能情况,逐个排查,从中找出符合条件的解。 关键是明确问题所有可能性,注意可能情况是有限的。 用什么基本控制结构? 优点?缺点? 例:判断给定整数是否是素数 问题分析 利用素数的定义来判别。对于给定整数x,用2~x-1之间的每个整数试除,若都不能整除则是素数,否则不是素数。 一次试除成功(不能整除),并不能说明x是素数,只有所有试除都成功,才能断定x是素数;但一次试除失败(能整除),则可断定x不是素数 例:判断给定整数是否是素数 解决方案 数据结构设计 整型变量存储素数:int x ; 算法设计 穷举的范围---循环开始和结束:2~x-1 数据元素的关系---循环的步进:1 逐个排查的过程---循环的内容:试除 #include stdio.h main( ) { int x, t; printf( Enter an integer: ); scanf( %d, x ); for (t = 2; tx; t++ ) if ( x%t == 0 ) break; if ( t == x ) printf( %d is prime\n, x ); else printf( %d isnt prime\n, x ); } 例:百钱买百鸡 问题描述 某人有钱百枚,希望买一百只鸡;公鸡5枚钱一只,母鸡3枚钱一只,而小鸡3只1枚钱。试问:如果用百枚钱买百只鸡,可以包含几只公鸡、几只母鸡和几只小鸡 问题分析 公鸡、母鸡和小鸡的数量之和为100。 采用穷举法,将100只鸡中的所有公鸡、母鸡和小鸡的组合枚举一遍,找出价钱正好是100的组合。 解决方案 数据结构 设: x——公鸡的个数 y——母鸡的个数 z——小鸡的个数 算法 遍历x、y、z,三层循环嵌套 循环起止:x:0~100/5;y:0~100/3; z:0~100 步进:1 循环内容:排查条件: 5x+3y+z/3=100 x+y+z=100 #include stdio.h 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==30
您可能关注的文档
- 第一章会计信息系统基础〔2011二专业〕.ppt
- 第一章普通话与普通话水平测试〔药科2012.11〕1-20.41-50.ppt
- 第9章细胞介导的毒性反应.ppt
- 第9课《甲骨文与青铜器》课件〔北师大七上〕.ppt
- 第一篇13语言运用之准确鲜明生动得体课后强化作业.ppt
- 第一章普通话与普通话水平测试〔药科2013.11〕1-30.ppt
- 第一讲医学分子生物学绪论〔2012.2〕-3.ppt
- 第一章—2地震基础知识.ppt
- 第8章遗传3660407164.ppt
- 第一讲战略视角下的公司财务分析1.ppt
- [中央]2023年中国电子学会招聘应届生笔试历年参考题库附带答案详解.docx
- [吉安]2023年江西吉安市青原区总工会招聘协理员笔试历年参考题库附带答案详解.docx
- [中央]中华预防医学会科普信息部工作人员招聘笔试历年参考题库附带答案详解.docx
- [保定]河北保定市第二医院招聘工作人员49人笔试历年参考题库附带答案详解.docx
- [南通]江苏南通市崇川区人民法院招聘专职人民调解员10人笔试历年参考题库附带答案详解.docx
- [厦门]2023年福建厦门市机关事务管理局非在编工作人员招聘笔试历年参考题库附带答案详解.docx
- [三明]2023年福建三明市尤溪县招聘小学幼儿园新任教师79人笔试历年参考题库附带答案详解.docx
- [哈尔滨]2023年黑龙江哈尔滨市木兰县调配事业单位工作人员笔试历年参考题库附带答案详解.docx
- [上海]2023年上海市气象局所属事业单位招聘笔试历年参考题库附带答案详解.docx
- [台州]2023年浙江台州椒江区招聘中小学教师40人笔试历年参考题库附带答案详解.docx
文档评论(0)