2020版高考信息技术一轮浙江专用版 第八单元 算法及VB语言基础(课件+习题,22份打包)

文档属性

名称 2020版高考信息技术一轮浙江专用版 第八单元 算法及VB语言基础(课件+习题,22份打包)
格式 zip
文件大小 4.4MB
资源类型 教案
版本资源 通用版
科目 信息技术(信息科技)
更新时间 2019-07-14 22:35:16

文档简介

第八单元 算法及VB语言基础
单元小结
知识系统构建
/
第八单元 算法及VB语言基础
单元检测题组
/时间:40分钟  /分值:65分
一、选择题(每题3分,共42分)
1.(2019浙江十二校高三第一次联考,5,3分)某流程图如图所示:
/
若输入k的值为9,最终i、s的值分别为(  )
A.11 0 B. 11 -11 C. 9 0 D. 9 -9
答案 B 本题考查循环结构流程图。各变量在执行过程中变化如下:
变量
k
i
s
进循环前
9
1
0
第一次循环后
9
3
0+3
第二次循环后
9
5
0+3-5
第三次循环后
9
7
0+3-5-7
第四次循环后
9
9
0+3-5-7+9
第五次循环后
9
11
0+3-5-7+9-11
退出循环
2.(2019浙江名校新高考研究联盟第一次联考,6,3分)某算法的部分流程图如图所示。执行这部分流程后,输出m的值是(  )
/
                    
A.0 B. 1 C.2 D.9
答案 D 本题考查循环结构流程图。各变量变化如下:
变量
x
y
m
进循环前
192
0
0
第一次循环后
19
2
2
第二次循环后
1
9
9
第三次循环后
0
1
9
退出循环
本程序本质上是找出数值x的各位数中值最大的那位数。
3.在Visual Basic中,能表示整数x是完全平方数(如9=3*3,9是完全平方数)的表达式是(  )
A.x^2=x*x B.sqr(x)=x2
C.int(sqr(x))^2=x D.(x2)^2=x
答案 C 本题考查VB基本函数的应用。Sqr(x)是开平方函数,Int(x)是取不大于x的最大整数。根据题意可知选C。
4.有如下程序:
Private Sub Command1_Click()
  Dim a(5) as Integer
  Dim n as Integer, i as Integer
  n = Val(Text1.Text)
  i = 0
  a(1) = 1
  a(2) = 1
  For i = 3 To n
    a(i) = a(i-1) + a(i-2)
  Next i
  Label1.Caption = a(i)
End Sub
若在Text1中输入5,则点击按钮后的运行结果为(  )
A.Label1中输出5 B.Label1中输出10
C.报“下标越界”错误 D.Label1中无内容
答案 C 本题考查对VB循环语句和数组的掌握。当输入5时,首先初始化数组元素a(1)为1,a(2)为1,进入For循环,第一次循环i为3,计算出a(3)的值为a(1)+a(2)=2,i的值加1,第二次循环计算出a(4)的值为3,i的值加1,第三次循环计算出a(5)的值为5,i的值加1,最后跳出循环,i的值为6,a(5)的值为5。而程序要求输出a(6),但是由定义语句Dim a(5) as Integer可知a数组的范围是0~ 5,所以不存在下标为6的数组元素a(6),属于数组下标越界错误。
5.用VB模拟设计某软件的登录界面,如图所示,当鼠标单击“<请输入账号>”所在的文本框Text1时,文字内容消失。则此事件处理的过程名应该是(  )
/
A.登录窗口_Click B.Text1_KeyPress
C.Command1_Click D.Text1_Click
答案 D 本题考查对VB事件的掌握。点击文本框Text1的事件名为Text1_Click,其中Text1为文本框的名称,Click代表是点击事件。
6.(2019浙江十二校高三第一次联考,11,3分)有如下VB程序段:
Dim i As Integer, Sum As Integer
Dim a(l To 6) As Integer, b(l To 6) As Integer
Sum = 0
a(6) = 18: a(5) = 7: b(6) = 14: b(5) = 16
For i = 4 To 1 Step -1
 a(i) = a(i + 2)-a(i + 1)
 b(i) = b(i + 2)-a(i)
 If b(i) Mod 3 = 0 Then Sum = Sum + b(i)
