2.2算法的控制结构 通关练习(含答案)

文档属性

名称 2.2算法的控制结构 通关练习(含答案)
格式 doc
文件大小 1.2MB
资源类型 试卷
版本资源 浙教版(2019)
科目 信息技术(信息科技)
更新时间 2021-11-15 14:09:54

图片预览

文档简介

2.2算法的控制结构
一、选择题
1.下列关于算法的基本结构说法错误的是( )
A.顺序结构中的每个步骤一定会被执行一次,而且仅被执行一次
B.对于分支结构来说,必定有一个分支被执行,其它的分支则被忽略
C.算法的基本结构分顺序结构、分支结构和循环结构三种
D.循环结构中的步骤必定会被执行一次
2.某算法的部分流程图如图所示。执行这部分流程,若输入 k 的值为“newyear”,则输出的 s值为( )
A.“nwy”
B.“ywn”
C.“eear”
D.“raee”
3.某算法的部分流程图如图所示,变量w的初值为空,输入变量x的值为51,执行这部分流程后,变量w的值是( )
A.“201” B.“102” C.“121” D.“211”
4.某算法的部分流程图如图所示,执行这部分流程,下列说法正确的是 ( )
A.其中语句 i<=5 共执行了 6 次
B.程序结束后s 值可能为 3
C.流程执行结束后k 值一定为 1
D.流程执行过程中共产生 5 个 t 值,t 值取值为 1 或 2
5.如要编程画出由100个圆组成的图案,比较好的算法是( )。
A.按顺序执行100个画不同大小圆的程序段
B.①先编写1个能画不同大小圆的程序模块 ②在主程序中用100语句调用画圆程序模块
C.①先编写1个能画不同大小圆的程序模块 ②用循环方法调用100次画圆程序模块
D.不必先定义画圆程序模块,而直接循环100次的方法来画图案
6.某算法的部分流程图如图所示。
执行这部分流程后,输出t的值为( )
A."135" B."147" C."1479" D."13579"
7.某算法的部分流程图如图所示。执行这部分流程,输出y的值是( )
A.28 B.29 C.30 D.31
8.某算法的部分流程图如图所示,执行这部分流程后,下列说法正确的是( )
A.变量t的值为27 B.变量s的值为40
C.变量i的值为5 D.循环条件“s≤40 ”判断了5次
9.某算法的部分流程图如图所示,执行该流程,输出t的值是( )
A.6 B.7 C.8 D.9
10.下面用自然语言描述的算法中包含的基本结构有( )
① 输入两个正整数m、n;
② r ← m除以n的余数;
③ m ← n;
④ n ← r;
⑤ 如果r>0,那么转②
⑥ 输出最大公约数m。
A.分支结构、循环结构 B.顺序结构、分支结构、循环结构
C.顺序结构、循环结构 D.顺序结构、分支结构
11.某算法的部分流程图如图所示,执行这部分流程后,输出s,n的值分别是( )
A.8,3 B.19,4 C.3,8 D.4,19
12.下图算法的基本结构是( )
A.顺序结构 B.树形结构 C.选择结构 D.循环结构
13.有关选择结构的说法不正确的是( )。
A.选择结构是算法的基本结构之一
B.任何的程序设计中都有选择结构
C.选择结构在程序设计中起到对事物的判断与选择的作用
D.在PYTHON 程序设计语言中选择结构一般使用IF语句实现。
14.以下流程图,算法执行结果是( )。
A.6 B.12 C.18 D.24
15.某算法的部分流程图如第 5 题图所示,执行这部分流程图,依次输入 3,2,1,变量 i,s 的值 分别是
A.10,1 B.7,2 C.10,2 D.13,3
16.某算法的部分流程图如下图所示,执行这部分流程,则“s≤100 ”被执行的次数是(▲ )
A.2
B.3
C.4
D.5
17.以下算法的功能是:键盘输入6个数,输出其中负数的和。请使用给出的框图填入左边的算法流程图中,使之能实现上述功能。以下选项正确的是
A.⑷ ⑿ ⑹ ⑴ ⑺ ⑼
B.⑶ ⑿ ⑹ ⑴ ⑻ ⑼
C.⑶ ⑾ ⑸ ⑴ ⑻ ⑼
D.⑷ ⑿ ⑸ ⑴ ⑻ ⑼
18.某算法流程图如图所示,执行该算法,输出n的结果是( )
A.4 B.8 C.12 D.18
19.在某银行取款机上,用户银行卡密码验证的过程如下图所示:当用户输入密码时,若第1次输入错误,第2次输入才正确,则整个操作过程的执行流程是( )
A.①→②→③→④→⑤
B.①→②→③→④→⑥→⑦
C.①→②→③→④→⑥→②→③→④→⑤
D.①→②→③→④→⑥→⑦→②→③→④→⑤
20.某算法的部分流程图如图所示,执行这部分流程图后,变量k的值为( )
A.14 B.18 C.24 D.3
二、简答题
21.如图所示的流程图,请根据要求回答以下问题
(1)常见的算法描述主要有三种,本算法描述是什么?
(2)本算法的程序结构是什么?
(3)本算法程序的输出结果是多少?
(4)用计算机程序解决问题的步骤是:(请空白处补充完整)分析问题→设计算法→ →调试运行→检测结果。
(5)上述步骤哪-步骤是核心?
三、操作题
22.某算法的自然语言和流程图描述如下,将流程图①②③④处补充完整。
(1)①_________ ②_______ ③______ ④________
(2)流程图中虚线框处的算法控制结构类型是_________。
(3)本算法实现的功能是(_____)(注:n!=1*2*3*……*n)
A.求s=10! B.求s=1+2+3+……+10
C.求s=1!+2!+……+10! D.求s=1+1+1+……+1(共10个1)
23.闰年是公历中的名词。闰年分为普通闰年和世纪闰年。
普通闰年:年份是4的倍数,且不是100的倍数为闰年(如2004年)。
世纪闰年:年份是整百,且是400的倍数才是世纪闰年(如1900年不是世纪闰年,2000年是世纪闰年)。
即:闰年是指能被4整除但不能被100整除,或者能同时被4和400整除的年份。
下面是判断输入的年份是不是闰年的流程图,请将流程图补充完整。
(1)请将流程图中标号处补充完整
① __________
② __________
③ __________
④ __________
24.有个科学猜想的节目内容是:如果有一张足够大的纸,其厚度为0.1毫米,对折一次纸的厚度增加1倍。问:对着多少次后,纸的厚度可以超过珠穆朗玛峰的高度(8848.43米)?请回答以下的问题。
(1)根据提议,一张纸的厚度为h,对折k次后,纸的厚度为_______________。
(2)描述本题算法的流程图如下图所示,则流程图中①②处应填写的内容分别是①______________,②_______________________。
25.小明根据如下流程图编写了VB程序,但运行时提示有错,请找出程序中的5个错误,并改正。
(1)错误语句的编号是_______。(2)修改为___________________________。
(2)错误语句的编号是_______。(2)修改为___________________________。
(3)错误语句的编号是_______。(2)修改为___________________________。
(4)错误语句的编号是_______。(2)修改为___________________________。
(5)错误语句的编号是_______。(2)修改为___________________________。
四、判断题
26.在流程图中,表示输入输出功能。(______)
27.用流程图描述算法时,矩形框用于表示判断。(_____)
五、填空题
28.在《几何原本》一书中,古代数学家欧几里得提出了“辗转相除法”,利用这个方法可以求出任意两个正整数的最大公约数。具体步骤如下:
(1)输入两个正整数m和n
(2)以m除以n,得到余数r
(3)若r=0,则输出n的值,算法结束;否则执行步骤(4)
(4)令m←n,n←x,并返回步骤(2)
其算法可用以下流程图来描述:
请补充完成流程图___________(填写正确答案字母)
A. B. C. D.
0
29.小强想要了解各省女排队员的平均年龄,为此设计算法,部分流程图如图所示。请将流程图①②处补充完整。①(_____) ②(_____)
30.如题图所示的流程图,请根据要求回答以下问题
(1)本算法描述的程序结构是什么?
(2)x≥0的VB表达式其正确写法应该是什么?
(3)根据图示本算法程序的输出结果是多少?
(4)3x-2→y在VB中称为_______________语句。
(5)用计算机程序解决问题的五个步骤中,哪一步是核心?
31.根据图72所示的流程图,回答问题。
(1)语句i=i+1总共被执行的次数是________;
(2)该算法中用到的两种结构是______和________;
(3)该程序实现的功能是__________;
(4)若依次输入12、-10、30、19、22,则输出的值是________;
(5)编程解决问题的过程分为五个步骤,其中根据问题描述画出流程图属于______。
32.写出算法执行结果
33.某地一户一表居民实施阶梯式水价方案。阶梯水价计量分三级,第一级为18立方米以下,每立方米按2.4元计价;第二级为18至31立方米,每立方米按3.35元计价;第三级为31立方米及以上,每立方米按4.30元计价。如图2-1-38所示算法用于根据用水量V(立方米)计算水价s(元)。
流程图如图所示,①中应入填写的是 ,③中应该填入的是 。
参考答案
1.D
【详解】本题考查的是算法结构。如果一开始条件就为真,则循环结构中的步骤不会被执行,故本题应选D。
2.B
【详解】本题考查的是流程图识读。本算法中提取字符串k中各字符依次赋值给c,判断是否大于等于t,若是,则将c累加至字符串s中,并将c赋值给t,整体实现了将字符串中依次增大的字符输出的效果,因此B选项正确。
3.B
【详解】本题考查的是流程图识读。由w=x mod 7 &w及x=x\7可知,这是将x转换为7进制数的过程。51转换为7进制数为:102。故本题应选B。
4.B
【详解】本题考查的是流程图识读。i初始值为0,每次自增1,i=6时才跳出循环,故语句 i<=5 共执行了 7 次,选项A说法错误;流程执行过程中共产生 6个 t 值,t 值取值为 1 或 2,当t取到3次2和3次1时,则s=2+2+2-1-1-1=6,故选项B说法正确;流程执行结束后k 值可能为1也可能是-1,故选项C说法错误;流程执行过程中共产生 6个 t 值,t 值取值为 1 或 2,故选项D的说法错误。
5.C
【详解】本题主要考查算法知识。程序中用来执行一个特定任务的一段程序代码可使用程序模块实现,重复执行部分可使用循环结构,因此C选项正确。
6.B
【详解】本题考查算法流程图的分析。执行过程如表所示:
s Len(s) i t
"123456789" 9 1 ""
"23456789" 8 3 "1"
"2356789" 7 5 "14"
"235689" 6 7 "147"
循环条件不成立,输出t
故执行这部分流程后,输出t的值为147,故本题选B选项。
7.B
【详解】本题考查的是流程图的识读。初始x=30,y=0,k=1。
30>0成立,执行判断 x mod 2=30 mod 2=0<>1,执行y=y-k=0-1=-1,x=x\2=15,k=k*2=2;
15>0成立,执行判断 x mod 2=15 mod 2=1,执行y=y+k=-1+2=1,x=x\2=7,k=k*2=4;
7>0成立,执行判断 x mod 2=7 mod 2=1,执行y=y+k=1+4=5,x=x\2=3,k=k*2=8;
3>0成立,执行判断 x mod 2=3mod 2=1,执行y=y+k=5+8=13,x=x\2=1,k=k*2=16;
1>0成立,执行判断 x mod 2=1mod 2=1,执行y=y+k=13+16=29,x=x\2=0,k=k*2=32;
0>0不成立,输出y=29,故选项B正确。
8.C
【详解】本题考查的是流程图识读。初始值t=0,s=0,i=0.
第一次判断s<=40成立,s=s+t=1,t=t*3=3,i=i+1=1;
第二次判断s<=40成立,s=s+t=4,t=t*3=9,i=i+1=2;
第三次判断s<=40成立,s=s+t=13,t=t*3=27,i=i+1=3;
第四次判断s<=40成立,s=s+t=40,t=t*3=81,i=i+1=4;
第五次判断s<=40成立,s=s+t=121,t=t*3=243,i=i+1=5;
第六次判断s<=40不成立,跳出循环
故执行后,变量t的值是243,变量s的值是121,变量i的值为5,循环条件“s≤40 ”判断了6次。选项C正确。
9.D
【详解】本题考查的是流程图识读。初始a=16,b=30,t=0。
b>0成立,ab>0成立,ab>0成立,ab>0成立,ab>0成立,ab>0成立,ab>0成立,ab>0成立,ab>0成立,ab=0,b>0不成立,输出t=9
故选项D正确。
10.C
【详解】本题考查的是算法结构。算法的三种基本结构是顺序结构、循环结构、分支结构。顺序结构:程序中的各个操作是按照它们在源代码中的排列顺序依次执行的;分支结构:根据某个特定的条件进行判断后,选择其中一支执行,分为单项选择、双选选择和多项选择;循环结构:反复执行某个或某些操作,知道条件为假或为真时才停止循环,分为当型循环和直到型循环,当型循环先判断条件,当条件为真时执行循环体,直到型循环先执行循环体,再判断条件,当条件为假时结束循环。由②依次运行至④,可知是顺序结构运用;由⑤会跳转至②,使②至④会重复运行,可知是循环结构的运用。故应选C。
11.B
【详解】本题考查的是流程图识读。本题流程图是循环结构。根据循环条件,循环共执行3次,第1次循环后s=3,n=2;第2次循环后s=8,n=3;第3次循环后s=19,n=4,此时退出循环,最终s=19,n=4,故选项B正确。
12.A
【详解】本题考查的是算法结构。算法结构有:顺序结构、选择结构、循环结构。顺序结构表示程序中各步操作按出现的先后顺序执行;选择结构表示程序的处理步骤出现了分支,需要根据某一特定条件选择其中一个分支执行;循环结构表示程序反复执行某个或某些操作,直到判断条件为假(真)时才可终止循环。由图中可知这是一个顺序结构。故应选A。
13.B
【详解】本题考查的是选择结构。算法的结构有:顺序结构、选择结构、循环结构。程序是由顺序结构、选择结构、循环结构组成的,但并不是所有程序设计中都有选择结构。故选项B错误。
14.C
【详解】本题考查的是流程图的识读。初始值:i=1,s=0
i<=2成立,执行j=1,j<=3成立,执行s=s+i*j=0+1*1=1,j=j+1=2;
内循环j<=3成立,执行s=s+i*j=1+1*2=3,j=j+1=3;
内循环j<=3成立,执行s=s+i*j=3+1*3=6,j=j+1=4;
内循环j<=3不成立,执行i=i+1=2;
i<=2成立,执行j=1,j<=3成立,执行s=s+i*j=6+2*1=8,j=j+1=2;
内循环j<=3成立,执行s=s+i*j=8+2*2=12,j=j+1=3;
内循环j<=3成立,执行s=s+i*j=12+2*3=18,j=j+1=4;
内循环j<=3不成立,执行i=i+1=3;
i<=2不成立,输出s=18,故选项C正确。
15.A
【详解】本题主要考查算法流程图。s=0,i=1,第一遍循环,满足i<10,输入a=3,s=s+i mod 3\a=0+1 mod 3\3=0(mod取余,“\”优先级大于mod),i=i+3=4;第二遍循环,满足i<10,输入a=2,s=s+i mod 3\a=0+4 mod 3\2=0,i=i+3=7;第三遍循环,满足i<10,输入a=1,s=s+i mod 3\a=0+7 mod 3\1=1,i=i+3=10;第四遍循环,不满足i<10,退出循环,输出i=10,s=1,故本题选A选项。
16.C
【详解】本题主要考查算法流程图知识点。a=1,s=1,循环退出条件是s>100,每次循环a递增2,故当s=s*a=1*1*3*5*7=105,退出循环,此时“s≤100 ”被执行4次,a=7,故本题选C选项。
17.A
【详解】本主要考查算法流程图。分析流程图,框1是初始化,变量M是用来对负数求和,变量T用来控制输入6个数,故1处填M=0,T=1;框2控制输入6个数,填T<=6;框3输入A,框4判断是否是复数,填A<0;框5对负数求和,填M=M+A,框6变量T递增1继续循环,故本题选A选项。
18.C
【详解】本题主要考查算法读取。题中mod用于取余运算,执行过程为m=96,n=36,r=24—> m=36,n=24,r=12—> m=24,n=12,r=0,此时跳出循环,输出n,结果为12,因此C选项正确。
19.C
【详解】本题考查的是流程图识读。若第1次输入错误,执行流程为:①→②→③→④→⑥→②,第2次输入才正确,执行流程为:②→③→④→⑤,故选项C正确。
20.C
【详解】本题主要考查算法流程图读取。图中当k mod y=0成立时,输出k;当当k mod y=0不成立时,k=k+x;因此,k分别为6,12,18,24,当k=24时,k mod y=0成立,输出k为24。因此C选项正确。
21.(1)流程图
(2)循环结构和分支结构(选择结构)
(3)72
(4)编写程序
(5)设计算法
【详解】本题考查的是算法相关知识。(1)描述算法的方法有:流程图、自然语言、伪代码。图中是流程图。(2)该流程有往回走,有判断,故主要结构是循环结构和分支结构(选择结构)。(3)初始n=4,i=2,f=3,
第一次循环,i<=n成立,执行f=f*i=3*2=6,i=i+1=3;
第二次循环,i<=n成立,执行f=f*i=6*3=18,i=i+1=4;
第三次循环,i<=n成立,执行f=f*i=18*4=72,i=i+1=5;
i<=n不成立,最后输出72。
(4)用计算机程序解决问题的步骤是:分析问题→设计算法→编写程序→调试运行→检测结果。(5)设计算法是核心。
22.i<=10 t←t×i 或 t=t*i s←s+t 或 s=s*t i←i+1 或者i=i+1 或者i+=1 循环结构 C
【详解】本题主要考查算法的描述及其实现。①此处判断变量i是否小于等于10,故填i<=10 。②由第三步可知,此处填t←t×i 或 t=t*i。③同理,可知此处填s←s+t 或 s=s*t。④由第四步可知此处填i←i+1 或者i=i+1 或者i+=1。⑤程图中虚线框处的算法控制结构类型是循环结构。⑥分析流程图可知,本算法实现的功能是求s=1!+2!+……+10!,故选C选项。
23.year year 0 0
【详解】本题主要考查算法流程图知识点。①此处将年份year与100取模赋给变量c,故此处填year。②此处将年份year与400取模赋给变量d,故此处填year。③此处判断变量b是否等于0,即年份是不是4的倍数,故此处填0。④此处判断变量c是否等于0,即年份是不是100的倍数,若c不等于0,输出输入的年份是闰年,否则输出输入的年份不是闰年,故此处填0。
24. ①0 ②或
【详解】本题主要考查算法流程图知识点。① 一张纸的厚度为h,对折1次后,纸的厚度为h×21,对折2次后,纸的厚度为h×22,故对折k次后,纸的厚度为h×2k 。②①循环条件是h>8848.43,h的初始值为0.0001,k的初始值为0。③②每折一次,厚度h变为2倍,故此处填h←h×2 或 h×2k+1×0.001。
25.(1)错误语句的编号是 ① 。(1分)(2)修改为 s=0:j=1:n=0 。(2分)
(2)错误语句的编号是 ② 。(1分)(2)修改为 do while j<=10 。(2分)
(3)错误语句的编号是 ③ 。(1分)(2)修改为 x=inputbox(“ ”) 。(2分)
(4)错误语句的编号是 ⑦ 。(1分)(2)修改为 end if 。(2分)
(5)错误语句的编号是 ⑩ 。(1分)(2)修改为 print n 。(2分)
【详解】本题主要考查算法流程图及VB程序调试。分析程序可知,(1)多个变量初始化,使用“:”分隔,故编号①应修改为s=0:j=1:n=0。(2)第②条语句和第⑨条语句对应,采用while循环结构,故编号②应修改为do while j<=10。(3)使用inputbox函数,将接收到的值赋给变量x,故编号③应修改为x=inputbox(“ ”)。(4)条件分支仅采用单分支,没有采用双分支,故编号⑦应修改为end if。(5)对照流程图,最后输出n的值,故编号⑩应修改为print n。
26.错误
【详解】本题主要考查算法流程图。菱形是条件判断框,平行四边形是数据输入/输出框,圆角矩形是开始/结束框,矩形是数据处理框,故表述错误。
27.错误
【详解】本题主要考查算法流程图。用流程图描述算法时,矩形框用于表示数据处理,菱形框用于表示判断,故表述错误。
28.C
【详解】本题主要考查算法流程图的执行。分析题干,首先输入两个正整数m和n,对应与流程图中的平行四边形框;其次是以m除以n,得到余数r,应该对应的是矩形处理框,接着是用菱形判断框判断r的值是否为0,故本题选C选项。
29.①i←i+1 ②ave←sum/(i-1)
【详解】本题主要考查算法流程图。分析流程图可知,一共n个球员,变量y是球员年龄,当y不等于0且i小于等于n时,循环将y加到sum中,用变量i控制球员个数,故①填i←i+1;不满足循环条件时,输出平均年龄,最后一次循环条件不满足,即球员人数是i-1,故②填ave=ave←sum/(i-1)。
30.(1)选择结构(2)x>=0(3)-5(4)赋值(5)设计算法
【详解】本题主要考查算法流程图。(1)由图可知,本算法描述的程序结构是选择结构。(2)x≥0的VB表达式其正确写法应该是x>=0。(3)x=-1,不满足x>=0,执行y=3x-2=-5,故根据图示本算法程序的输出结果是-5。(4)3x-2→y在VB中称为赋值语句。(5)用计算机程序解决问题的五个步骤中,设计算法是核心。
31.4 分支结构 循环结构 求5个数中的最大值 30 设计算法
【详解】本题主要考查算法流程图。(1)i=1,循环条件是i<=4,故语句i=i+1总共被执行的次数是4次。(2)该算法中用到的两种结构是分支结构和循环结构。(3)分析流程图可知,该程序实现的功能是求5个数中的最大值。(4)若依次输入12、-10、30、19、22,则输出的值是30。(5)编程解决问题的过程分为五个步骤,其中根据问题描述画出流程图属于设计算法。
32.3
【详解】本题主要考查算法流程图的执行。A=6,B=8,C=3,不满足A>B,满足A>C,执行A=C=3,输出A的值为3。
33.V<31 、 S=4.3V
【详解】本题主要考查算法流程图的执行。第一级为18立方米以下,每立方米按2.4元计价,第二级为18至31立方米,每立方米按3.35元计价;第三级为31立方米及以上,每立方米按4.30元计价,故①处应填V<31 ,满足①处的条件时,执行②S=3.35V,否则执行③S=4.3V。