第2讲算法与程序框图第十二章复数、算法、推理与证明1.算法与程序框图(1)算法①算法通常是指按照____________解决某一类问题的_______和______的步骤.②应用:算法通常可以编成计算机______,让计算机执行并解决问题.(2)程序框图定义:程序框图又称流程图,是一种用__________、流程线及_____________来表示算法的图形.一定规则明确有限程序程序框文字说明2.三种基本逻辑结构及相应语句名称示意图相应语句顺序结构①输入语句:INPUT“提示内容”;变量②输出语句:PRINT“提示内容”;表达式③赋值语句:变量=表达式名称示意图相应语句条件结构IF条件THEN语句体_________IF条件THEN语句体1________语句体2ENDIFENDIFELSE名称示意图相应语句循环结构当型循环结构________条件循环体________直到型循环结构DO循环体________________条件WHILEWENDLOOPUNTIL判断正误(正确的打“√”,错误的打“×”)(1)一个程序框图一定包含顺序结构,但不一定包含条件结构和循环结构.()(2)条件结构的出口有两个,但在执行时,只有一个出口是有效的.()(3)输入框只能紧接开始框,输出框只能紧接结束框.()(4)输入语句可以同时给多个变量赋值.()(5)在算法语句中,x=x+1是错误的.()答案:(1)√(2)√(3)×(4)√(5)×某居民区的物业公司按月向居民收取卫生费,每月收费方法是:4人和4人以下的住房,每户收取6元;超过4人的住户,每超出1人加收1.1元,相应收费系统的程序框图如图所示,则①处应填()A.y=6+1.1xB.y=15+1.1xC.y=6+1.1(x-4)D.y=15+1.1(x-4)解析:选C.依题意得,费用y与人数x之间的关系为y=6,x≤4,6+1.1(x-4),x4,则程序框图中①处应填y=6+1.1(x-4).(2018·高考北京卷)执行如图所示的程序框图,输出的s值为()A.12B.56C.76D.712解析:选B.运行程序框图,k=1,s=1;s=1+(-1)1×12=12,k=2;s=12+(-1)2×13=56,k=3;满足条件,跳出循环,输出的s=56,故选B.执行如图所示的程序框图,则输出的A是________.解析:i=0,A=2;A=2+12=52,i=1;A=2+25=125,i=2;A=2+512=2912,i=3;A=2+1229=7029,i=4,输出A,故输出的A=7029.答案:7029如图所示的框图,已知集合A={x|框图中输出的x值},集合B={y|框图中输出的y值},全集U=Z,Z为整数集,则当x=-1时,(∁UA)∩B=________.解析:依题意得,当x=-1时,A={0,1,2,3,4,5,6},B={-3,-1,1,3,5,7,9},(∁UA)∩B={-3,-1,7,9}.答案:{-3,-1,7,9}执行如图所示的程序框图,如果输入的t∈[-1,3],则输出的s属于()A.[-3,4]B.[-5,2]C.[-4,3]D.[-2,5]顺序结构与条件结构(典例迁移)【解析】由程序框图得分段函数s=3t,t1,4t-t2,t≥1.所以当-1≤t1时,s=3t∈[-3,3);当1≤t≤3时,s=4t-t2=-(t-2)2+4,所以此时3≤s≤4.综上函数的值域为[-3,4],即输出的s属于[-3,4].【答案】A[迁移探究1](变条件)若本例的判断框中的条件改为“t≥1?”,则输出的s的范围是________.解析:由程序框图得分段函数s=3t,t≥1,4t-t2,t1.所以当1≤t≤3时,s=3t∈[3,9],当-1≤t1时,s=4t-t2=-(t-2)2+4,所以此时-5≤s3.综上函数的值域为[-5,9],即输出的s属于[-5,9].答案:[-5,9][迁移探究2](变结论)本例框图不变,若输出s的值为3,求输入的t的值.解:由本例解析知s=3t,t14t-t2,t≥1,则3t=3,所以t=1(舍),4t-t2=3,所以t=1或3.应用顺序结构和条件结构的注意点(1)顺序结构顺序结构是最简单的算法结构,语句与语句之间、框与框之间是按从上到下的顺序进行的.(2)条件结构利用条件结构解决算法问题时,重点是判断框,判断框内的条件不同,对应的下一图框中的内容和操作要相应地进行变化,故要重点分析判断框内的条件是否满足.[提醒]条件结构的运用与数学的分类讨论有关.设计算法时,哪一步要分类讨论,哪一步就需要用条件结构.1.阅读如图所示的程序框图,若输入x为3,则输出的y的值为()A.24B.25C.30D.40解析:选D.a=32-1=8,b=8-3=5,y=8×5=40.2.执行如图所示的程序框图,若输出y=-3,则输入的θ=()A.π6B.-π6C.π3D.-π3解析:选D.对于A,当θ=π6时,y=sinθ=sinπ6=12,则输出y=12,不合题意;对于B,当θ=-π6时,y=sinθ=sin-π6=-12,则输出y=-12,不合题意;对于C,当θ=π3时,y=tanθ=tanπ3=3,则输出y=3,不合题意;对于D,当θ=-π3时,y=tanθ=tan-π3=-3,则输出y=-3,符合题意.故选D.角度一由程序框图求输出的结果或输入的值(1)(2018·高考天津卷)阅读如图所示的程序框图,运行相应的程序,若输入N的值为20,则输出T的值为()A.1B.2C.3D.4循环结构(多维探究)(2)(一题多解)(2019·洛阳市统考)如图的程序框图的算法思路源于我国古代数学名著《数书九章》中的“中国剩余定理”,比如已知正整数n被3除余2,被7除余4,被8除余5,求n的最小值,执行程序框图,则输出的n=()A.62B.59C.53D.50【解析】(1)N=20,i=2,T=0,Ni=202=10,是整数;T=0+1=1,i=2+1=3,35,Ni=203,不是整数;i=3+1=4,45,Ni=204=5,是整数;T=1+1=2,i=4+1=5,结束循环.输出的T=2,故选B.(2)法一:m1=112,m2=120,m3=105,n=2×112+4×120+5×105=1229,1229168,n=1229-168=1061;1061168,n=1061-168=893;…;221168,n=221-168=53,53168,所以输出的n=53,故选C.法二:因为m1=112,m2=120,m3=105,所以n=2×112+4×120+5×105=1229,由程序框图及题设中的“中国剩余定理”得此程序的算法功能是“1229被168除的余数是多少?”因为1229=7×168+53,所以输出的n=53,故选C.【答案】(1)B(2)C角度二完善程序框图(2018·高考全国卷Ⅱ)为计算S=1-12+13-14+…+199-1100,设计了如图所示的程序框图,则在空白框中应填入()A.i=i+1B.i=i+2C.i=i+3D.i=i+4【解析】由程序框图的算法功能知执行框N=N+1i计算的是连续奇数的倒数和,而执行框T=T+1i+1计算的是连续偶数的倒数和,所以在空白执行框中应填入的命令是i=i+2,故选B.【答案】B角度三辨析程序框图的功能如图所示的程序框图,该算法的功能是()【解析】初始值k=1,S=0,第1次进入循环体时,S=1+20,k=2;当第2次进入循环体时,S=1+20+2+21,k=3,…;给定正整数n,当k=n时,最后一次进入循环体,则有S=1+20+2+21+…+n+2n-1,k=n+1,终止循环体,输出S=(1+2+3+…+n)+(20+21+22+…+2n-1),故选C.【答案】CA.计算(1+20)+(2+21)+(3+22)+…+(n+1+2n)的值B.计算(1+21)+(2+22)+(3+23)+…+(n+2n)的值C.计算(1+2+3+…+n)+(20+21+22+…+2n-1)的值D.计算[1+2+3+…+(n-1)]+(20+21+22+…+2n)的值求程序框图运行结果的思路(1)要明确程序框图中的顺序结构、条件结构和循环结构.(2)要识别运行程序框图,理解框图所解决的实际问题.(3)按照题目的要求完成解答并验证.[提醒](1)注意区分当型循环和直到型循环.(2)循环结构中要正确控制循环次数.(3)要注意各个框的顺序.1.(2019·南宁二中、柳州高中联考)执行如图所示的程序框图,若输出的结果s=132,则判断框中可以填()A.i≥10?B.i≥11?C.i≤11?D.i≥12?解析:选B.执行程序框图,i=12,s=1;s=12×1=12,i=11;s=12×11=132,i=10.此时输出的s=132,则判断框中可以填“i≥11?”.2.(2019·洛阳第一次统考)已知某算法的程序框图如图所示,则该算法的功能是()A.求首项为1,公差为2的等差数列的前2017项和B.求首项为1,公差为2的等差数列的前2018项和C.求首项为1,公差为4的等差数列的前1009项和D.求首项为1,公差为4的等差数列的前1010项和解析:选C.由程序框图得,输出的S=(2×1-1)+(2×3-1)+(2×5-1)+…+(2×2017-1),可看作数列{2n-1}的前2017项中所有奇数项的和,即首项为1,公差为4的等差数列的前1009项和.故选C.3.(2019·长春质量检测(二))更相减损术是出自《九章算术》的一种算法.如图所示的程序框图是依据更相减损术写出的,若输入a=91,b=39,则输出的值为________.解析:输入a=91,b=39,91≠39,9139,a=91-39=52;52≠39,5239,a=52-39=13;13≠39,1339,b=39-13=26;13≠26,1326,b=26-13=13;a=b,输出的a的值为13.答案:13执行如图程序语句,输入a=2cos2017π3,b=2tan2017π4,则输出y的值是()A.3B.4C.6D.-1基本算法语句(师生共研)【解析】根据条件语句可知程序运行后是计算y=a(a+b),ab,a2-b,a≥b,且a=2cos2017π3=2cosπ3=1,b=2tan2017π4=2tanπ4=2;因为ab,所以y=a(a+b)=1×3=3,即输出y的值是3.【答案】A算法语句应用的三个关注点下列程序执行后输出的结果是________.i=11S=1DOS=S*ii=i-1LOOPUNTILi9PRINTSEND解析:程序反映出的算法过程为i=11⇒S=11×1,i=10;i=10⇒S=11×10,i=9;i=9⇒S=11×10×9,i=8;i=89退出循环,执行“PRINTS”.故S=990.答案:990