
第一章 算法初步章末复习 学习目标 1.加深对算法思想的理解.2.加强用程序框图清晰条理地表达算法的能力.3.进一步体会由自然语言到程序框图再到程序的逐渐精确的过程. 知识点一 算法、程序框图、程序语言 (1)算法的概念 算法可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤或序列能够解决一类问题. (2)程序框图 程序框图由程序框组成,按照算法进行的顺序用流程线将程序框连接起来.结构可分为顺序结构、条件分支结构和循环结构. (3)算法语句 基本算法语句有输入语句、输出语句、赋值语句、条件语句、循环语句五种,它们对应于算法的三种逻辑结构:顺序结构、条件分支结构、循环结构.用基本语句编写程序时要注意各种语句的格式要求. 知识点二 算法案例 本章涉及的更相减损之术是用来求两个正整数的最大公约数的,秦九韶算法可以计算多项式的值.对这些案例,应该知其然,还要知其所以然,体会其中蕴含的算法思想. 题型一 算法设计 例1 求两底面直径分别为2和4,且高为4的圆台的表面积及体积,写出解决该问题的算法. 解 算法如下: S1 取r1=1,r2=2,h=4. S2 计算l=. S3 计算S=πr+πr+π(r1+r2)l与V=π(r+r+r1r2)h. S4 输出计算结果. 反思与感悟 算法的设计与一般意义上的解决问题并不相同,它是对一类问题一般解法的抽象与概括.我们将一般问题划分为数值型问题和非数值型问题两类;对于数值型问题,我们可以采用数值分析的方法进行处理,数值分析中许多现成的固定算法,我们可以直接使用,当然我们也可以根据问题的实际情况设计算法;对于非数值型问题,可以根据过程模型分析算法并进行处理,也可以选择一些成熟的办法进行处理,如排序、递推等. 跟踪训练1 已知函数y=2x4+8x2-24x+30,写出连续输入自变量的11个取值,分别输出相应的函数值的算法. 解 算法如下: S1 输入自变量x的值. S2 计算y=2x4+8x2-24x+30. S3 输出y. S4 记录输入次数. S5 判断输入的次数是否大于11.若是,则结束算法;否则,返回第一步. 题型二 程序框图及应用 例2 已知函数f(x)=试画出求f(f(x))的值的程序框图. 解 算法的程序框图如图所示. 反思与感悟 算法的设计是画程序框图的基础,我们通过对问题的分析,写出相应的算法步骤.画程序框图之前应先对算法问题设计的合法性和合理性进行探讨,然后分析算法的逻辑结构和各步骤的功能(输入、输出、判断、赋值和计算),画出相应的程序框图. 跟踪训练2 执行如图所示的程序框图,若输入x=2,则输出y的值为_____. 答案 23 解析 当输入x=2时, 第一次循环:y=2×2+1=5,x=5; 第二次循环:y=2×5+1=11,x=11; 第三次循环:y=2×11+1=23. ∵|x-y|=12>8,∴结束循环,输出y=23. 题型三 算法语言及应用 例3 编写程序,求1-2+3-4+…-100的值. 解 程序如下: S=0; I=1; while I<=100 S=S+?-1?^?I+1?*I; I=I+1; end disp?S?; 反思与感悟 通常情况下,用for语句编写的程序都可以用while语句编写,在用while语句编写程序时,要注意在开始循环之前设定好循环变量,在循环体中要有循环变量的累加或其他变化. 跟踪训练3 (1)画出计算12+32+52+…+9992的值的程序框图,并写出程序. 解 程序框图如图所示. 程序如图所示. S=0; for i=1:2:999 S=S+i^2; end print?%io?2?,S?; (2)编写程序计算1×3×5×7×…×2015的值. 解 程序如图所示. S=1; for i=3:2:2 015 S=S*i; end print?%io?2?,S?; 1.下列叙述正确的是( ) ①用程序框图表达算法,其优点是算法的逻辑结构展现得非常直观 ... ...
~~ 您好,已阅读到文档的结尾了 ~~