资源预览内容
第1页 / 共15页
第2页 / 共15页
第3页 / 共15页
第4页 / 共15页
第5页 / 共15页
第6页 / 共15页
第7页 / 共15页
第8页 / 共15页
第9页 / 共15页
第10页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
复习小结复习小结一、本章知识框架一、本章知识框架算算法法初初步步算法的基本思想算法的基本思想实例实例算法算法算法的基本思想算法的基本思想算法的基本结构算法的基本结构流程图流程图顺序结构与选择结构顺序结构与选择结构变量与赋值变量与赋值循环结构循环结构算法的基本语句算法的基本语句循环语句循环语句For语句语句Do Loop语句语句条件语句条件语句If语句语句复合复合If语句语句二、基本方法整合二、基本方法整合1.算法设计算法设计 算法设计与一般意义上的解决问题不同, 它是对一类问题的一般解法的抽象与概括, 它要借助一般问题的解决方法, 又要包含这类问题的所有可能情形, 它往往是把问题的解法划分为若干个可执行的步骤, 有时甚至是重复多次, 但最终都必须在有限个步骤之内完成.2.框图(框图(流程图流程图)的设计的设计 设计较简单的框图, 可以通过对问题的分析, 建立相应的数学模型或过程模型, 从而选择顺序结构、选择结构、循环结构中的一种或几种画出框图即可. 如果设计的框图较为复杂, 就要采取“逐步求精”的思想设计框图, 先将问题中的简单部分明确出来, 再逐步对复杂部分进行细化, 然后按一步一步向前推进的思想设计框图.3.基本算法语句的设计基本算法语句的设计 编写程序的基本方法是“自上而下, 逐步求精”, 即首先把一个复杂的大问题分解为若干相对独立的小问题, 若干小问题仍较复杂, 则可以把这些小问题又继续分解成若干子问题, 这样不断地分解, 使得小问题或子问题简单到能够直接用程序的三种基本结构表达为止. 然后, 对应每一个小问题或子问题编写出一个功能上相对独立的程序块来, 这种像积木一样的程序块被称为模块, 每个模块各个击破, 最后再统一组装. 这样, 对一个复杂问题的解决就变成立了对若干个简单问题的求解.例例1.编写程序编写程序, 输入一元二次方程输入一元二次方程ax2+bx+c=0的系数的系数, 输出它的实根输出它的实根.算法描述:算法描述:S1:输入:输入a,b,cS2:计算判别式:计算判别式S3:如果:如果0有两不同有两不同实根实根, =0有两个相同有两个相同实根实根, = 0 Thenx1 = p + qx2 = p - qIF x1 = x2 ThenPrint “只有一个实根:只有一个实根:”;x1=x1ElsePrint “有两个实根:有两个实根:”;“x1=”;x1,”x2=”;x2End IfElsePrint “没有实根没有实根”End IfEnd例例2.编写程序编写程序,使得任意输入使得任意输入3个整数按大到小的顺序输出个整数按大到小的顺序输出.算法分析:算法分析:算法思想算法思想:3个数两两比较个数两两比较, 确定大小确定大小. 按按a、b、c输入输入, 要按要按a、b、c输出输出, 关键要找到最大值关键要找到最大值, 将它赋值给将它赋值给a, 中值赋给中值赋给b, 最小最小值赋给值赋给c.第一步 输入3个整数a、b、c;第二步 将a与b比较, ,并把小者赋给b, ,大的赋给a;第三步 将a与c比较, 并把小者赋给c, 大的赋给a;第四步 将b与c比较, 并把小者赋给c, 大的赋给b;第五步 按顺序输出a, b, c.Input “a,b,c=”;a,b,cIf b a Then t = a a = b b = tEnd IfIf c a Then t = a a = c c = tEnd IfIf c b Then t = b b = c c = tEnd IfPrint a,b,cEnd相应的相应的QBASIC程序:程序:开始开始t=a,a=b,b=tt=a,a=c,c=tt=b,b=c,c=t输入输入a,b,c输出输出a,b,cba?ca?cb?结束结束是是是是否否否否是是否否对应的流程图对应的流程图:例例3.猴子第一天摘下若干个桃子猴子第一天摘下若干个桃子, 当即吃了一半当即吃了一半, 觉得还不过瘾觉得还不过瘾, 又多吃了一个又多吃了一个. 第二天将剩下的桃子吃掉一半第二天将剩下的桃子吃掉一半, 又多吃了一个又多吃了一个, 以以后每天都吃前一天剩下的一半加一个后每天都吃前一天剩下的一半加一个, 到第十天想吃时只剩下一到第十天想吃时只剩下一个桃子个桃子. 求第一天共摘了多少个桃子求第一天共摘了多少个桃子? 【分析分析】 第第10天的桃子数天的桃子数S10=_;1第第9天的桃子数天的桃子数S9=_;2(S10+1) =4第第8天的桃子数天的桃子数S8=_;2(S9+1) =10;【解题流程解题流程】令令S=1, i=1循环语句循环语句结果结果【解法解法1】(Loop While语句)语句)i=1S=1Do S=2*(S+1) i=i+1Loop While i1y=2x是是否否y=x-2输出输出y结束结束2.某篮球队某篮球队6名主力队员在最近三场比赛中比赛中投进三分球个名主力队员在最近三场比赛中比赛中投进三分球个数如下表所示数如下表所示:队员队员i 三分球个数三分球个数a1a2a3a4a5a6右图是统计该右图是统计该6名队员在最近三场比名队员在最近三场比赛中投进的三分球总数的程序框图赛中投进的三分球总数的程序框图,则图中判断框应填则图中判断框应填_,输出的输出的=_.开始开始输入输入a1,a2,a3,a4,a5,a6S= 0, i=1i=i+1是是否否S=S+ai输出输出S结束结束i6?3.某快递公司规定甲、乙两地之间物品的托运费用根据下面的方法计算某快递公司规定甲、乙两地之间物品的托运费用根据下面的方法计算: 物物品重量在品重量在50千克以内千克以内, 托运费为每千克托运费为每千克 0.53 元元, 超过的话超过的话, 超过部分每千克超过部分每千克0.85元元, 试画出计算费用试画出计算费用f的程序框图,并写出相应的的程序框图,并写出相应的QBASIC程序程序. 程序框图:程序框图:开始开始结束结束输入重量输入重量G输出运费输出运费MG=50M=0.53*GM=50*0.53+0.85*(G-50)否否是是对应的QBASIC程序Input “输入重量输入重量G=”;GIf GcPrint xEnd 【作业作业 】(】(P115 A组组第第2 2题题)提示提示:求方程求方程x220在区间在区间 1,2 上的上的精确度精确度为为0.01的的近似解近似解即可!即可!a=1, b=2 End IfExit Do【解法一解法一】For i1 To 300n 3iIf (n1) Mod 5=0 ThenPrint nElseNext【 P110 A组组第第7 7题题】提示:提示:用用“韩信点兵韩信点兵”的算法,先的算法,先找到找到符合题设的最小正整数符合题设的最小正整数6 6,再,再依依次加次加1515即可!即可! i=0 n=6+15i开始 i 60 i =i+1否结束输出输出n是是【解法二解法二】For i0 To 59n 615iNextPrint ni=0Don6+15iPrint nii+1Loop While i59【解法三解法三】End If【补充例补充例 2】 下列算法语句描述的是下列算法语句描述的是 的算法。的算法。 (见见第第6 6期期报纸报纸第第2 2版版下方的下方的【课堂及时练课堂及时练】第第9 9题题)S0Doii3Loop While i 62输出输出 Si5SS1(i (i4)否否开始S =0 n20 n=1 n =n+1是输出输出S结束 i =3n+2S=S+ 1/(i (i4)S0For n=1 To 20i3n2SS1(i (i4)Next输出输出 S【想想想想】你能用】你能用For语句语句描述该算法吗?描述该算法吗?【解解】
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号