1、模块复习提升课 一 算法初步 1算法的特征(1)可执行性(2)确定性(3)有穷性2程序框图的三要素及画程序框图的规则(1)组成一个程序框图的三要素是“四框”“一线”和“文字说明”(2)画程序框图的规则是:用标准,即使用标准的框图符号;按顺序,即框图一般按从上到下、从左到右的顺序画;看出入,即大多数程序框图的图形符号只有一个入口和一个出口,判断框是唯一具有超过一个出口的符号,条件结构中要在出口处标明“是”或“否”;明循环,即循环结构要注意变量的初始值及循环终止的条件;辨流向,即流程线的箭头表示执行的方向,不可缺少;简说明,即在图形符号内的语言描述要简练、清晰(3)如果设计的程序框图较为复杂,就要
2、采取“逐步求精”的思想,先将问题中的简单部分明确出来,再逐步对复杂部分进行细化,然后一步一步向前推进3算法语句设计的注意点(1)条件语句主要用于需要进行条件判断的算法循环语句主要用于含有一定规律的计算,在使用时需要设计合理的计数变量(2)两种循环语句在设计时,要注意当型和直到型的一般格式,注意循环体的确定以及循环终止条件的确定(3)在设计整个问题的算法语句时,可能既有条件语句又有循环语句,因此要注意几种语句的书写格式4基本算法语句与基本算法结构的对应关系顺序结构 输入、输出、赋值语句单支结构IF 条件 THEN 语句体END IF双支结构IF 条件 THEN 语句体1ELSE 语句体2END
3、IF当型循环结构WHILE 条件 循环体WEND直到型循环结构DO 循环体LOOP UNTIL 条件5算法案例(1)求两个正整数最大公约数的解法用的是辗转相除法和更相减损术(2)多项式求值比较先进的算法是秦九韶算法(3)“满几进一”就是几进制,其中的几是基数1输入语句和赋值语句二者的不同输入语句可使初始值与程序分开,利用输入语句改变初始数据时,程序不变,而赋值语句是程序的一部分,输入语句可对多个变量赋值,赋值语句只能给一个变量赋值2程序设计中的注意点程序设计中特别注意:条件语句的条件表达和循环语句的循环变量的取值范围主题 1 算法设计与程序框图的画法 某商场进行优惠促销:若购物金额 x 在 5
4、00 元以上,打 8 折;若购物金额 x 在 300 元以上,打 9 折;否则,不打折设计算法的程序框图,要求输入购物金额 x 即能输出实际交款额y.【解】算法设计:由题意,实际交款额 y 与购物金额 x 之间的函数关系是 yx,0 x3000.9x,300500.因为需对 x 进行两次判断,所以算法应含有两个条件结构,算法步骤如下:第一步,输入购物金额 x.第二步,判断 0 x300 是否成立若成立,则 yx,然后执行第四步;否则,执行第三步 第三步,判断 x500 是否成立若成立,则 y0.9x;否则,y0.8x.第四步,输出 y.程序框图的画法:(1)画顺序结构图,即画终端框及输入框,并
5、用流程线连接(如图中)(2)画条件结构图,即画判断框并判断 02 018,试设计算法的程序框图,寻找满足条件的最小奇数 n.解:算法设计:因为涉及累加问题,所以算法中需要含有循环结构,算法步骤如下:第一步:令 S0,n1.第二步:SSn,nn2.第三步:判断 S2 018 是否成立,若成立,则 nn2,输出n;否则,返回第二步(1)画顺序结构图,即画终端框及两个处理框,并分别填入循环初始条件(如图中)(2)画循环结构图,先画循环体,即两个处理框(一个累加,一个计数),再画判断框,并判断 S2 018 是否成立,若成立,则画处理框,并填入“nn2”;否则,流向循环体之前进行再循环(如图中)(3)
6、画输出框及终端框(如图中)最后,合成整个算法程序框图,如图 主题 2 程序框图中的常见题型(1)求运行结果(2017高考全国卷)执行如图的程序框图,如果输入的 a1,则输出的 S()A2B3C4D5【解析】运行程序框图,a1,S0,K1,K6 成立;S0(1)11,a1,K2,K6 成立;S1121,a1,K3,K6 成立;S1(1)32,a1,K4,K6 成立;S2142,a1,K5,K6 成立;S2(1)53,a1,K6,K6 成立;S3163,a1,K7,K6 不成立,输出 S3.选择 B.【答案】B(2)补充框图某程序框图如图所示,若输出的 S57,则判断框内为()Ak4?Bk5?Ck
7、6?Dk7?【解析】第一次循环:k2,S224;第二次循环:k3,S8311;第三次循环:k4,S22426;第四次循环:k5,S52557,此时循环结束,故判断框中应填“k4?”【答案】A(3)由输出结果逆推输入数据阅读如图所示的程序框图,运行相应的程序如果输入某个正整数 n 后,输出的 S(10,20),那么 n 的值为()A3B4C5D6【解析】当 n1 时,S1;当 n2 时,S1213;当 n3 时,S1237;当 n4 时,S12715(10,20);当 n5 时,S121531.故 n4.【答案】B(4)数学文化与算法框图我国古代数学著作周髀算经有如下问题:“今有器中米,不知其数
8、前人取半,中人三分取一,后人四分取一,余米一斗五升问,米几何?”如图是解决该问题的程序框图,执行该程序框图,若输出的 S1.5(单位:升),则输入 k 的值为()A4.5B6C7.5D9【解析】由程序框图知 Skk2 k23 k341.5,解得 k6,故选 B.【答案】B解决程序框图问题的方法识别程序框图和完善程序框图是高考的重点和热点解决这类问题:第一,要明确程序框图中的顺序结构、条件结构和循环结构;第二,要识别程序框图的运行,理解框图解决的实际问题;第三,按照题目的要求完成解答 如图是求 x1,x2,x10的乘积 S 的程序框图,图中空白框中应填入的内容为()ASS(n1)BSSxn1CS
9、SnDSSxn解析:选 D.由题意可知,输出的是 10 个数的乘积,故空白框中应填“SSxn”主题 3 基本算法语句的应用 请写出如图所示的程序框图描述的算法的程序【解】这是一个求分段函数 yx1,x1,2x1,1x1,x1,x1 THEN yx1 ELSE IF x1 THEN yx1 ELSE y2*x1 END IF END IF PRINT y END条件语句和循环语句的关注点(1)条件语句可以嵌套,即条件语句的 THEN 或 ELSE 后面还可以跟条件语句,嵌套时注意内外分层,避免逻辑混乱(2)在用 WHILE 语句和 UNTIL 语句编写程序解决问题时,一定要注意它们的格式及条件的表述方法WHILE 语句中是当条件满足时执行循环体,而 UNTIL 语句中是当条件不满足时执行循环体(3)循环语句主要用来实现算法中的循环结构,处理一些需要反复执行的运算任务,如累加求和,累乘求积等 执行下面的程序,输出的结果是_i1s0WHILE i4 ss*21 ii1WENDPRINT sEND解析:当 i1 时,s0211;当 i2 时,s1213;当 i3 时,s3217;当 i4 时,s72115.答案:15本部分内容讲解结束 按ESC键退出全屏播放