高考数学一轮复习精讲 第13单元第75讲 基本算法语句与算法案例 湘教版
- 格式:ppt
- 大小:776.00 KB
- 文档页数:56
第课基本算法语句()
. 了解用伪代码表示的几种基本算法语句:赋值语句、输出语句、条件语句、循环语句.
.
能用自然语言、流程图和伪代码表示算法,会用“循环”“循环”或“循环”语句实施循环.
. 阅读:必修第~页.
.
解悟:①伪代码的含义;②赋值语句、输入语句、输出语句、条件语句、循环语句的一般形式;③“--”语句嵌套及实现功能;④三种循环语句的区别.
. 践习:重解第~页例和例.在教材空白处,完成第页练习第、题.
基础诊断
. 下列语句:①←-;②←×;③←;④←+;⑤←[(+)-]+.
其中为赋值语句的是①②④⑤.(填序号)
解析:因为③中左边为数字,故不是赋值语句,①②④⑤均为赋值语句.
. 执行如图所示的程序,则输出的结果为.
解析:由题意得=+++++=,故输出的结果为.
. 执行如图所示的伪代码,则输出的结果为.
解析:由题意可得=满足条件<,=;=满足条件<,=;=满足条件<,=;=,不满足条件<,退出循环,故输出的结果为.
. 执行如图所示的伪代码,则输出的结果为.
解析:=+×(+++)-×=.
范例导航
考向❶区别赋值语句与输入、输出语句
例读如下两段伪代码,完成下面题目:
运行如图和图所示的程序,若输出的结果相同,则图乙中输入的的值为.
解析:由图知运算后输出的的值为,所以图中输入的=.
执行如图所示的伪代码,当输入,,,,,分别为,,,,,时,输出的=,=W.。
2021年高考数学一轮复习 9.2基本算法语句、算法案例与框图课时作业理 湘教版一、选择题 1.读程序回答问题甲乙对甲、乙两程序和输出结果判断正确的是( )A.程序不同,结果不同B.程序不同,结果相同C.程序相同,结果不同D.程序相同,结果相同【解析】 程序不同但结果相同都为S =1+2+…+1 000. 【答案】 B2.读程序,当输出的y 的范围大于1时,则输入的x 值的取值范围是( ) A.(-∞,-1) B.(1,+∞)C.(-∞,-1)∪(1,+∞)D.(-∞,0)∪(0,+∞)【解析】 由程序可得 ,∵y >1,∴①当x ≤0时,>1,即2-x>2,∴-x >1,∴x <-1.②当x>0时,>1,即x>1,故输入的x值的范围为(-∞,-1)∪(1,+∞).【答案】 C3.在十进制中,2 004=4×100+0×101+0×102+2×103,那么在五进制中数码2 004折合成十进制数为( )A.29 B.254C.602 D.2 004【解析】 2 004(5)=4×50+0×51+0×52+2×53=4+0+0+250=254.【答案】 B4.261和319的最大公约数是( )A.3 B.7 C.29 D.31【解析】319=261×1+58,261=58×4+29,58=29×2,∴最大公约数为29.【答案】 C5.(xx·上饶模拟)如图是一个求20个数的平均数的程序,在横线上应填充()<20 C.i>=20 D.i<=20【解析】设20个数分别为x1,x2,…,x19,x20,由程序知:i=1时,进入循环S=0+x1=x1,i=2时,进入循环S=x1+x2,i=3时,进入循环S=x1+x2+x3,…i=k时,进入循环S=x1+x2+…+xk,不进入循环S=x1+x2+…+xk-1.∴若有S=x1+x2+ (x20)则i=20时进入循环,i>20时退出循环.【答案】A6.(xx·东北三校模拟)下面程序运行的结果为()A.4B.5C.6D.7【解析】第一次执行后,S =100-10=90,n =10-1=9; 第二次执行后,S =90-9=81,n =9-1=8; 第三次执行后,S =81-8=73,n =8-1=7; 第四次执行后,S =73-7=66,n =7-1=6. 此时S =66≤70,结束循环,输出n =6. 【答案】C 二、填空题 7.给出一个算法: 根据以上算法,可求得 .【解析】 f (x )=⎩⎪⎨⎪⎧4x ,x ≤0,2x,x >0,∴f (-1)+f (2)=-4+22=0.【答案】 08.已知f (x )=x 4+4x 3+6x 2+4x +1,则f (9)=________. 【解析】 f (x )=(((x +4)x +6)x +4)x +1v 0=1,v 1=9+4=13,v 2=13×9+6=123, v 3=123×9+4=1 111,v 4=1 111×9+1=10 000,∴f(9)=10 000.【答案】10 0009.如图的程序框图所描述的算法称为欧几里得辗转相除法.若输入m=2 010,n=1 541,则输出m=.【解析】 2 010=1 541×1+469,1 541=469×3+134,469=134×3+67,134=67×2+0.【答案】6710.如图是求n!(n!= n×(n -1)×…×3×2×1)的部分程序,请在横线上补全程序.【解析】所给算法是求n个连续数的乘积,而所用的语句是循环语句,而且是WHILE语句,故应补充:①INPUT n,②i<=n,③S=S*i.【答案】①INPUT n ②i<=n ③S=S*i三、解答题11.阅读流程图,解答下列问题:(a:=b也可写作a=b)①i=1S=1WHILE②③i=i+1WENDPRINT SEND(1)变量y在这个算法中的作用是什么?(2)这个算法的循环体是哪一部分?功能是什么?(3)这个算法的处理功能是什么?【解析】(1)变量y是循环变量,控制着循环的开始和结束.(2)流程图的循环体是y:=xx与y:=y+1之间的部分,其功能是判断年份y是否是闰年,并输出结果.(3)这个算法的处理功能是判断xx年至2500年中,哪些年份是闰年,哪些年份不是闰年,并输出结果.12.求147,343,133的最大公约数.【解析】先求147与343的最大公约数.343-147=196,196-147=49,147-49=98,98-49=49,所以147与343的最大公约数为49.再求49与133的最大公约数.133-49=84,84-49=35,49-35=14,35-14=21,21-14=7,14-7=7.所以147,343,133的最大公约数为7.13.某商场庆“五一”实行优惠促销,规定若购物金额x在800元以上(含800元)打8折;若购物金额在500元以上(含500元)打9折;否则不打折.请设计一个算法程序框图,要求输入购物金额x,能输出实际交款额,并写出程序.【解析】程序框图:程序:INPUT“购物金额=”;xIF x>=800THENy=0.8*xELSEIF x>=500 THENy=0.9*xELSEy=xEND IFEND IFPRINT yEND OG29398 72D6 狖L:25018 61BA 憺H27697 6C31 氱。
第十三章算法初步、推理与证明一考试说明1.算法的含义、程序框图(1)了解算法的含义,了解算法的思想.(2)理解程序框图的三种基本逻辑结构:顺序、条件分支、循环.2.基本算法语句了解几种基本算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句的含义.3.了解合情推理的含义,能进行简单的归纳推理和类比推理,体会并认识合情推理在数学发现中的作用.4.了解演绎推理的含义,了解合情推理和演绎推理的联系和差异;掌握演绎推理的“三段论”,能运用“三段论”进行一些简单的演绎推理.5.了解直接证明的两种基本方法:综合法和分析法;了解综合法和分析法的思考过程和特点.6.了解反证法的思考过程和特点.7.了解数学归纳法的原理,能用数学归纳法证明一些简单的数学命题.二.考情分析13.1 算法初步知识点梳理1.算法的概念及特点(1)算法的概念在数学中,算法通常是指按照一定规则解决某一类问题的明确和有限的步骤.(2)算法的特点之一是具有确定性,即算法中的每一步都应该是确定的,并能有效地执行,且得到确定的结果,而不应是模棱两可的;其二是具有有序性,即算法步骤明确,前一步是后一步的前提,只有执行完前一步才能进行后一步,并且每一步都准确无误才能解决问题;其三是具有有穷性,即一个算法应该在有限步操作后停止,而不能是无限的;另外,算法还具有不唯一性和普遍性,即对某一个问题的解决不一定是唯一的,可以有不同的解法,一个好的算法应解决的是一类问题而不是一两个问题.2.程序框图(1)程序框图的概念程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.(2)构成程序框图的图形符号、名称及其功能3.(1)顺序结构顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的.它是由若干个依次执行的步骤组成的,它是任何一个算法都离不开的基本结构.顺序结构可用程序框图表示为如图所示的形式.(2)条件结构在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向.常见的条件结构可以用程序框图表示为如图所示的两种形式.(3)循环结构在一些算法中,经常会出现从某处开始,按照一定的条件反复执行某些步骤的情况,这就是循环结构.反复执行的步骤称为循环体循环结构有如下两种形式:①如图1,这个循环结构有如下特征:在执行了一次循环体后,对条件进行判断,如果条件不满足,就继续执行循环体,直到条件满足时终止循环.因此,这种循环结构称为直到型循环结构.②如图2表示的也是常见的循环结构,它有如下特征:在每次执行循环体前,对条件进行判断,当条件满足时,执行循环体,否则终止循环.因此,这种循环结构称为当型循环结构.4.输入(INPUT)语句输入语句的一般格式:INPUT..............“提示内容”;变量要求:(1)输入语句要求输入的值是具体的常量;(2)提示内容提示用户输入的是什么信息,必须加双引号,“提示内容”原原本本地在计算机屏幕上显示,提示内容与变量之间要用分号隔开;(3)一个输入语句可以给多个变量赋值,中间用“,”分隔.5.输出(PRINT)语句输出语句的一般格式:PRINT...............“提示内容”;表达式功能:实现算法输出信息(表达式).要求:(1)表达式是指算法和程序要求输出的信息;(2)提示内容提示用户要输出的是什么信息,提示内容必须加双引号,提示内容要用分号和表达式分开;(3)如输入语句一样,输出语句可以一次完成输出多个表达式的功能,不同的表达式之间可用“,”分隔.6.赋值语句赋值语句的一般格式:变量=表达式.赋值语句中的“=”叫做赋值号,它和数学中的等号不完全一样.作用:赋值语句的作用是将表达式所代表的值赋给变量.要求:(1)赋值语句左边只能是变量,而不是表达式,右边表达式可以是一个常量、变量或含变量的运算式.如:2=x是错误的.(2)赋值号的左右两边不能对换.赋值语句是将赋值号右边的表达式的值赋给赋值号左边的变量.如“A=B”“B=A”的含义和运行结果是不同的,如x=5是对的,5=x是错的,A+B=C是错的,C=A+B 是对的.(3)不能利用赋值语句进行代数式的演算(如化简、因式分解、解方程等).7.条件语句(1)“IF—THEN”语句格式:IF 条件THEN语句体END IF说明:当计算机执行“IF—THEN”语句时,首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体,否则执行END IF之后的语句.(2)“IF—THEN—ELSE”语句格式:说明:当计算机执行“IF—THEN—ELSE”语句时,首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体1,否则(ELSE)执行语句体2.8.循环语句(1)直到型循环语句直到型(UNTIL型)语句的一般格式为:DO循环体LOOP UNTIL 条件(2)当型循环语句当型(WHILE型)语句的一般格式为:WHILE 条件循环体WEND基础自测12.1算法初步1.[教材改编] 执行如图10635所示的程序框图,若输入的t=0.02,则输出的n=________.图10635 图106362.[教材改编] 某算法的程序语段如图10636所示,若输出y的值为3,则输入x的值为________.3.若[x]表示不超过x的最大整数,执行如图10637所示的程序框图,则输出S的值为________.图10637 图106384.如图10638所示是计算12+14+16+…+14030+14032的值的程序框图,其中判断框内应填入的条件是________.题组三常考题5.[2016·北京卷改编] 执行如图10639所示的程序框图,若输入的a值为1,则输出的k值为________.图10639 图1063106.[2016·山东卷] 执行图106310所示的程序框图,若输入的a ,b 的值分别为0和9,则输出的i 的值为________.7.[2015·全国卷Ⅱ改编] 如图106311所示的程序框图的算法思路源于我国古代数学名著《九章算术》中的“更相减损术”.执行该程序框图,若输入的a ,b 分别为14,18,则输出的a =________.图106311易错点:注意循环结构中控制循环的条件;注意区分程序框图是条件结构还是循环结构. 解析1.6 [解析] 第一次执行循环体后,s =12,m =14,n =1;第二次执行循环体后,s =14,m =18,n =2;…;第六次执行循环体后,s =164,m =1128,n =6,满足退出循环的条件,故输出的n =6.2.8 [解析] 所给算法程序语段的意义是求函数y =⎩⎪⎨⎪⎧x +2,x ≤0,log 2x ,x>0 的值.当输出y 的值为3时,若输入的x ≤0,则x +2=3,解得x =1,不合题意,舍去;若输入的x>0,则log 2x =3,解得x =8.综上所述,输入x 的值为8.3.7 [解析] 结合算法流程图可以看出,当n =8>6时,输出S =[0]+[2]+[4]+[6]+[8]=7. 4.i ≤4032?(答案不唯一) [解析] 当i =4032时,S =12+14+16+…+14030+14032,当i =4034时,结束循环,因此可填“i ≤4032?”.5.2 [解析] 输入a =1,当k =0时,b =1,a =-12,不满足a =b ;当k =1时,a =-2,不满足a =b ;当k =2时,a =1,满足a =b ,结束循环,输出的k 值是2.6.3 [解析] 当i =1时,a =1,b =8;当i =2时,a =3,b =6;当i =3时,a =6,b =3,满足条件.故输出i 的值为3.7.2 [解析] 逐一写出循环:a =14,b =18→a =14,b =4→a =10,b =4→a =6,b =4→a =2,b =4→a =2,b =2,结束循环.高考真题13.1算法1. 下列各式中的S 值不可以用算法求解的是( )A .S =1+2+3+4B .S =12+22+32+…+1002C .S =1+12+13+…+110 000D .S =1+2+3+4+…解:由算法的有限性知,D 不正确,而A ,B ,C 都可以通过有限步骤操作,输出确定结果,故选D. 2. 下面程序运行后输出结果是3,则输入的x 值一定是( )A .3B .-3C .3或-3D .0解:该程序语句是求函数y =|x |的函数值,因为y =3,所以x =±3.故选C.3. (2015·重庆)执行如图所示的程序框图,若输出k 的值为8,则判断框内可填入的条件是()A .s ≤34B .s ≤56C .s ≤1112D .s ≤2524解:第一次循环,得k =2,s =12;第二次循环,得k =4,s =12+14=34;第三次循环,得k =6,s =34+16=1112;第四次循环,得k =8,s =1112+18=2524,此时退出循环,输出k =8,所以判断框内可填入的条件是s ≤1112.故选C.4. 下列循环语句,循环终止时,n =____________.n =2WHILE n<=7n =n +1WEND解:该循环语句是当型循环语句,循环终止时,条件n ≤7开始不成立,故填8.5. (2016·山东)执行如图所示的程序框图,若输入的a ,b 的值分别为0和9,则输出的i 的值为__________.解:输入a =0,b =9,第一次循环:a =0+1=1,b =9-1=8,i =1+1=2; 第二次循环:a =1+2=3,b =8-2=6, i =2+1=3;第三次循环:a =3+3=6,b =6-3=3,a >b 成立,故输出i 的值为3.故填3.6.[2016·全国卷Ⅰ] 执行下图的程序框图,如果输入的x =0,y =1,n =1,则输出x ,y 的值满足( )A .y =2xB .y =3xC .y =4xD .y =5x[解析] C 第一次运行程序,n =1,x =0,y =1;第二次运行程序,n =2,x =12,y =2;第三次运行程序,n =3,x =32,y =6,此时满足条件x 2+y 2≥36,输出x =32,y =6,满足y =4x.7.[2016·全国卷Ⅱ] 中国古代有计算多项式值的秦九韶算法,下图是实现该算法的程序框图.执行该程序框图,若输入的x =2,n =2,依次输入的a 为2,2,5,则输出的s =( )A.7 B.12C.17 D.34[解析] C第一次运算,a=2,s=2,k=1,不满足k>n;第二次运算,a=2,s=2×2+2=6,k=2,不满足k>n;第三次运算,a=5,s=6×2+5=17,k=3,满足k>n,输出s=17.8.[2016·全国卷Ⅲ] 执行下图的程序框图,如果输入的a=4,b=6,那么输出的n=( )A.3 B.4C.5 D.6[解析] B当n=1时,s=6;当n=2时,s=10;当n=3时,s=16;当n=4时,s=20,故输出的n=4.9.[2015·全国卷Ⅰ] 执行如图所示的程序框图,如果输入的t=0.01,则输出的n=( )A .5B .6C .7D .8[解析] C 逐次写出循环过程: S =1-12=12,m =14,n =1,S>0.01;S =12-14=14,m =18,n =2,S>0.01; S =14-18=18,m =116,n =3,S>0.01; S =18-116=116,m =132,n =4,S>0.01; S =116-132=132,m =164,n =5,S>0.01; S =132-164=164,m =1128,n =6,S>0.01; S =164-1128=1128,m =1256,n =7,S<0.01,循环结束.故输出的n 值为7. 10.[2015·全国卷Ⅱ] 如图所示的程序框图的算法思路源于我国古代数学名著《九章算术》中的“更相减损术”.执行该程序框图,若输入的a ,b 分别为14,18,则输出的a =( )A .0B .2C .4D .14[解析] B 逐一写出循环:a =14,b =18→a =14,b =4→a =10,b =4→a =6,b =4→a =2,b =4→a =2,b =2,结束循环.故选B .11.[2014·新课标全国卷Ⅰ] 执行如图所示的程序框图,若输入的a ,b ,k 分别为1,2,3,则输出的M =( )A .203B .165C .72D .158[解析] D 逐次计算,依次可得:M =32,a =2,b =32,n =2;M =83,a =32,b =83,n =3;M =158,a =83,b =158,n =4.此时输出M ,故输出的是158. 12.[2016·四川卷] 秦九韶是我国南宋时期的数学家,普州(现四川省安岳县)人,他在所著的《数书九章》中提出的多项式求值的秦九韶算法,至今仍是比较先进的算法.如图所示的程序框图给出了利用秦九韶算法求某多项式值的一个实例,若输入n ,x 的值分别为3,2,则输出v 的值为( )A .9B .18C .20D .35[解析] B 初始值n =3,x =2,程序运行过程依次为 i =2,v =1×2+2=4,i =1; v =4×2+1=9,i =0; v =9×2+0=18,i =-1, 跳出循环,输出v =18.13.[2016·天津卷] 阅读如图所示的程序框图,运行相应的程序,则输出S 的值为( )A .2B .4C .6D .8[解析] B 第一次执行循环体后S =8,n =2;第二次执行循环体后S =2,n =3;第三次执行循环体后S =4,n =4,满足n>3,结束循环.故输出S =4.14.[2016·北京卷] 执行如图所示的程序框图,若输入的a 值为1,则输出的k 值为( )A .1B .2 C..3 D .4[解析] B 输入a =1,当k =0时,b =1,a =-12,不满足a =b ;当k =1时,a =-2,不满足a =b ;当k =2时,a =1,满足a =b ,结束循环,输出的k 值是2.15.[2016·山东卷] 执行如图所示的程序框图,若输入的a ,b 的值分别为0和9,则输出的i 的值为________.[答案] 3[解析] 当i=1时,a=1,b=8;当i=2时,a=3,b=6;当i=3时,a=6,b=3,满足条件.故输出i的值为3.关键知识点及典型例题讲解类型一算法的概念例1. 下列语句是算法的个数为( )①从济南到巴黎:先从济南坐火车到北京,再坐飞机到巴黎;②统筹法中“烧水泡茶”的故事;③测量某棵树的高度,判断其是否为大树;④已知三角形的两边及夹角,利用三角形的面积公式求出该三角形的面积.A.1 B.2 C.3 D.4解:①中勾画了从济南到巴黎的行程安排,完成了任务;②中节约时间,烧水泡茶完成了任务;③中对“树的大小”没有明确的标准,无法完成任务,不是有效的算法构造;④是纯数学问题,利用三角形的面积公式求出三角形的面积.故选C.【总结】算法过程要做到一步一步地执行,每一步执行的操作必须确切,不能含糊不清,且在有限步后必须得到问题的结果.例2. 下列叙述能称为算法的个数为( )①植树需要运苗、挖坑、栽苗、浇水这些步骤;②顺序进行下列运算:1+1=2,2+1=3,3+1=4,…,99+1=100;③从宜昌乘火车到武汉,从武汉乘飞机到北京;④3x>x+1;⑤求所有能被3整除的正数,即3,6,9,12,….A.2 B.3 C.4 D.5解:①②③可称为算法,④⑤不是,故选B.类型二经典算法例3. “韩信点兵”问题.韩信是汉高祖刘邦手下的大将,为了保守军事机密,他在点兵时采用下述方法:先令士兵从1~3报数,结果最后一个士兵报2;再令士兵从1~5报数,结果最后一个士兵报3;又令士兵从1~7报数,结果最后一个士兵报4.这样,韩信很快就知道了自己部队士兵的总人数.请设计一个算法,求出士兵至少有多少人.解:在本题中,士兵从1~3报数,最后一个士兵报2,说明士兵的总人数是除以3余2,其他两种情况依此类推.(算法一)步骤如下:第一步:先确定最小的满足除以7余4的数是4;第二步:依次加7就得到所有满足除以7余4的数:4,11,18,25,32,39,46,53,60,…;第三步:在第二步所得的一列数中确定最小的满足除以5余3的正整数:18;第四步:依次加上35,得18,53,88,…;第五步:在第四步得到的一列数中,找到最小的满足除以3余2的正整数:53,这就是我们要求的数.(算法二)步骤如下:第一步:先确定最小的满足除以3余2的数是2;第二步:依次加3就得到所有满足除以3余2的数:2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,53,56,…;第三步:在第二步所得的一列数中确定最小的满足除以5余3的正整数:8;第四步:然后依次加15就得8,23,38,53,…,不难看出,这些数既满足除以3余2,又满足除以5余3;第五步:在第四步所得的一列数中找到满足除以7余4的最小数是53,这就是我们要求的数. 【总结】给出一个问题,设计算法时要注意:(1)认真分析问题,研究解决此问题的一般方法;(2)将解决问题的过程分解成若干步骤;(3)用简练的语言将各步骤表示出来;(4)把解题过程条理清楚地表达出来,就得到一个明确的算法.对于同一问题,可以设计不同的算法,其最终的结果是一样的,但解决问题的繁简程度不同,我们要寻找最优算法.例4 一位商人有9枚银元,其中有一枚略轻的是假银元.请设计一种算法,用天平(不用砝码)将假银元找出来. 解:算法如下:第一步:把银元分成3组,每组3枚;第二步:先将两组分别放在天平的两边,如果天平不平衡,那么假银元就在轻的那一组;如果天平左右平衡,则假银元就在未称的第3组内;第三步:取出含假银元的那一组,从中任取两枚银元放在天平的两边.如果左右不平衡,则轻的那一边就是假银元;如果天平两边平衡,则未称的那一枚就是假银元. 类型三 顺序结构例4 已知点P (x 0,y 0)和直线l :Ax + By +C =0,求点P (x 0,y 0)到直线l 的距离d ,写出其算法并画出流程图. 解:算法如下:第一步:输入x 0,y 0及直线方程的系数A ,B ,C . 第二步:计算z 1=Ax 0+By 0+C . 第三步:计算z 2=A 2+B 2. 第四步:计算d =||z 1z 2.第五步:输出d . 流程图如图所示.【总结】顺序结构是一种最简单、最基本的结构,可严格按照传统的解题思路写出算法步骤,画出程序框图.注意语句与语句之间,框与框之间是按从上到下的顺序进行的.例6阅读如图所示的程序框图,若输入的a ,b ,c 的值分别是21,32,75,则输出的a ,b ,c 分别是( )A.75,21,32 B.21,32,75C.32,21,75 D.75,32,21解:该程序框图的执行过程是:输入21,32,75;x=21;a=75;c=32;b=21;输出75,21,32.故选A.类型四条件结构例7(2016·天津)阅读如图所示的程序框图,运行相应的程序,则输出S的值为( )A.2 B.4 C.6 D.8解:第一次循环,S=8,n=2;第二次循环,S=2,n=3;第三次循环,S=4,n=4,故输出S的值为4.故选B.【总结】条件结构的运用与数学的分类讨论有关.设计算法时,哪一步要分类讨论,哪一步就需要用条件结构.例8 (2015·全国卷Ⅱ)如图所示程序框图的算法思路源于我国古代数学名著《九章算术》中的“更相减损术”.执行该程序框图,若输入的a,b分别为14,18,则输出的a=( )A.0 B.2 C.4 D.14解:执行该程序,输入a,b的值依次为a=14,b=18;a=14,b=4;a=10,b=4;a=6,b=4;a=2,b=4;a=b=2,此时退出循环,输出的a=2.故选B.类型五循环结构例9 (2016·全国卷Ⅱ)中国古代有计算多项式值的秦九韶算法,下图是实现该算法的程序框图.执行该程序框图,若输入的x=2,n=2,依次输入的a为2,2,5,则输出的s=( )A.7 B.12 C.17 D.34解:由题意,当x=2,n=2,k=0,s=0时,输入a=2,则s=0×2+2=2,k=1,循环;输入a=2,则s=2×2+2=6,k=2,循环;输入a=5,s=6×2+5=17,k=3>2,结束.故输出的s=17.故选C.【总结】解决此类型问题时要注意:①要明确是当型循环结构,还是直到型循环结构,根据各自的特点执行循环体;②要明确图中的累计变量,明确每一次执行循环体前和执行循环体后,变量的值发生的变化;③要明确循环体终止的条件是什么,会判断什么时候终止循环体.例10. (2016·四川)秦九韶是我国南宋时期的数学家,普州(现四川省安岳县)人,他在所著的《数书九章》中提出的多项式求值的秦九韶算法,至今仍是比较先进的算法.如图所示的程序框图给出了利用秦九韶算法求某多项式值的一个实例,若输入n,x的值分别为3,2,则输出v的值为( )A.9 B.20 C.18 D.35解:该程序框图的执行过程如下:i=2,v=1×2+2=4,i=1;v=4×2+1=9,i=0;v=9×2+0=18,i=-1,此时输出v=18.故选C.类型六输入、输出和赋值语句例10 请写出下面运算输出的结果.(1)a=5b=3c=(a+b)/2d=c*cPRINT “d=”;d(2)a=1b=2c=a+bb=a+c-bPRINT “a=,b=,c=”;a,b,c(3)a=10b=20c=30a=bb=cc=aPRINT “a=,b=,c=”;a,b,c解:(1)语句“c=(a+b)/2”是将a,b之和的一半赋值给变量c,语句“d=c*c”是将c的平方赋值给d,最后输出d的值.故输出结果为d=16.(2)语句“c=a+b”是将a,b之和赋值给c,语句“b=a+c-b”是将a+c-b的值赋值给了b.故输出结果为a=1,b=2,c=3.(3)经过语句“a=b”后a,b,c的值是20,20,30,经过语句“b=c”后a,b,c的值是20,30,30,经过语句“c=a”后a,b,c的值是20,30,20.故输出结果为a=20,b=30,c=20. 【总结】①将一个变量的值赋给另一个变量,前一个变量的值保持不变;②可先后给一个变量赋多个不同的值,但变量的取值总是最后被赋予的值.例11 阅读下列两个程序,回答问题:①x =3y =4x =y ②x =3y =4y =x①中程序输出的x 值为__________,②中程序输出的y 值为__________.解:程序①中的x =y 是将y 的值4赋给x ,赋值后x 的值变为4;②中y =x 是将x 的值3赋给y ,赋值后y 的值为3.故填4;3. 类型七 条件语句例12 已知函数y =⎩⎪⎨⎪⎧x 2-1,x ≥0,2x 2-5,x <0,画出程序框图并编写一个程序,对每输入的一个x 值,都得到相应的函数值.解:程序框图如下.程序如下.【总结】条件语句:“IF THEN ”及“IF THEN ELSE ”的用法在“考点梳理”栏有说明,需要注意的是,若是三段或三段以上的分段函数,通常需用条件语句的嵌套结构.例13.编写程序,使得任意输入的3个整数按从小到大的顺序输出.解:算法分析:用a ,b ,c 表示输入的3个整数,为了节约变量,把它们重新排列后,仍用a ,b ,c 表示, 并使a ≤b ≤c .具体操作步骤如下. 第一步:输入3个整数a ,b ,c .第二步:将a 与b 比较,并把大者赋给b ,小者赋给a .第三步:将a 与c 比较,并把大者赋给c ,小者赋给a (此时a 已是三者中最小的).第四步:将b 与c 比较,并把大者赋给c ,小者赋给b (此时a ,b ,c 已按从小到大的顺序排列好). 第五步:按顺序输出a ,b ,c .上述操作步骤可以用程序框图直观地表达出来.程序框图如图.根据程序框图,写出计算机程序为:类型八循环语句例14 若下面程序中输入的n值为2 017,则输出的值为____________.解:本程序是计算S =11×2+2×3+…+n (n +1).裂项得S =⎝ ⎛⎭⎪⎫1-2+⎝ ⎛⎭⎪⎫12-13+…+⎝ ⎛⎭⎪⎫1n -1n +1=n n +1.所以当n =2 017时,S =2 0172 018.故填2 0172 018.【总结】计算机执行此程序时,遇到WHILE 语句,先判断条件是否成立,如果成立,则执行WHILE 和WEND 之间的循环体,然后返回到WHILE 语句再判断上述条件是否成立,直至返回到WHILE 语句判断上述条件不成立为止,这时不再执行循环体,而执行WEND 后面的语句,这是当型循环.变式8 计算12+22+32+…+1002的值,分别用WHILE 型语句和UNTIL 型语句编写程序. 解: WHILE 型:WHILE 型:类型九 算法的交汇性问题1 与统计的交汇问题例15 如图10-63-16(1)是某县参加2016年高考的学生身高条形统计图,从左到右的各条形表示的学生人数依次记为A 1,A 2,…,A 10(如A 2表示身高(单位:cm)在[150,155)内的学生人数).图(2)是统计图(1)中身高在一定范围内学生人数的一个程序框图.现要统计身高在[160,180)内的学生人数,则在程序框图中的判断框内应填写( )A .i <6?B .i <7?C .i <8?D .i <9?图10-63-16解析:从条形统计图可以看出身高的分布,因为要统计身高在[160,180)内的学生人数,所以4≤i ≤7.C [解析] 统计身高在[160,180)内的学生人数,即求A 4+A 5+A 6+A 7的值.当4≤i ≤7时,符合要求,故选C .【总结】 与统计交汇的程序框图问题,多体现在将统计的图表知识(如频率分布直方图、茎叶图等)与程序框图交汇在一起,解决此类问题时应根据题意读懂统计的图表数据后,再根据程序框图的算法进行推理演算.例16. [2016·九江三模] 设x 1=18,x 2=19,x 3=20,x 4=21,x 5=22,将这五个数据依次输入到图10-63-17所示的程序框图中进行计算,则输出的S 值及其统计意义分别是( )图10-63-17A .S =2,即5个数据的方差为2B .S =2,即5个数据的标准差为2C .S =10,即5个数据的方差为10D .S =10,即5个数据的标准差为10解析:A [解析] 由题意知S =15×[(18-20)2+(19-20)2+(20-20)2+(21-20)2+(22-20)2]=2,故选A .2 与函数的交汇问题例17 [2016·华南师大附中月考] 阅读如图10-63-18所示的程序框图,若输出的函数值在区间⎣⎡⎦⎤14,12内,则输入的实数x 的取值范围是( )图10-63-18A .(-∞,2]B .[-2,-1]C .[-1,2]D .[2,+∞)解析 考查分段函数f(x)=⎩⎪⎨⎪⎧2x ,-2≤x ≤2,2,x<-2或x>2, 由2x ∈⎣⎡⎦⎤14,12求出x 的取值范围. B [解析] 由程序框图可得分段函数f(x)=⎩⎪⎨⎪⎧2x ,-2≤x ≤2,2,x<-2或x>2.令2x ∈⎣⎡⎦⎤14,12 ,则x ∈[-2,-1],满足题意,故选B .【总结】与函数交汇的程序框图问题,常见的是条件结构的应用,考查分段函数的求值问题,读图时应正确理解题意,根据相应条件选择与之对应的运算法则求值.例18. [2016·海南中学模拟] 某程序框图如图10-63-19所示,若该程序运行后输出的值是1,则正整数n的值是( )图10-63-19A .3B .4C .5D .6C [解析] 由题意得,(lg m)2log m 4m +(lg 2)2=lg m lg 4m +(lg 2)2=(lg m)2+2lg 2lg m +(lg 2)2 =(lg m +lg 2)2=(lg 2m)2=1,所以lg 2m =-1或lg 2m =1,所以m =120或m =5,因为m 是整数,所以m =5,所以n =5.3 与数列求和的交汇问题例19 [2016· 临汾一中月考] 执行如图10-63-20所示的程序框图,若输入n =10,则输出的S 值等于( )图10-63-20A.511B.2021C.1021D.1011[思路点拨] 根据程序框图,依次列举出每次循环的结果,从而确定输出值. A [解析] 由题意得,S =122-1+142-1+162-1+182-1+1102-1=11×3+13×5+15×7+17×9+19×11=12×⎝⎛⎭⎫1-13+13-15+…+19-111=511. 【总结】 与数列求和交汇的程序框图问题,解题关键取决于两个方面:一是循环结构的识图、推理,将其输出结果呈现为一个数列求和的形式;二是结合数列求和的知识对结果进行求和运算.常见题型为等差、等比数列求和,裂项相消法求和以及周期分组求和.例20. [2016·漳州模拟] 执行如图10-63-21所示的程序框图,若输出的结果是3132,则输入的a 为( )图10-63-21A .6B .5C .4D .3B [解析] 当n =1时,S =12;当n =2时,S =12+122=34;…;当n =4时,S =12+122+123+124=1516;当n =5时,S =12+122+123+124+125=3132,此时输出S ,故4<a ≤5,所以选B .章节归纳小结1.设计算法时,要根据题目进行选择,以简单、程序短、易于在计算机上执行为原则.2.画程序框图首先要进行结构选择,套用格式.若求只含有一个关系式的函数的函数值时,只用顺序结构就能够解决;若是分段函数或执行时需要先判断才能执行后继步骤的,就必须引入条件结构;如果问题涉及的运算进行了许多重复的步骤,有规律,就可引入变量,应用循环结构.当然,应用循环结构一定要用到顺序结构与条件结构.3.循环结构的循环控制通过累加变量记录循环次数,通过判断框决定循环终止与否.用循环结构来描述算法,在画出算法程序框图之前,需要确定的三件事是:(1)确定循环变量与初始条件;(2)确定循环体;(3)确定终止条件.注意直到型循环与当型循环的区别,二者判断框内的条件表述在解决同一问题时恰好相反.解决循环结构框图问题,当循环次数比较少时,可依次列出;当循环次数较多时,可先循环几次,找出规律.要特别注意最后输出的是什么,不要出现多一次或少一次循环的错误.4.在具体绘制程序框图时,要注意以下几点:(1)流程线上要标有执行顺序的箭头.(2)判断框后边的流程线应根据情况标注“是(Y)”或“否(N)”.(3)框图内的内容包括累加(积)变量初始值,计数变量初始值,累加值,前后两个变量的差值都要仔细斟酌,不能有丝毫差错.(4)判断框内条件常用“>”“≥”“<”“≤”“=”等符号,它们的含义是各不相同的,要根据所选循环结构的类型,正确地进行选择.5.当型循环与直到型循环的区别(1)WHILE型是先判断条件,后执行循环体,而UNTIL型则是先执行循环体,后判断条件;(2)WHILE型是当条件满足时执行循环体,不满足时结束循环,而UNTIL型则是条件不满足时执行循环体,条件满足时结束循环;(3)UNTIL型至少执行一次循环体,而WHILE型执行循环体的次数可能为0.课时作业12.1算法1.结合下面的算法:第一步:输入x.第二步:判断x是否小于0,若是,则输出x+2,否则执行第三步.第三步:输出x-1.当输入的x的值为-1,0,1时,输出的结果分别为( )A.-1,0,1 B.-1,1,0C.1,-1,0 D.0,-1,1解:根据x值与0的关系,选择执行不同的步骤,当x的值为-1,0,1时,输出的结果分别为1,-1,0,故选C.2.如图的程序框图输出的结果是( )A.4 B.3 C.2 D.0解:该算法首先将1,2,3三个数分别赋给x,y,z;然后先让x取y的值,即x变成2,再让y取x 的值,即y的值是2,接着让z取y的值,即z的值为2,从而最后输出z的值为2.故选C.3.读程序回答问题.甲乙A.程序不同,结果不同B.程序不同,结果相同C.程序相同,结果不同D.程序相同,结果相同解:甲、乙两程序显然不同,但都是求1+ 2+…+1000的和,所以结果相同,故选B.4.下列程序语句是求函数y=|x-4|+1的函数值,则①处为( )。
第75课 基本算法语句(1)一、 教学目标1.了解用伪代码表示的几种基本算法语句:赋值语句、输入语句、输出语句、条件语句、循环语句.2.能用自然语言、流程图和伪代码表示算法,会用“While 循环”、“For 循环”语句或“Do 循环”语句实施循环.二、基础知识回顾与梳理 【回顾要求】1. 阅读必修三第17—21页,完成以下任务: (1)什么是伪代码?(2)赋值语句表达形式?有什么作用? (3)输入语句、输出语句如何正确表述? (4)条件语句的一般形式是什么?功能是什么?2. 第20页例2你会设计算法吗?阅读教材上的算法步骤。
能否用伪代码表述?你能画出流程图吗?3. 在教材上的空白处做以下题目:第21页练习第1题、第3题。
【要点解析】三、诊断练习1、教学处理:课前由学生自主完成4道小题,并要求将解题过程扼要地写在学习笔记栏.课前抽查批阅部分同学的解答,了解学生的思路及主要错误.将知识问题化,通过问题驱动,使教学言而有物,帮助学生内化知识,初步形成能力.点评时要简洁,要点击要害.2、诊断练习点评题1:下列语句中:① ② ③④ ⑤其中是赋值语句的为____________32m x x ←-T T I ←⨯2A A ←+((73)5)1p x x x ←+-+32A ←【分析与点评】(1)赋值语句“ ”表示将 的值赋给 ,其中 是一个变量, 是一个与 同类型的变量或表达式.(2)基本算法语句只要书写简便、容易理解、表达清楚即可;本章建议所用符号相对统一,以免混淆.题2:根据如图所示的伪代码,当输入,a b 分别为2,3时,最后输出的m 的值是 .【分析与点评】(1)解决与选择语句有关问题,一般先写出算法所表示的函数关系式. (2)条件语句的形式主要有两种,一是:A 表示判断的条件,B表示条件满足时执行的操作内容,C 表示条件不满足时执行的操作内容,End If 表示条件语句的结束.二是:A 时,则执行语句B ;当条件A 不成立时,不做任何操作,退出条件语句.题3:上面是一个求20个数的平均数的程序,在横线上应该填充的语句为 .答案:20i ≤或21i <. 【分析与点评】(1)本题需要20个数相加,即循环语句需要执行20次,第一次执行后i =2,故最后一次执行后21i =,此后才能退出循环,因此横线上应填20i ≤或21i <.(2)While 语句是当型循环,其一般形式为:;While p循环体 End WhileIf A ThenBEnd If If A Then BElseC End IfS ←9 i ←1While S ≥0 S ←S -i i ←i +1 End While Print i第4题Read a ,b If a >b Then m ←a Elsem ←b End If Print m第2题x y ←y x y x x(3)While 循环中一般有两个变量,一个是计数变量,如本题中的i ,另一个是累和(或积)变量,如本题中的S .【变式】若改变循环体中“S←S +x ”和“i ←i +1”的顺序,则横线上应该填充的语句为 . 答案:21i ≤或22i <.【点评】变式的目的是让学生了解循环体中语句的顺序会对结果产生影响.题4:如下程序运行后,输出的结果为 答案为:2146)10741(21=⨯-++++=p【分析与点评】(1)解决有关循环语句问题,首先要执行几次循环体,找到其运算规律,了解算法的作用,如本题中计算的是46)10741(21⨯-++++,可以通过尝试进行验证。