Next i
Textl .Text = Str(Sum)
该程序段运行后,文本框text1中显示的内容是(  )
A.39 B. 30 C. -9 D. 12
答案 B 本题考查数组的运算。当i=4时,计算得到a(4)=a(6)-a(5)=18-7=11,
b(4)=b(6)-a(4)=14-11=3,得到sum=3;当i=3时,计算得到a(3)=a(5)-a(4)=7-11=-4,
b(3)=b(5)-a(3)=16-(-4)=20,sum仍然是3;当i=2时,计算得到b(2)=b(4)-a(2)
=3-15=-12,得到sum=3-12=-9;当i=1时,计算得到a(1)=a(3)-a(2)=-4-15=-19,
b(1)=b(3)-a(1)=20-(-19)=39,得到sum=-9+39=30。
7.在Visual Basic中,有如下程序:
Private Sub Command1_Click()
 Dim a As Integer,b As Integer,c As Integer
 Dim d As Integer
 a=Val(Text1.Text):b=Val(Text2.Text):c=Val(Text3.Text)
 d=min(a,b)+min(b,c)
 Text4.Text=Str(d)
End Sub
Function min(x As Integer,y As Integer)As Integer
 If xEnd Function
运行该程序,在文本框Text1、文本框Text2、文本框Text3中分别输入2、-5、6后,单击命令按钮Command1,文本框Text4中显示的是(  )
A.-10 B.-5 C.2 D.6
答案 A 本题考查自定义函数。自定义函数min的功能是比较两个参数的大小,返回小的值。输入后a=2,b=-5,c=6,d=min(a,b)+min(b,c)=-5+(-5)=-10。
8.模拟剪刀石头布的游戏,用1~3这3个数分别代表剪刀、石头、布这三种情况,使用Rnd随机函数可以表示为(  )
A.Int(Rnd(3)+1) B.Int(Rnd*2+1)
C.Int(Rnd(2)+1) D.Int(Rnd*3+1)
答案 D 本题考查随机函数Rnd的使用。Rnd能产生一个大于或等于0且小于1的单精度随机数。产生[a,b]区间的随机整数,公式应该是:Int(Rnd*(b-a+1)+a)。
9.在Visual Basic程序中,设x=389,能得到其百位数字“3”的表达式是(  )
A.Int(x/10)*10 B.Int(x/100)*100
C.x-Int(x/10)*10 D.Int(x/100)
答案 D 本题考查基本的算术运算表达式。Int(x/10)*10表达式的值是380,Int(x/100)*100表达式的值是300,x-Int(x/10)*10表达式的值为9,Int(x/100)表达式的值是3。
10.已知字符串变量x的值是“H”,则VB表达式Chr(Asc(x)+1)的值是(已知字符“A”的ASCII码是65)(  )
A.“I” B.“G” C.72 D. 74
答案 A 本题考查两个字符转换函数Chr(x) 及Asc(x)的功能。Chr(Asc(“H”)+1)可以理解为比“H”的ASCII值大1的字符。
11.以下程序运行后,s的值为(  )
Dim i As Integer, s As String
i = 0
Do While i < 5
  s = Str(i) + s
  i = i + 1
Loop
A.“01234” B.“12345” C.“54321” D.“43210”
答案 D 本题考查对VB循环结构和字符串操作的掌握。i的初值为0,s为空字符串,进入循环体,首先s和i连接,s的值为“0”,i的值加1,第二次进入循环,s的值为“01”(注意程序中连接的顺序),i的值加1,最后当i等于5时跳出循环,字符串s连接到4为止,所以为“43210”。
12.数组元素值a(1)=2 : a(2)=8 : a(3)=3 : a(4)=4 : a(5)=5 :a(6)=6 : a(7)=1 : a(8)=7 : a(9)=9。m = 1: k = 1
For i = 2 To 9
  If a(i) > a(i-1) Then
   k = k + 1
   If k > m Then m = k
  Else
   k = 1
  End If
Next i
Text1.Text = Str(m)
该程序段运行后,文本框Text1中显示的内容是(  )
A.4 B.6 C.8 D.9
答案 A 该程序实现的功能是求最大连续递增序列的个数。a(3)=3 : a(4)=4 : a(5)=5 :a(6)=6,这四个元素为最大连续递增序列。也可采用代入法进行逐步计算。变量k的值在不断变化,变量m用于记录k的最大值。
13.如下VB程序段:
x=Text1.Text
p=0
For i=1 to Len(x)
 If Mid(x,i,1)=“a” Then p=p+1
