




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
循环结构中的嵌套,【例1】输入某次考试成绩mark,统计100分人数good。(输入-1表示结束),分析问题: 使用标志法:结束标志为mark=-1;所以在循环前先输入分数mark。 循环体:条件mark=100成立,人数good计数,因此要用单分支结构描述,判断结束,再输入下一个分数mark。 循环条件:mark-1 说明:循环体可以是顺序的,但也可以是分支的(嵌套分支),同时也能是循环的(嵌套循环),即若循环体本身是循环就称为循环的嵌套。 设计算法: 先用自然语言描述,再画出流程图,注意:检查流程图的规范性。 编写程序:(略) 运行程序:上机调试与维护(略),例举 检验,【例3】实际应用: 最值问题 输入20个数,求其中最大值max和最小值min。 打擂台法,【练2】输入n个数,统计正数的个数nz和非正数的个数nfz。(n的值由键盘输入) 分析问题:结束条件是什么?首先判断结束循环使用计数法还是标志法。 设计算法:请画出流程图。循环体内嵌套什么结构? 编写程序:(略) 运行程序:上机调试与维护(略),例举 检验,【例4】求1-1000中,能被3整除的数。 【例5】找出1-1000中所有能被7和11整除的数。,例举 检验,基本算法 一 : 枚举法,基本算法 二 : 解析法,基本算法 三 : 递推法,如循环结构中的嵌套满足下列概念则称为枚举法 根据所需解决问题的条件,把该问题所有可能的解,一一列举出来,并逐个检验出问题真正解的方法。枚举法也称为穷举法。 枚: 一个一个 举: 例举 在列举出所有可能的解时,既不能遗漏也不应重复。 枚举算法的关键步骤及注意点: 列举,用循环结构来实现,要注意循环变量、初值、终值和递增值的设置。 检验是否符合问题的要求,用分支结构实现,不同检验结果不同处理方法。 注意点:循环变量与判断对象是否是同一个变量;一般情况下没有输入;输出经常是在判断的一个分支中实现的。 有些复杂问题一时无法直接找到求解公式或数学模型,则用枚举法体现其优势,非常高的准确性和全面性. 但也有缺点:效率不高,是以消耗时间为代价的. 枚举法的结构特征: 列举 检验,基本算法 一 : 枚举法,【例6】若一个三位数x=100a+10b+c(a、b、c都是个位数),满足a3+b3+c3=x,则x称为水仙花数。找出所有的水仙花数。,例举 检验,【例7】一张单据上有一个5位数的编号,万位数是1,千位数是4,百位数是7,个位数是8,十位数已经模糊不清,只知道该5位数是57或67的倍数,找出所有满足这些条件的5位数并输出。,例举 检验,【例8】百鸡百钱问题:公鸡每只5元,母鸡每只3元,小鸡1元3只,现在用100元钱买100只鸡,求公鸡、母鸡、小鸡各买几只?(提示:是利用枚举法解决实际问题的例子。本例出现了双重循环,即循环嵌套,同时体现了计算机解决问题方法与数学方法的区别),例举 检验,解析法:根据题目中给出的已知条件,找出已知条件与结果之间关系的数学表达式,并通过表达式的计算来实现问题求解的方法。 解析算法的关键: 寻找正确的数学表达式 解析算法的结构特征:没有特定! 可能是顺序结构,也可能是分支或循环结构,甚至是几种结构的组合,完全取决于问题本身.,基本算法 二 : 解析法,【例1】输入直角三角形的两个直角边的边长值a和b,计算出斜边的边长值c。,【例2】输入三角形边长a,b,c,求三角形面积s。,【例3】求两个并联电阻的值,公式为:,【例4】一元二次方程ax2+bx+c=0(a0)的系数a、b、c,求方程的解。,递推法:从已知的初始条件出发,依据某种递推关系,逐次推出所要求的各中间结果及最后结果的算法。 初始条件一般是问题本身已经给定,或者是通过对问题的分析与化简后确定的。,基本算法 三 :递推法,【例1】求斐波那契(Fibonacci)数列的第n个数据项,n由键盘输入。,可以用兔子繁殖的实例来说明斐波那契数列: 假设兔子出生后两个月就能每月生一对小兔子,如果1月份出生了一对小兔子,那么每个月兔子数就是一个斐波那契数列,规律:每个月的兔子数等于上个月的兔子数加上两个月前的兔子数。,规律的数学表达:Fn=Fn-1+Fn-2 (该数列的各项间的关系,用Fn表示斐波那契数列的第n项) 但这里,n 3 ,F1=1,F2=1。 Fn=Fn-1+Fn-2一般称为递推公式。 处理: 第一项和第二项分别为1。 第三项起,用递推公式计算各项的值,直至第n项为止。 由于中间各项只是为了计算后面的项,因此可以轮换赋值。 输出:第n项的值。,【例1】求斐波那契(Fibonacci)数列的第n个数据项,n由键盘输入。,分析问题:,【例1】求斐波那契数列的第n个数据项,n由键盘输入。,设计算法:,编写程序(略) 运行和调试(略),【例2】猴子吃桃子问题:一只猴子采集了很多桃子。第一天吃了其中的一半,然后忍不住又吃了一个;第二天吃了剩下桃子的一半,然后忍不住又吃了一个;以后每天都这样,即吃了剩下桃子的一半,再多吃一个,到第十天时就只剩下一个桃子了。问第一天,猴子共采集了多少桃子?,【例2】猴子吃桃子问题:一只猴子采集了很多桃子。第一天吃了其中的一半,然后忍不住又吃了一个;第二天吃了剩下桃子的一半,然后忍不住又吃了一个;以后每天都这样,即吃了剩下桃子的一半,再多吃一个,到第十天时就只剩下一个桃子了。问第一天,猴子共采集了多少桃子?,【例2】是倒推的递推法。 分析问题: 规律:每天的桃子数是前一天桃子数的一半减,那么,前一天的桃子数是后一天桃子数加的倍。 规律的数学表达: 如果用用Ai表示第i天的桃子数,则后一天的桃子数Ai+1Ai/2-1,前一天的桃子数Ai-1(Ai+1)*2。 由于本例是从第九天开始,往前逐天计算,直到第一天,因此采用的是递推公式:Ai-1(Ai+1)*2,循环变量i的计数是逐次减少,即i=i-1。,【例3】求任意两个自然数的最大公约数(辗转相除法),辗转相除法是一种求两个自然数的最大公约数的方法: 假设对于任意两个自然数a,b,当ab时,a=q*b+r。其中,q是a除以b后得到的部分商,r是a除以b后得到的余数。那么,当r等于0时,b就是a,b的最大公约数;否则,a,b的最大公约数就等于b、r的最大公约数,这是因为a 与b的最大公约数一定是b与r的最大公约数。从而可以将b作为新的除式中的a ,r作为新的除式中的b,这样反复求约数,直至r等于0,这时的b就是原先的a和b的最大公约数。,例如:a=14
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高数知识点总结
- 玉溪螺旋换热器施工方案
- 建筑楼顶拆除方案范本
- 廊坊职业技术学院《口腔颌面外科学1》2023-2024学年第二学期期末试卷
- 南京大学《西方翻译流派》2023-2024学年第二学期期末试卷
- 天津财经大学《版面设计与软件应用》2023-2024学年第二学期期末试卷
- 《教学内容和数据流程》课件
- 山东城市建设职业学院《中国建筑史B》2023-2024学年第一学期期末试卷
- 厦门大学嘉庚学院《基础食品化学》2023-2024学年第二学期期末试卷
- 《精粹课件资源库》课件
- 旧混凝土路面加铺沥青混凝土面层施工组织设计方案
- 《成人鼾症》ppt课件
- SAP-BASIS-常维护手册
- 配电线路巡视记录单
- 乙炔气柜施工方案
- 狼和兔子的凄美爱情故事,前世今生的约定,看哭了很多人
- 体育测量与评价PPT课件-第四章 心肺功能的测量与评价
- 儿童故事小壁虎借尾巴ppt课件
- 公路路基土建工程项目拌合站建设方案详细
- 雅马哈电子琴中英文音色对照表
- 埋石混凝土施工工法
评论
0/150
提交评论