1、第九章 算法初步、统计、统计案例 第一节 算法与程序框图、基本算法语句 【知识梳理】1.常用程序框及其功能 起始和结束 输入和输出的信息 赋值、计算 成立与否 先后顺序 2.三种基本逻辑结构及相应语句 名称 示意图 相应语句 顺序 结构 输入语句:INPUT“提示内容”;变量 输出语句:PRINT“提示内容”;表达式 赋值语句:变量=表达式 名称 示意图 相应语句 条件 结构 _ 语句体 _ _ 语句体1 _ 语句体2 END IF IF 条件 THEN END IF IF 条件 THEN ELSE 名称 示意图 相应语句 循 环 结 构 当型 循环 结构 _ 条件 循环体 _ 直到 型循 环
2、结 构 _ 循环体 _条件 WHILE WEND DO LOOP UNTIL【特别提醒】1.当型循环与直到型循环的区别 直到型循环是“先循环,后判断,条件满足时终止循环”;而当型循环则是“先判断,后循环,条件满足时执行循环”;两者的判断框内的条件表述在解决同一问题时是不同的,它们恰好相反.2.解决程序框图问题要注意几个常用变量(1)计数变量:用来记录某个事件发生的次数,如i=i+1.(2)累加变量:用来计算数据之和,如S=S+i.(3)累乘变量:用来计算数据之积,如p=pi.【小题快练】链接教材 练一练 1.(必修3P25例5改编)给出如图程序框图,其功能是 ()A.求a-b的值 B.求b-a
3、的值 C.求|a-b|的值 D.以上都不对【解析】选C.当ab时,输出结果为a-b;当a0.005;执行第二次循环体a=n=3;此时|a-1.414|=|1.4-1.414|=0.0140.005;执行第三次循环体a=n=4;此时|a-1.414|b成立,故将b的值赋给a得a=5,又ac不成立,故直接输出a的值为5,再结合选项知B成立.【母题变式】1.若本例题(2)条件“是与否”互换位置如图,其他条件不变,试解答本题.【解析】选A.两个条件结构都是挑选较大的值.故输出a的值是三个数中的最大值.2.若本例题(2)程序框图变为如图所示,求输出的y的值.【解析】由程序框图知a=2,b=1,因此y=2
4、1=2,故输出y的值为2.【规律方法】应用顺序结构与条件结构的注意点(1)顺序结构:顺序结构是最简单的算法结构,语句与语句之间、框与框之间是按从上到下的顺序进行的.(2)条件结构:利用条件结构解决算法问题时,重点是判断框,判断框内的条件不同,对应的下一程序框中的内容和操作要相应地进行变化,故要重点分析判断框内的条件是否满足.【变式训练】(2015福建高考)阅读如图所示的程序框图,运行相应的程序,若输入x的值为1,则输出y的值为()A.2 B.7 C.8 D.128【解析】选C.x=1x2?(否)代入y=9-xy=8.【加固训练】1.给出一个如图所示的程序框图,若要使输入的x值与输出的y值相等,
5、则这样的x值的个数是()A.1 B.2 C.3 D.4【解析】选C.由程序框图知 由已知得 解得x=0或x=1或x=3,这样的x值的个数是3.2x,x2,y2x3,2x5,1,x5,x2x5,x2,2x5,12x3xx.xxx或或2.(2016安庆模拟)阅读如图所示程序框图.若输入x为3,则输出的y的值为()A.24 B.25 C.30 D.40【解析】选D.a=32-1=8,b=8-3=5,y=85=40.3.(2016成都模拟)如图所示的程序框图的输入值x-1,3,则输出值y的取值范围为()A.1,2 B.0,2 C.0,1 D.-1,2【解析】选B.当0 x3时,1x+14,所以,0lo
6、g2(x+1)2,当-1x0时,0-x112-x2,所以,01时,输出b=x3.当x1时,由a=x2=8,解得 当x1时,b=x3=8,解得x=2.所以输入的数为2或 答案:2或 x82 2;2 2.2 25.(2016宁德模拟)运行如图所示程序框图的相应 程序,若输入a,b的值分别为 则输出M的值是 .3223和,【解析】因为ab,所以执行M=ab+1,所以M=答案:2 3212.23 考向二 循环结构【考情快递】命题方向命题视角求程序运行后的结果以程序框图为载体,考查数列的通项与求和等问题、考查程序框图的运行确定控制循环的变量已知程序运行结果,考查控制循环的变量的值或范围【考题例析】命题方
7、向1:求程序运行后的结果【典例2】(2015全国卷)执行如图所示的程序框图,如果输入的t=0.01,则输出的n=()A.5 B.6 C.7 D.8【解题导引】依次求出S,m,n的值,S与t比较大小,再判断是否循环.【规范解答】选C.执行第一次,t=0.01,S=1,n=0,m=0.5,S=S-m=0.5,m=0.25,n=1,S=0.5t=0.01,是,执行循环;执行第二次,S=S-m=0.25,m=0.125,n=2,S=0.25t=0.01,是,执行循环;执行第三次,S=S-m=0.125,m=0.0625,n=3,S=0.125t=0.01,是,执行循环;m212m2m2执行第四次,S=
8、S-m=0.0625,m=0.03125,n=4,S=0.0625t=0.01,是,执行循环;执行第五次,S=S-m=0.03125,m=0.015625,n=5,S=0.03125t=0.01,是,执行循环;执行第六次,S=S-m=0.015625,m=0.0078125,n=6,S=0.015625t=0.01,是,执行循环;m2m2m2执行第七次,S=S-m=0.0078125,m=0.00390625,n=7,S=0.0078125t=0.01,否,输出n=7.m2命题方向2:确定控制循环的变量【典例3】(2015重庆高考)执行如图所示的程序框图,若输出k的值为8,则判断框内可填入的条
9、件是()351125A.sB.sC.sD.s461224?【解题导引】根据循环结构中输出k的值以及循环结束时s的值,结合各选项可以判断出判断框中的条件.【规范解答】选C.执行第一次循环时,k=2,执行第二次循环时,k=4,执行第三次循环时,k=6,执行第四次循环时,k=8,此时结束循环,故判断框中应填入的条件为 113s244,1s2,11111s24612,111125s246824,11s.12?【技法感悟】1.求程序运行结果的思路(1)要明确程序框图的顺序结构、条件结构和循环结构.(2)要识别运行程序框图,理解框图所解决的实际问题.(3)按照题目的要求完成解答并验证.易错提醒:解决程序框
10、图问题时应注意的问题(1)注意区分当型循环和直到型循环.(2)循环结构中要正确控制循环次数.(3)要注意各个框的顺序.2.确定控制循环变量的思路 结合初始条件和输出结果,分析控制循环的变量应满足的条件或累加、累乘的变量的表达式.【题组通关】1.(2016青岛模拟)阅读如图所示的程序框图,运行相应的程序后,输出i的值为()A.3 B.4 C.5 D.6【解析】选B.运行程序a=1,i=0,i=1,a=11+1=2,因为250不满足,所以执行循环体,i=2,a=5,因为550不满足,所以执行循环体,i=3,a=16,因为1650不满足,所以执行循环体,i=4,a=65,因为6550满足,输出i=4
11、.2.(2016淄博模拟)如果执行如图所示 的程序框图,输入N=5,则输出的数等于 ()5465A.B.C.D.4556【解析】选D.根据程序框图可知,该程序框图的功能是 计算S=现在输入的N=5,所以不满足条件k7?B.k6?C.k5?D.k4?【解析】选C.第一次循环:k=1+1=2,S=20+2=2;第二次循环:k=2+1=3,S=22+3=7;第三次循环:k=3+1=4,S=27+4=18;第四次循环:k=4+1=5,S=218+5=41;第五次循环:k=5+1=6,S=241+6=88,满足条件,则输出 S的值,而此时k=6,故判断框内应填入的条件是“k5?”.考向三 基本算法语句【
12、典例4】(1)下面程序运行的结果是()A.5,8 B.8,5 C.8,13 D.5,13(2)(2015江苏高考改编)根据如图所示的算法语句,可知输出的结果s为 .【解题导引】(1)赋值语句的功能是将后面的值赋给前面的变量,根据赋值语句的功能求解.(2)由已知中的算法语句,可得程序的功能是利用循环计算变量s的值,模拟程序的运行过程,即可得到答案.【规范解答】(1)选C.此程序先将A的值赋给X,故X=5;再将B的值赋给A,故A=8;再将X+A的值赋给B,即将原来的A与B的和赋给B,故B=5+8=13.(2)由已知中的算法语句,模拟程序的运行过程可得:i=1时,i8,s增大为3,i增大为4;当i=
13、4时,i8,s增大为5,i增大为7;当i=7时,i8,s增大为7,i增大为10;当i=10时,i8不成立,不满足继续循环的条件,故输出结果为7.答案:7【易错警示】解答本例题(1)会出现以下错误:认为程序运行后A=5,B=8,结果选A.错误原因是对赋值语句的替换功能不理解.【规律方法】算法语句应用的三个关注点(1)赋值语句:赋值号仅仅表示把右边的表达式的值赋给了左边的变量,且变量的值始终等于最近一次赋给它的值,先前的值将被替换.(2)条件语句:计算机在执行“IFTHENELSE”语句时,首先对IF后的条件进行判断,如果符合条件,则执行THEN后面的“语句”;若不符合条件,则执行ELSE后面的“
14、语句”.(3)循环语句:分清WHILE-WEND和DO-LOOP UNTIL的格式,不能混用.【变式训练】如果运行下面的程序之后得到结果y=16,则键盘输入的x应该是 .【解析】由程序可得:当x0时y=(x+1)2.所以若y=16,则(x+1)2=16.所以x+1=4.所以x=-5或3(舍去),所以x=-5.当x0时y=(x-1)2.若y=16,则(x-1)2=16,所以x-1=4.所以x=5或-3(舍去).所以x=5.综上所述:x=5.答案:5【加固训练】1.(2016湖北八市联考)按照如图程序运行,则输出K的值是 .【解析】第一次循环,X=7,K=1;第二次循环,X=15,K=2;第三次循环,X=31,K=3;终止循环,输出K的值是3.答案:3 2.请写出下面程序运行后输出的结果【解析】语句c=a+b是将a,b的和赋值给c,故c=2+3=5;语句b=a+c-b是将a+c-b的值赋给b.故b=2+5-3=4.所以输出的结果是a=2,b=4,c=5.