Next i
Print p
若程序运行时,在文本框Text1中键入“Are you happy”,则运行结果是(  )
A.0 B.1 C.2 D.11
答案 B 本题主要考查For语句和字符串处理函数。Len()函数是求字符串的长度,Mid()函数是求字符串的子串。变量x=Text1.Text=“Are you happy”,For语句的作用是统计字符串x中字母“a”的个数,用变量p计数,最后输出p。注意“A”不等于“a”。
14.有10个数据23、15、51、36、78、47、39、9、88、96依次存放在数组a(1 To 10)中,使用如下程序段找出最大值:
   max=a(1)
   For i=2 To 10
   If a(i) > max Then max=a(i)
   Next i
当虚线框内的语句刚好执行完第6次后(此时循环变量i的值为7),变量max的值是(  )
A.23 B.39 C.78 D.96
答案 C 本题中代码用于寻找数组中的最大值。它的思想方法是先假设数组的第一项是最大的,并赋值给变量max,然后把从第二项开始的所有数组元素跟变量max进行比较,如果比max大,则把该元素赋值给max。这样循环结束后,变量max中存储的就是该数组中的最大值。而本题不是循环结束后,而是循环6次以后,也就是比较了6次,max中存储的应该是前7个数中的最大值,即为78。
二、非选择题(共23分)
15.(2016浙江高中联盟第二学期开学考试,16,4分)任意一个大于或等于4的偶数,都可以用两个素数之和表示,这就是哥德巴赫猜想。如:4=2+2,6=3+3,8=3+5, 10=5+5,12=5+7,
98=19+79。
编写一个验证哥德巴赫猜想的VB程序:程序运行时,在文本框Text1中输入一个大于或等于4的偶数,单击“验证”按钮Command1后,如果哥德巴赫猜想验证成功,则在文本框Text2中显示“Yes”,并在列表框List1中显示用两个素数表示该偶数的等式,否则显示“No”。程序运行效果如图所示。
/
实现上述功能的VB代码如下,但加框处代码有错,请改正。
Function judge(x As Integer)As Boolean
’函数judge的功能是判断整数x是不是素数,若是素数则返回True,否则返回False
 Dim j As Integer
 judge=True
 j=2
 Do While j<=x-1 And judge=True
If x Mod j=0 Then
judge=False
Else
j=j+1
End If
 Loop
End Function
Private Sub Command1_Click()
 Dim n As Integer,p As Integer,q As Integer,flag As Boolean
 n=Val(Text1.Text)
 p=1
 flag=False
 Do While flag=True And pp=p+1
q=q+1 ’②
If judge(p)And judge(q)Then
Text2.Text=“Yes”
flag=True
List1.AddItem Str(n)+“=”+Str(p)+“+”+Str(q)
  End If
 Loop
 If flag=False Then
