资源简介 专题3 用流程图表示算法学习目标 1.理解算法是解决问题的方法和步骤这一定义。2.掌握算法的流程图表示并会根据流程图表示算法的功能。 (2024年6月浙江选考)某同学根据流程图编写的Python程序段如下:n=int(input())if n<=20: z=0if n<=50: z=1else: z=2用下列输入数据测试程序段与流程图,两者得到的z值不同的是( )A.60 B.50C.30 D.10答案 D解析 本题考查算法的表示。流程图是多分支选择结构,而程序代码是多个选择结构。程序代码中,若条件n<=50不成立,第一个选择结构的值就被重新赋值。 流程图表示算法能直观反映内部控制的特征,结构清晰简洁,容易理解。流程框图有输入输出框、处理框和判断框三种,输入输出框表示数据的输入和输出,处理框表示对数据进行运算,判断框表示条件是否成立,是流程图的核心,有两个出口,表示条件是否成立的结果,数据有两种流向。选择结构的两个出口将汇集在一起,若判断框的入口有两个,是循环结构的特征。例1 某校组织学生进行阳光月跑活动,30天内总里程满50 km达标。每天组织一次跑步,平均速度(S)达到6 km/h时方可计入总里程(T),每天的跑步里程(K)若超过4 km按4 km计入,否则按实计入。判断某学生是否达标的部分流程图如图所示,表达式为①T←T+K ②T≥50 ③i≤n ④K←4则(1)~(4)处表达式序号依次为( )A.③①④② B.③④①②C.②①④③ D.②④①③思维点拨明考向 本题考查流程图的算法表示精点拨 变量K表示当天跑步的里程,K≤4为False即K>4,此时采取“超过4 km按4 km计入”,因此(2)处的答案为④K←4。变量T存储累计里程,无论K是否更新,T都需要累加当天里程,因此(3)处答案为①T←T+K;(4)处“Y”分支时直接输出“达标”,根据题干对于“达标”的描述是“总里程满50 km”,因此(4)处的答案为②T≥50 答案 B变式1 用户登录某系统时,若连续5次输入密码错误,账号将被锁定。验证部分的算法如图所示(正确密码已存储在变量key中)。某同学对虚线框中算法进行了完善,Python代码如下:if c<5: print('第',c,'次输入错误!') pwd=input('请重新输入密码:')else: print(c,'次输入错误,账号已锁定!') f=True测试程序时发现缺少了计数代码c+=1,该代码应添加的位置是( )A.“else:”的上一行 B.“else:”的下一行C.“if c<5:”的上一行 D.“if c<5:”的下一行答案 A解析 本题考查流程图的算法表示。当次数大于等于5时,结束循环,因此统计输入次数应该在if分支内完成,c的初始值为1,当第1次密码输入错误时,输出第1次,应该在print之后执行。例2 某算法的部分流程图如图所示,执行这部分流程,若输入x的值依次为10,7,8,12,0,则输出k的值是( )A.2 B.3C.4 D.5思维点拨明考向 本题考查算法的表示精点拨 连续输入若干个x,当x大于0时,累加到y中,若y的值大于等于10,将y赋值为0,同时k的值增加1,算法实现统计有多少个完整的10答案 B变式2 定义一种新运算“※”:s=a※b,其运算流程图如所示,则式子6※3+3※4的计算结果为( )A.9 B.9.75C.10 D.21答案 A解析 本题考查算法的表示。若a是偶数,输出s的值为a+b。若为奇数,当b是偶数时,输出s的值a//b,当b是奇数时,输出s的值a*b。6※3值为9,3※4值为0。1.小林根据图所示的流程图编写Python程序如下:n=int(input())s=0while n>5: s=s+n n-=1print(s)用下列输入数据测试程序段与流程图,两者输出结果不一样的是( )A.20 B.10C.6 D.5答案 D解析 考查算法流程图与简单Python程序的阅读理解。流程图中会先无条件执行一次s←s+n,然后判定条件是否成立。而左侧Python程序却是先判定条件,再执行语句,因此当一开始条件就不成立的时候,流程图会比程序多执行一次。只有D选项会让条件一开始就不成立。2.计算数学表达式s=1/2-2/3+3/5-5/8+8/13……的前n项之和。表示该算法的部分流程图如图所示,则框内语句正确的是( )答案 D解析 从语句s=s+x/y*t可知,x为每一项的分子,y为分母,t为正负符号,观察 x,y的规律,x为上一项的分母,y为上一项的分子与分母之和。A选项没有更新x的值。3.“数组元素a[0]至a[n-1]依次存放n个数据,现将元素a[n-1]插入到下标为x(0≤x≤n-1)的位置”算法部分流程图,如图所示,则图中①②处应填入( )A.①i≥x ②a[i-1]←a[i]B.①i≥x ②a[i+1]←a[i]C.①i≥x+1 ②a[i-1]←a[i]D.①i≥x+1 ②a[i+1]←a[i]答案 B解析 将a[i-1]插入到下标为x,i的初始值是n-2,对应的赋值语句为a[i+1]=a[i],i 最后会等于x。4.某字符串s中仅包含字母,需对其进行压缩,例如“aaabbbc”压缩后为“3a3b1c”。实现该功能的部分流程图如图所示,现有如下表达式:①c←1 ②c←0 ③i选择正确的序号依次填入流程图(1)~(3)中。( )A.④⑤① B.③⑤①C.④⑥② D.③⑥②答案 A解析 ①比较的条件是s[i]==s[i+1],因此i的最大值为n-2。②将字符s[i]以及出现的次数c加入到ans中。③初值化字符出现的次数c的值为1。5.将十进制数a转换为二进制并循环右移b位的部分流程图如图所示,如a为18,b为3时,输出结果为“01010”。虚线框中的内容是( )答案 C解析 a的值为18,转换为二进制是10010,循环右移3位后,得到01010。其低三位010变成结果的高三位,原来高两位10变成低两位,因输出的是s1+s2,故s1为其二进制数的低三位010,s2为高两位10。所以当b>0时逆向拼接到s1中,s1←c+s1,否则逆向拼接到s2中,s2←c+s2。6.某算法的部分流程图如图所示,若数组a初始值依次为5,3,2,4,7,执行该部分流程后,输出数组a的值为( )A.2,3,4,5,7 B.7,5,4,3,2C.2,5,7,4,3 D.7,4,3,5,2答案 B解析 该流程实现从后向前的冒泡排序,从比较条件a[j]>a[j-1]就交换,实现降序排列。7.某算法的部分流程图如图所示,执行这部分流程,若输入i的值为序列[2,3,4,5]中的随机数,则下列说法正确的是( )A.变量c的最大值为11B.“a>0 ”至少执行5次C.程序结束时变量a一定等于0D.只能使用while语句实现该循环结构答案 B解析 A选项要使得c最大,则a一直减2,一共减了10次;C选项最终a小于等于0;D选项可以使用for循环搭配break语句实现。8.某算法的部分流程图如图所示,下列说法正确的是( )A.步骤“a←b,b←c,c←a+b”中三个语句交换位置不影响最终输出结果B.该流程图中只包含了顺序、分支两种基本控制结构C.若输入n的值为8,则输出的结果为13D.若输入n的值为3,则条件“k答案 C解析 本题考查算法表示流程图。A选项交换位置会影响输出结果。B选项包含了顺序、循环和分支三种控制结构。D选项k=3,n=3,只执行1次。1.某购物APP推出满减活动:商品总价值达到500元后,超出部分每满100元优惠35元(不足100元部分不优惠),优惠上不封顶。计算优惠金额的部分流程图如图所示,表达式为①s=s-500 ②s=s-600 ③s=s-100 ④s=s//100则(1)(2)处表达式序号依次为( )A.①③ B.②③C.①④ D.②④答案 B解析 (1)处商品总价值达到500元后,超出部分每满100元优惠35元(不足100元部分不优惠),至少要满600才优惠。(2)处每满100元优惠35元,优惠后再减少100,再判断是否能优惠。2.某算法的部分流程图如图所示,划线处由三个代码按不同顺序组成,则输出结果最大的是( )①s←d+2 ②n←n%2+1 ③d←n+sA.①②③ B.②③①C.③①② D.②①③答案 C解析 A选项①②③和D选项②①③结果相同,均是一轮,输出3。B选项②③①计算一轮,输出5。C选项③①②运算两轮,输出8。3.某算法的部分流程图如图所示,若变量s分别用下列值进行调试,则输出不是"L"的是( )A."LLNLN" B."NLNNL"C."LNMNL" D."MNNLL"答案 B解析 k的初值为s[0],c的初值为1,变量i从第2个字母开始遍历字符串s,若k和s[i]相等,则c的值加1,否则c的值减1。若c的值为0时,k的值更新为s[i]。A选项c的值依次为2,1,2,1,k的值为s[0]。B选项c的值依次为0,1,2,1,k的值为s[4],即“N”。C选项c的值依次为0,1,0,1,k的值为s[4],即“L”。D选项c的值依次为0,1,0,1,k的值为s[4],即“L”。4.某算法的部分流程图如图所示,执行这部分流程,若输出k的值为3,则输入s的值可能是( )A."13267459" B."31762594"C."26374859" D."62738495"答案 C解析 遍历字符串s,当前一项比后一项大则k+1。A选项值为2,B选项值为4,C选项值为3,D选项值为4。5.某算法的部分流程图如图所示,若数组元素a[0]至a[6]依次存放4,5,5,6,6,7,9,执行这部分流程后,输出n的值为( )A.3 B.4C.5 D.6答案 B解析 本题考查算法的表示。指针i和j分别从左右两端开始遍历,若该指针指向的值(组合的值)之和小于等于12,两个指针均向中间移动,否则只有指针j向左移动。组合4和9之和为13,变量i不移动;第2个组合为4和7,同时移动;后面2个5和6的组合,因此共有4组。6.某算法流程图如图所示,若输出t为3,则输入s的值可能是( )A."bbbaa" B."aabba"C."bbaaa" D."abbab"答案 C解析 程序的功能是记录字符串中最后的连续字符的个数。A选项t的值为2。B选项t的值为1。C选项t的值为3。D选项t的值为2。7.某算法的部分流程图如图所示,执行该流程时,若依次输入2,-5,12,-4,11,-3,下列说法正确的是( )A.执行这部分流程后,输出的结果为16B.s的最终值等于ans的最终值C.“s=s+a”共执行了5次D.该算法流程实现了双循环结构答案 C解析 程序的功能是统计连续累加和的最大值,其连续累加和最大是“12+(-4)+11=19”。B选项s的最终值是16,而ans是19。C选项由于“2+(-5)=-3”,所以 a为-5的时候,该语句没有执行,因此一共执行了5次。D选项该算法流程是循环嵌套分支。8.某算法的部分流程图如图所示,执行该流程图后,下列说法不正确的是( )A.s的值为4B.i的值为22C.若循环条件“i<=20 ”改成“i<=22 ”不影响程序的输出结果D.当第3次执行循环条件“i<=20 ”时,i的值为7答案 C解析 若循环条件“i<=20 ”改成“i<=22 ”,最终输出s值不变,但i值变为25,与当前输出结果不同。9.某算法的部分流程图如图所示。执行这部分流程,若输入n的值为5,则输出count的值为( )A.1 B.2C.3 D.4答案 C解析 外循环x从1至n,内循环y从1递增至x,若满足条件x//y==y,则计数器count加1,并立即退出内循环,处理下一个x。当x依次为1,4,5时,对应的y值依次为1,2,2,满足条件,count的值为3。10.如图所示的流程图描述了“计算s=1*2*3*…*n”的算法,则图中①处应填入的内容是( )A.iC.i≠n D.i≤n答案 C解析 一共循环n次,循环变量i从0循环至n-1,当i的值为n时结束。11.某算法的流程图如图所示,若a的值为[49,51,39,22,20,6,13,23,2],执行该算法后,s的值为( )A.-125 B.0C.4 D.6答案 C解析 流程图算法运行过程如下:i 0 1 2 3 4 5 6 7 8 9s 100 51 51 12 12 12 6 6 6 4a[i] 49 51 39 22 20 6 13 23 212.某算法的部分流程图如图所示。下列说法正确的是( )A.程序执行过程中,语句“s←s+3*i”执行次数为6次B.程序执行过程中,判断框语句执行的次数为7次C.执行这部分流程,输出s的值是84D.该程序流程属于选择结构答案 C解析 根据流程图的执行过程可知 s=0+3+6+9+12+15+18+21=84;A选项语句执行的次数为7次;B选项判断框语句执行的次数为8次;D选项该程序流程属于循环结构。13.某算法的部分流程图如图所示,若输入a的值为[11,10,9,11,15,7,15],执行这部分流程后,输出的结果为( )A.[11,10,11,15,9,15,7]B.[11,10,11,15,9,7,15]C.[10,9,12,11,7,16,15]D.[10,9,12,12,7,15,15]答案 D解析 算法功能遍历列表中的每个元素,若a[i]与a[i+1]升序,则交换变成降 序,否则a[i]累加1。14.某算法的部分流程图如图所示,执行这部分流程,若输入数据为25,15,则输出y的值为( )A.5 B.50C.75 D.150答案 C解析 算法的功能是求最小公倍数。15.某算法的部分流程图如图所示,若a的值为[1,2,3,4,5],b的值为[0,0,0,0,0],则输出结果为( )A.[3,4,5,1,2] B.[2,3,4,5,1]C.[1,2,3,4,5] D.[3,4,5,2,1]答案 A解析 当i为0时,t=2;b[0]=a[2]=3。当i为1时,t=3;b[1]=a[3]=4。当i为2时,t=4;b[2]=a[4]=5。当i为3时,t=5>=len(a);b[3]=a[5-5]=1。当i为4时,t=6>=len(a);b[4]=a[6-5]=2。16.某算法的部分流程图如图所示,若n的值为8,数组元素a[0]至a[n-1]依次存放90,90,90,81,78,65,59,47,key的值为a[0],执行这部分流程后,输出c的值为( )A.1 B.2C.3 D.5答案 B解析 程序的功能是在二分查找过程中,统计向左查找的次数,要注意的是到找到key后,还要向右查找。专题3 用流程图表示算法学习目标 1.理解算法是解决问题的方法和步骤这一定义。2.掌握算法的流程图表示并会根据流程图表示算法的功能。 (2024年6月浙江选考)某同学根据流程图编写的Python程序段如下:n=int(input())if n<=20: z=0if n<=50: z=1else: z=2用下列输入数据测试程序段与流程图,两者得到的z值不同的是( )A.60 B.50C.30 D.10 流程图表示算法能直观反映内部控制的特征,结构清晰简洁,容易理解。流程框图有输入输出框、处理框和判断框三种,输入输出框表示数据的输入和输出,处理框表示对数据进行运算,判断框表示条件是否成立,是流程图的核心,有两个出口,表示条件是否成立的结果,数据有两种流向。选择结构的两个出口将汇集在一起,若判断框的入口有两个,是循环结构的特征。例1 某校组织学生进行阳光月跑活动,30天内总里程满50 km达标。每天组织一次跑步,平均速度(S)达到6 km/h时方可计入总里程(T),每天的跑步里程(K)若超过4 km按4 km计入,否则按实计入。判断某学生是否达标的部分流程图如图所示,表达式为①T←T+K ②T≥50 ③i≤n ④K←4则(1)~(4)处表达式序号依次为( )A.③①④② B.③④①②C.②①④③ D.②④①③变式1 用户登录某系统时,若连续5次输入密码错误,账号将被锁定。验证部分的算法如图所示(正确密码已存储在变量key中)。某同学对虚线框中算法进行了完善,Python代码如下:if c<5: print('第',c,'次输入错误!') pwd=input('请重新输入密码:')else: print(c,'次输入错误,账号已锁定!') f=True测试程序时发现缺少了计数代码c+=1,该代码应添加的位置是( )A.“else:”的上一行 B.“else:”的下一行C.“if c<5:”的上一行 D.“if c<5:”的下一行例2 某算法的部分流程图如图所示,执行这部分流程,若输入x的值依次为10,7,8,12,0,则输出k的值是( )A.2 B.3C.4 D.5变式2 定义一种新运算“※”:s=a※b,其运算流程图如所示,则式子6※3+3※4的计算结果为( )A.9 B.9.75C.10 D.211.小林根据图所示的流程图编写Python程序如下:n=int(input())s=0while n>5: s=s+n n-=1print(s)用下列输入数据测试程序段与流程图,两者输出结果不一样的是( )A.20 B.10C.6 D.52.计算数学表达式s=1/2-2/3+3/5-5/8+8/13……的前n项之和。表示该算法的部分流程图如图所示,则框内语句正确的是( )3.“数组元素a[0]至a[n-1]依次存放n个数据,现将元素a[n-1]插入到下标为x(0≤x≤n-1)的位置”算法部分流程图,如图所示,则图中①②处应填入( )A.①i≥x ②a[i-1]←a[i]B.①i≥x ②a[i+1]←a[i]C.①i≥x+1 ②a[i-1]←a[i]D.①i≥x+1 ②a[i+1]←a[i]4.某字符串s中仅包含字母,需对其进行压缩,例如“aaabbbc”压缩后为“3a3b1c”。实现该功能的部分流程图如图所示,现有如下表达式:①c←1 ②c←0 ③i选择正确的序号依次填入流程图(1)~(3)中。( )A.④⑤① B.③⑤①C.④⑥② D.③⑥②5.将十进制数a转换为二进制并循环右移b位的部分流程图如图所示,如a为18,b为3时,输出结果为“01010”。虚线框中的内容是( )6.某算法的部分流程图如图所示,若数组a初始值依次为5,3,2,4,7,执行该部分流程后,输出数组a的值为( )A.2,3,4,5,7 B.7,5,4,3,2C.2,5,7,4,3 D.7,4,3,5,27.某算法的部分流程图如图所示,执行这部分流程,若输入i的值为序列[2,3,4,5]中的随机数,则下列说法正确的是( )A.变量c的最大值为11B.“a>0 ”至少执行5次C.程序结束时变量a一定等于0D.只能使用while语句实现该循环结构8.某算法的部分流程图如图所示,下列说法正确的是( )A.步骤“a←b,b←c,c←a+b”中三个语句交换位置不影响最终输出结果B.该流程图中只包含了顺序、分支两种基本控制结构C.若输入n的值为8,则输出的结果为13D.若输入n的值为3,则条件“k1.某购物APP推出满减活动:商品总价值达到500元后,超出部分每满100元优惠35元(不足100元部分不优惠),优惠上不封顶。计算优惠金额的部分流程图如图所示,表达式为①s=s-500 ②s=s-600 ③s=s-100 ④s=s//100则(1)(2)处表达式序号依次为( )A.①③ B.②③C.①④ D.②④2.某算法的部分流程图如图所示,划线处由三个代码按不同顺序组成,则输出结果最大的是( )①s←d+2 ②n←n%2+1 ③d←n+sA.①②③ B.②③①C.③①② D.②①③3.某算法的部分流程图如图所示,若变量s分别用下列值进行调试,则输出不是"L"的是( )A."LLNLN" B."NLNNL"C."LNMNL" D."MNNLL"4.某算法的部分流程图如图所示,执行这部分流程,若输出k的值为3,则输入s的值可能是( )A."13267459" B."31762594"C."26374859" D."62738495"5.某算法的部分流程图如图所示,若数组元素a[0]至a[6]依次存放4,5,5,6,6,7,9,执行这部分流程后,输出n的值为( )A.3 B.4C.5 D.66.某算法流程图如图所示,若输出t为3,则输入s的值可能是( )A."bbbaa" B."aabba"C."bbaaa" D."abbab"7.某算法的部分流程图如图所示,执行该流程时,若依次输入2,-5,12,-4,11,-3,下列说法正确的是( )A.执行这部分流程后,输出的结果为16B.s的最终值等于ans的最终值C.“s=s+a”共执行了5次D.该算法流程实现了双循环结构8.某算法的部分流程图如图所示,执行该流程图后,下列说法不正确的是( )A.s的值为4B.i的值为22C.若循环条件“i<=20 ”改成“i<=22 ”不影响程序的输出结果D.当第3次执行循环条件“i<=20 ”时,i的值为79.某算法的部分流程图如图所示。执行这部分流程,若输入n的值为5,则输出count的值为( )A.1 B.2C.3 D.410.如图所示的流程图描述了“计算s=1*2*3*…*n”的算法,则图中①处应填入的内容是( )A.iC.i≠n D.i≤n11.某算法的流程图如图所示,若a的值为[49,51,39,22,20,6,13,23,2],执行该算法后,s的值为( )A.-125 B.0C.4 D.612.某算法的部分流程图如图所示。下列说法正确的是( )A.程序执行过程中,语句“s←s+3*i”执行次数为6次B.程序执行过程中,判断框语句执行的次数为7次C.执行这部分流程,输出s的值是84D.该程序流程属于选择结构13.某算法的部分流程图如图所示,若输入a的值为[11,10,9,11,15,7,15],执行这部分流程后,输出的结果为( )A.[11,10,11,15,9,15,7]B.[11,10,11,15,9,7,15]C.[10,9,12,11,7,16,15]D.[10,9,12,12,7,15,15]14.某算法的部分流程图如图所示,执行这部分流程,若输入数据为25,15,则输出y的值为( )A.5 B.50C.75 D.15015.某算法的部分流程图如图所示,若a的值为[1,2,3,4,5],b的值为[0,0,0,0,0],则输出结果为( )A.[3,4,5,1,2] B.[2,3,4,5,1]C.[1,2,3,4,5] D.[3,4,5,2,1]16.某算法的部分流程图如图所示,若n的值为8,数组元素a[0]至a[n-1]依次存放90,90,90,81,78,65,59,47,key的值为a[0],执行这部分流程后,输出c的值为( )A.1 B.2C.3 D.5 展开更多...... 收起↑ 资源列表 专题3 用流程图表示算法.docx 专题3 用流程图表示算法无答案.docx