- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用循环有关的算法 程序设计方法简述 1、计算机处理问题的过程 算法与流程图 算法:解题思路(解题步骤等) 算法有表示方式: 伪码(pseudocode) 用人类语言的形式(通常是英语)表示算法。 伪码不在计算机上执行,仅供程序员缩写程序之前构思时用(*注意伪码程序只包含执行语句,没有声明语句,后者仅仅是给编译器提供的信息) 流程图(flow chart) 用图示方式表示算法 编程依据(便于检查) 编程时用 使用流程图的优点:不易出错/便于编程/便于别人阅读和检查程序。 通常编程的技术路线是: 用伪码和自顶向下、逐步求精的方法来制定算法,然后再编写相应的C语言程序。 复杂程序处理部分宜用流程图表示程序处理的过程。 与循环有关的常用算法 1、枚举法(穷举法) “笨人之法”: 把所有可能的情况一一测试,筛选出符合条件的各种结果进行输出。 【例一】百元买百鸡:用一百元钱买一百只鸡。已知公鸡5元/只,母鸡3元/只,小鸡1元/3只。 分析: 这是个不定方程——三元一次方程组问题(三个变量,两个方程) x+y+z=100 5x+3y+z/3=100 设公鸡为x只,母鸡为y只,小鸡为z只。 百元买百鸡问题分析 百元买百鸡问题分析 百元买百鸡问题分析 【例二】雨水淋湿了算术书的一道题,8个数字只 能看清3个,第一个数字虽然看不清,但可看出不是1。编程求其余数字是什么? [ □×(□3+□)]2 = 8□□9 分析 设分别用A、B、C、D、E五个变量表示自左到右五个未知的数字。其中A的取值范围为2~9,其余取值范围为0~9。条件表达式即为给定算式。 【例三】 求100~200之间不能被3整除也不能被7整除的数。 分析:求某区间内符合某一要求的数,可用一个变量“穷举”。所以可用一个独立变量x,取值范围100~200。 2、归纳法(递推法) “智人之法” : 通过分析归纳,找出从变量旧值出发求新值的规律。 算法类型小结:累加型 【累加型】类型诸如 □+□+□+□+……+□+□ 求其前n项之和的编程题。 【例二】 编程求1-1/2+1/3-1/4+1/5- … +1/99-1/100 分母为奇数时,相加 分母为偶数时,相减 【例二】 编程求1-1/2+1/3-1/4+1/5- … +1/99-1/100 算法类型小结:阶乘型 【阶乘型】类型诸如 □×□×□×□×……×□×□ 求其前n项之积的编程题。 【例四】 编程求∑i! =1!+2!+3!…+n! (n由键盘输入) 外循环为累加型 内循环为阶乘型 【例四】 编程求∑n! =1!+2!+3!…+n! (n由键盘输入) 在同一个循环中 先阶乘,后累加 * 什么是算法 什么是算法呢,一般来讲,算法就是为解决某一特定问题而采取的具体工作步骤和方法。 【例1】让某学生解方程 ax2+bx+c=0 求解过程: ①分析问题 ( 这是一个一元二次方程) ②确定处理方案 :用求根公式 ③确定解题步骤 确定a、b、c的值, 求出b2-4ac的值 如果 b2-4ac0(双实根) X1=… X2=…… 如果 b2-4ac=0(单实根) X1=X2=…… 如果 b2-4ac0(双虚根) X1=…… X2=…… ④根据上述步骤计算 ⑤写出答案,整理、分析结果 解决一个问题的方法要称之为算法,即一个方法要成为程序 设计中所使用的算法,需要具备如下特性: 1.有穷性 例如,以下的计算公式不能称之为算法: S=1+2+3+4+…+100+101+…+1000+1001+…… 2.确定性 3.有零个或多个输入 4.有一个或多个输出 5.可执行性 一个算法的合法与否,最直接的当然就是可以由计算机执行, 算法中描述的操作都可以通过计算机的运行来实现。 算法的特性 2、编程要诀——自顶向下,逐步求精 “先大纲,后文章” 如同写文章:分几部分——每部分几个问题——每个问题几点…… 优点:不易顾此失彼;易于检查;减少后期修改工作量 对于面向过程的程序设计语言: 程序=数据结构+算法(做什么,如何做) 对比:文章=材料+构思 程序测试与修改 算法设计的要求 算法的实现
文档评论(0)