Text2.Text=“No”
End Sub
答案 ①flag=False 或not flag 或flag<>True ②q=n-p
解析 本题验证哥德巴赫猜想:在文本框Text1中输入任意一个大于或等于4的偶数,输出以两个素数和的形式显示在列表框List1中,并在文本框Text2中显示验证结果。变量flag用于标识是否找到方案,初始值为false,表示未找到,枚举过程中若找到则变为True,故Do while语句的条件是:方案未找到(flag=False)且(And)仍在查找范围内(p16.有一个数组data存放了n个数据,现从中删除了一个元素,其余的元素依次向前递补(假设删除的是第3个元素,则要将第4个元素移到第3个元素处,第5个元素移到第4个元素处,以此类推),然后输出数组内容。程序输入要删除数的位置,点击“删除”按钮后删除指定数,并把剩余的数字依次输出到List2中,程序如图所示。
/
Dim data(10) As Integer ’①
Dim n As Integer ’n表示总元素个数
Private Sub Command1_Click()
 Dim t As Integer
 t = Val(Text1.Text)
 For i = t To n-1
 ②
 Next i
 n = n - 1
 For i = 1 To n
 ③
 Next i
End Sub
Private Sub Form_Load()
Dim i As Integer
n = 10
For i = 1 To n
  data(i) = i * 2
  List1.AddItem Str(data(i))
Next i
End Sub
(1)与①处语句功能一样的是(填字母)    (A.Dim data(0 To 10) As Integer/B.Dim data(1 To 10) As Integer)。?
(2)为实现程序功能,请在划线处填入合适的代码。
②处的代码为 。  ?
③处的代码为 。  ?
答案 (1)A
(2)data(i) = data(i + 1);List2.AddItem Str(data(i))
解析 (1)本题考查数组元素的定义方法。
(2)②将当前数data(i)填充为后面的数data(i+1),相当于后面的数往前移动一位,数字总数n=n-1,指定位置的数已删除。③利用Listbox的AddItem方法添加数据。
17.(2016浙江高中联盟第二学期开学考试,17,5分)竞选班长。编号分别为1、2、3、4、5的五位候选人参加班长竞选,现要设计一个计票程序,根据回收的选票信息统计各位候选人的得票数,得票数最多的被选为班长,并输出班长的编号。选票信息为一个数字序列,由每张选票的投票结果构成,如某选票序列为101233303,其含义见如下表所示。
选票
序列
1
0
1
2
3
3
3
0
3
含义
第1张选票投给1号
第2张
选票
弃权
第3张选票投给1号
第4张选票投给2号
第5张选票投给3号
第6张选票投给3号
第7张选票投给3号
第8张
选票
弃权
第9张
选票投
给3号
备注:选票序列101233303,序列中的数字i,表示投票给编号为i的人,即编号为i的人得1票,其中数字0表示不投给任何人,即为弃权。表中选票序列的投票结果为:1号得2票,2号得1票,3号4得票,4号、5号均为0票(没人投),所以3号得票数最高,被选为班长。
程序运行时,在文本框Text1中输入选票信息,单击“计算”按钮Command1后,被选为班长的编号显示在文本框Text2中。程序运行效果如图所示。
/
实现上述功能的VB程序如下,请在划线处填入合适的代码。
Private Sub Command1_Click()
Dim a(1 To 5)As Integer
’数组元素a(1)~a(5)依次存放编号为1~5的五位候选人的得票数
Dim st As String,i As Integer,j As Integer,n As Integer
Dim ans As Integer ’变量ans存放被选为班长的人的编号
Dim max As Integer ’变量max存放最多的得票数
st=Text1.Text
   ①  ?
For i=1 To 5
a(i)=0
Next i
For i=1 To 5
For j=1 To n
If  ②  Then ?
a(i)=a(i)+1
Next j
Next i
max=0
For i=1 To 5
If a(i)>max Then
max=a(i):ans=i
Next i
   ③   ?
End Sub
答案 ①n=Len(st) ②Val(Mid(st,j,1))=i
③Text2.Text=Str(ans)
解析 算法主要思想:将输入的字符串,利用Mid函数逐位提取,并将判断结果存入到相应数组变量中,然后通过比较求出数组元素的最大值及对应编号。代码实现:将Text1中的选票序列读入字符串变量st,使用Len函数计算字符串长度存入变量n,使用For j=1 To n依次提取每一位,通过Val函数转换为数值类型,并与编号进行比较,统计到相应候选人对应的数组元素中。变量max用于存储最大票数,变量ans用于存储最大票数的候选人编号。题目要求在Text2中输出最大票数候选人的编号,故输出值为ans。
18.小明编写了一个数据插入程序。程序输入一个数字,将该数字插入一列有序数据:-5,3,4,12,20,45,70,并使数据序列保持有序。设计的算法是从前往后找位置插入。
/
Private Sub Command1_Click()
 Dim a(1 To 8) As Integer
 Dim n, i, j, x As Integer
 List1.Clear
 List2.Clear
 a(1) = -5: a(2) = 3: a(3) = 4: a(4) = 12: a(5) = 20: a(6) = 45: a(7) = 70
 For j = 1 To 7
  List1.AddItem Str(a(j))
 Next j
 x = Val(Text1.Text)
 i = 1
 Do While x > a(i) And i < 8 ’找x的插入位置

 Loop
 For j = 8 To i + 1 Step -1 ’移动数据

 Next j
 a(i) = x
 For j = 1 To 8
  List2.AddItem Str(a(j))
 Next j
 Label1.Caption = “插入的位置是” &Str(i)
End Sub
(1)代码“List1.Clear”中的Clear是    。(单选,填字母:A.属性名/B.事件名/C.方法名)?
(2)为实现程序功能,请在划线处填入合适的代码。
①处填入的代码为 。  ?
②处填入的代码为 。  ?
答案 (1)C
(2)i = i + 1;a(j) = a(j - 1)
解析 (1)略。
(2)本题在一个递增序列中插入一个新数。①i表示新数的位置,新数若比当前数大,则位置往后移动。②从后往前依次将元素后移一位。
教师备用题库
1.(2016宁波3月选考模拟,6,2分)某算法要实现求0到100的偶数之和,部分流程图如图所示。则i←i+2被执行的次数是(  )
/
                    
A.50 B.51 C.100 D.101
答案 B 本题主要考查算法的流程图的知识。这是一个典型的循环结构,循环变量的初值为0,终值为100,而步长是2(i←i+2),因此位于循环体内的语句“i←i+2”一共被执行51次,所以答案是B。
2.某旅游景点规定,身高在1.2米以下的儿童免票,身高在1.2米~1.5米的儿童购半价票,身高超过1.5米的购全价票。下图所示算法用于根据身高判断购票情况:
/
用于输出“购全价票”的图框编号是(  )
A.① B.② C.③ D.④
答案 D 本题考查选择模式的程序执行过程。当h>1.5时,输出“购全价票”。
3.如图所示为某算法的部分流程图,执行这部分流程后,变量s的值是(  )
/
A.4 B.11 C.24 D.29
答案 D 本题考查循环结构的流程图。第1 次循环后变量s 和n的值分别为4,7。第2 次循环后变量s 和n 的值分别为11,18。第3 次循环后变量s 和n 的值分别为29,47。所以选D。
4.计算某球队球员平均年龄的部分算法流程图如图所示,其中:c用来记录已输入球员的人数,sum用来计算有效数据之和,d用来存储输入的球员年龄值,输入0时表示输入结束。
/
图中空白处理框①和②处应填入的是(  )
A.
①sum←sum+d
②c←c+1
B.
①sum←sum+c
②c←c+1
C.
①sum←sum+d
②d←d+1
D.
①sum←sum+c
②d←d+1
答案 A 本题考查对循环模式的流程图的理解。sum用来统计球队各个球员的年龄总和,c是计数器,用来记录已经输入年龄的球员人数。每次统计后,计数器加1,所以先执行sum←sum+d,再执行c←c+1。
5.某算法的部分流程图如图所示,执行这部分流程后,变量a,b的值分别是(  )
/
A.3,4 B.3,5
C.8,13 D.8,15
答案 C 本题主要考查算法的流程图。根据本题的流程图可知,该循环共执行了2次,循环结束后a=8,b=13,所以正确的答案是C。
6.某算法的部分流程图如图所示,执行这部分流程后,变量sum的值为(  )
/
A.9 B.24
C.234 D.432
答案 A 可以看出每次循环都是先将x 的个位数( x mod10)累加至sum 中,再将个位数剔除( x10),当x= 0 时说明x每一位上的数字都已累加至sum 中,所以为2+3+4=9。
7.某算法的部分流程图如图所示,执行这部分流程后,变量c的值是(  )
/
A.6 B.7
C.0 D.3
答案 A 本题考查算法流程图。根据循环条件,第1次循环后,c=1,a=38,b=7;第2次循环后,c=2,a=31,b=7;第3次循环后,c=3,a=24,b=7;第4次循环后,c=4,a=17,b=7;第5次循环后,c=5,a=10,b=7;第6次循环后,c=6,a=3,b=7,a8.(2016浙江新高考选考科目猜题卷,6,2分)某算法的流程图如图所示:
/
依次输入x的值为5、3、-1后,该算法的输出结果为(  )
A.7 B.5
C.6 D.4
答案 D 本题考查算法流程图。算法有三种结构:顺序结构,循环结构,分支结构。由流程图得知,当x>0时,i=i+2。依次输入5,3,-1,则循环2次。i 由0变为4。
9.某竞猜商品价格的流程图如下图所示:
/
在这个算法中,最多有几次猜价机会(  )
A.1次 B.2次
C.3次 D.4次
答案 D 本题考查对循环模式流程图的理解。n初值为1,终值为4,循环步长为1,n的取值分别为1、2、3、4时可以执行循环,当n=5时循环结束。因此该循环最多可执行4次。
10.某算法的部分流程图如图所示,执行第4 次循环后,a,b 的值分别是(  )
                    
A.2,14 B.3,14 C.11,13 D.13,14
/
答案 D 本题考查流程图的相关概念, 以及运算符“Mod”,“ ”的优先级及运用。本题循环5 次:①a=7,b= 11;②a=9,b=12;③a=11,b=13; ④a=13,b=14;
⑤a=15,b=15。
11.某算法的部分流程图如图所示,执行这部分流程后,变量x和Flag 的值分别是(  )
A.2,True B.3,True
C.2,False D.3,False
/
答案 C 本题考查算法流程图知识。这是一个循环结构,变量x 的初值为1,Flag 的初值为True,而且循环中还有判断,当x mod 2>0 时,步长加1,Flag=Not Flag。根据题意,当x=1,Flag=True 时,x mod 2=1>0,循环继续,x=x+1=2,Flag=False,此时,x mod 2=0,循环结束。因此最终,x=2,Flag=False,故选C。
第1节 算法的基本概念及常用表示方法
模拟演练
学考题组
1.某流程图如图所示。执行该算法,下面说法错误的是(  )
                    
/
A.s 的值最终为-5
B.语句“k=k+1”共执行了4 次
C.语句“s≤0”共判断了5 次
D.该算法转成VB 代码时能用Do 循环语句实现
答案 A 本题考查算法流程图的知识。该流程图属于循环结构,当s≤0 时循环结束,根据推断可知循环共进行4次,第4次结束时,s=0,跳出循环并输出k=4,语句“s≤0”判断了5 次。所以本题选项A 错误,其他选项均正确。
2.某算法的部分流程图如图所示。
/
执行该算法,依次输入a 的值2,5,4 后,变量b 的值为(  )
A.0.5 B.2 C.4 D.5
答案 B 本题考查流程图的分析,当a=2时,b=20/2=10;当a=5 时,b=10/5=2;当a=4 时,条件“ a3.某算法的部分流程图如图所示,执行该算法,输出S的结果是(  )
/
A.0 B.8 C.10 D.15
答案 D 本题主要考查了算法中流程图的知识。根据本题的流程图可知,该循环结构的结束条件为i Mod 9等于5。通过观察发现,该程序是先求和然后判断余数是否等于5,所以实现的功能是求1+2+3+4+5的和,所以正确答案为D。
4.如图所示,该流程图所表示的算法违背了算法的有穷性特征,下列修改方法中,可以改正该错误的是(  )
/
                    
A.将①处改为 i←0 B.将②处改为 s≥0?
C.将③处改为 i←i-2 D.将④处改为 s←s-i
答案 C 本题考查算法的流程图表示。由于循环的条件i≥0始终成立,循环会一直持续进行。将③处改为 i←i-2,i的值将会不断减小,当i的值小于0时,结束循环,输出s。
5.有一数列1,2,3,5,8,13,…,从第3项起,每项等于它相邻的前2项之和。求在该数列中第一个超过1000的数是第几项。解决此问题的部分算法流程图如图所示:
/
图中空白处理框①和②处应填入的是(  )
A.
①b←a
②i←i+1
B.
①i←i+1
②b←a
C.
①a←c
②i←i+1
D.
①i←i+1
②a←b
答案 D 本题考查循环模式的程序执行过程。从第3项起,每项等于它相邻的前2项之和。因此当执行了c=a+b后,计数器i=i+1。若c还未超过1000,则要继续做加法,此时,执行a=b,b=c,即每个数向后移动一项。
6.某算法的部分流程图如图所示,执行该算法后,变量s的值及x←x+1执行的次数分别为(  )
/
A.0,3 B.-5,4
C.0,4 D.-5,3
答案 C 本题主要考查算法流程图。根据本题的流程图可知,该循环共执行了4次,第一次s=9,x=2;第二次s=7,x=3;第三次s=4,x=4;第四次s=0,x=5,所以选C。
第1节 算法的基本概念及常用表示方法
真题再现
学考题组
1.(2018浙江11月选考,5,2分)某算法的部分流程图如图所示。执行这部分流程,分别输入35、50、60,则输出值依次为(  )
/
A.10,3 B.10,4 C.7,10,4 D.10,12,3
答案 B 本题考查循环结构流程图。循环前i=1,m=5,进入循环,输入g=35,得r=7,不输出r,执行i=i+1,得i=2;第二次进入循环,输入g=50,得r=10,输出r,执行i=i+1,则i=3;第三次进入循环,输入g=60,得r=12,不输出r,执行i=i+1,i=4;退出循环,输出i。因此输出的值依次是10和4。
2.(2018浙江6月学考,5,2分)某算法的部分流程图如图所示,以下说法正确的是(  )
A.该流程执行后,变量k的值是-1
B.该流程执行后,变量a的值是16
C.该流程用于计算并输出1+8-16的值
D.该流程完整执行1次,“a<32?”共执行了3次
/
答案 D 本题考查循环结构的流程图。各变量在程序执行过程中的变化如下表:
循环次数
变量a的值
变量b的值
循环次数
1
1+1=2
3*1-1=2
1
2
2+1=3
3*2-1=5
2
3
3+1=4
3*3-1=8
3
4
4+1=5
3*4-1=11
4
因此最后k=1,a=32,计算式相当于是1+1*8+0*16,循环体执行两次,循环条件判断了3次,前2次成立进入循环,第3次不成立退出循环。
3.(2018浙江4月学考+选考,7,2分)某算法部分流程图如图所示。执行这部分流程,依次输入12、-5、29、18、7,则输出值是(  )
A.12 B.-5 C.29 D.7
/
答案 C 本题考查循环结构的流程图。该流程图的功能是找出所有输入数据中的最大数。先输入12赋给变量b,然后循环4次,分别输入4个数,赋给变量a,当a的值大于b的值时,执行b=a,否则b不变。因此4次后,b中记录的是最大
值29。
4.(2017浙江11月学考+选考,5,2分)某算法的部分流程图如图所示,执行这部分流程后,输出a,b的值分别是(  )
/
                    
A.5,8 B.4,8 C.5,11 D.4,11
答案 C 本题考查对循环结构流程图的理解。程序的执行过程可以概括为以下表格内容。
循环次数
变量a的值
变量b的值
1
1+1=2
3*1-1=2
2
2+1=3
3*2-1=5
3
3+1=4
3*3-1=8
4
4+1=5
3*4-1=11
5.(2017浙江4月学考+选考,6,2分)某算法的部分流程图如图所示。执行这部分流程,依次输入3,4,-1,则输出s的值是(  )
/
A.-2 B.-1 C.0 D.1
答案 B 本题考查循环结构的流程图。s初值为0,k初值为1。进入循环体后,先输入a,若a是非负数,则继续执行循环体,否则跳出循环。第一次输入a是3,因此计算s=0+1×3=3,k=-1×1=-1;第二次输入a是4,计算s=3+(-1)×4=-1,
k=-1×(-1)=1;第三次输入a是-1,跳出循环,此时s=-1。
6.(2016浙江10月学考+选考,5,2分)某算法的部分流程图如图所示,执行这部分流程后,变量a,b的值分别是(  )
/
                    
A.3,3 B.3,4 C.6,6 D.7,11
答案 D 本题考查对循环结构流程图的理解。循环开始前,变量a赋初值2,变量b赋初值1。循环体中,执行a=a+b,b=a+b,循环条件是b<5。第一次循环结束后,a=3,b=4;第二次循环结束后,a=7,b=11;退出循环。
7.(2016浙江4月学考+选考,5,2分)某算法的部分流程图如下图所示,执行这部分流程后,变量x的值是(  )
/
A.0 B.1 C.2 D.3
答案 B 本题考查的是VB循环结构流程图。观察流程图可知,循环执行的条件是“x>y”取值为真,否则将退出循环。已知x=3,y=0,第1次循环之后:x=2,y=1。第2次循环之后:x=1,y=2,此时“x>y”为假,所以循环结束,x的值为1,故B正确。
同课章节目录