2.3 周而复始的循环 知识点题库

运行如下Visual Basic程序,单击命令按钮Command1,出现如图所示的出错信息。发生"下标越界"错误时所执行的语句是(  )

Private Sub Command1_Click()

  Dim a(0 To 5) As Integer

  Dim i As Integer               '①

  a(0) = 1                       '②

  For i = 1 To 5

    a(i) = 2 * a(i - 1) + 1      '③

  Next i

  Text1.Text = Str(a(6))         '④

End Sub

A . B . C . D .
阅读下列程序,写出运行结果:

Dim Sum As Integer

Dim k As Integer

Sum = 0

For k = 1 To 10

If k Mod 2 = 0 Then Sum = Sum + k

Next k

Print Sum

程序运行后输出结果是:

有如下VB程序段:

For j=7 To 3 Step -1

    If a(j-2) > a(j) Then

        t=a(j-2): a(j-2)=a(j): a(j)=t

    End If

Next j

数组元素a(1)到a(7)的值依次为“1, 4,5,2,7,6,3”,执行该程序段后,元素交换的次数为(    )

A . 2次 B . 3次 C . 4次 D . 5次
以下程序段执行后整型变量n的值为(     )

N=0

For i=1 to 25

   If i mod 5= 0 then n=n+i

Next i

A . 50 B . 15 C . 75 D . 210
有如下程序段

For i = 1 To 5

    a(i) = Int(Rnd * 90) + 10

Next i

For j = 5 To 2 Step -1

    If a(j) Mod 2 = 1 And a(j) < a(j - 1) Then

        t = a(j): a(j) = a(j - 1): a(j - 1) = t

    Else

        a(j) = a(j) / 2

    End If

Next j

执行该程序段后,a(1)到a(5)各元素不可能的是(   )

A . 17,58,73,62,37 B . 37,63,59,40,19 C . 31,65,98,7,6 D . 84,57,65,7,6
如果我国人口每年以平均1.5%的速度增长,问多少年后我国人口达到或超过15亿?设现在人口为12.3亿。在此题中可以用(   )选项补充代码解决问题。(x代表年,p代表人口)

图片_x0020_100011

A . 图片_x0020_100012 B . 图片_x0020_100013 C . 图片_x0020_100014 D . 以上都不正确
有如下VB程序段:

Dim x As String, s As String

x = Text1.Text: s=""

For i = 1 To Len(x)

    c = Mid(x, i, 1)

    If c = "a" Then

        s = s + "z"

    Else

        s = s + Chr(Asc(c) - 1)

    End If

Next i

在文本框Text1中输入“dream”,执行该程序段后,变量s的值是(    )

A . Cqdal B . sdzn C . Esfzn D . cqdzl
以下程序要求输出偶数,则在方框处的语句为(    )

import math

def func(list):

for x in list:

    if  :

        print(x)

A . x%2==0 B . x%2 C . x is even D . x/2
用VB编写字符解压程序,功能如下:在文本框Text1中输入压缩字符串,压缩字符串中不含空格,其中数字可以是多位数,表示其后面的字符个数,字符为单个字符。在文本框Text2中显示解压结果。例如,输入压缩字符串“3Y5a”(表示有3个“Y”和5个“a”组成),单击“解压”按钮后, 输出解压结果“YYYaaaaa”。程序运行界面如图所示:

  1. (1) 在设计程序界面时,要将文本框Text1和Text2中的内容清空,可以修改这两个对象的属性实现。
  2. (2) 由代码可知,命令按钮“解压”的名称是
  3. (3) 实现上述功能的VB程序如下,请在划线处填入合适的代码。

    Private Sub Comd1_Click()

        Dim i As Integer, j As Integer, n As Integer

        Dim ch As String, s As String, ss As String

        s = Text1.Text

        n = 0: ss = ""

        i = 1

        Do While i <= Len(s)

            

            If ch >= "0" And ch <= "9" Then

               

            Else

                For j = 1 To n

                    ss = ss + ch

                Next j

                n = 0

            End If

           

        Loop

        Text2.Text = ss

    End Sub

  4. (4) 运行程序,若文本框Text1中输入的内容为“Y3a5”,则输出的解压字符串为
某仓库物品代码格式为“X-XXX-XXXXX-Y”,其中“X"和“Y”均为0到9之间的数字,“Y”为校验码。校验码由前面9个X计算得到,计算方法为:从左边开始,第1个数字乘以1加上第2个数字乘以……依次类推,直到加上第9个数字乘以9,将该结果除以10,所得余数即为校验码。用Python设计一个程序,输入物品代码,判断输入的代码中校验码是否正确,如果正确输出“正确”,否则输出“错误”。运行样例如下所示:

样例1:

输入: 2-163-91475-4

输出:正确

样例2:

输入: 2-163-91475-5

输出:错误

  1. (1) Python程序实现如下,请在划线处填入正确的代码:

    s=input("输入物品代码: ")

    a=[ ]

    for i in range(0, 13) :

        if

            a. append(int (s[i]))      #append( )函数用于在列表末尾添加新的对象

    sum=0

    for i in range(0, 9):

       

    sdm=sum%10

    if sdm== ydm :

        print("正确")

    else:

    print("错误" )

用英文字母 A~D 对数字字符 0~9 进行编码, 规则如下表所示:

数字字符

0

1

...

7

8

9

二进制值

0

0

0

0

0

0

0

1

...

0

1

1

1

1

0

0

0

1

0

0

1

十进制值

0

0

0

1

...

1

3

2

0

2

1

对应编码

A

A

A

B

...

B

D

C

A

C

B

例如, 数字字符串“709”的编码为“BDAACB”。用VB程序实现上述编码,功能如下:在文本框Text1中输入编码的一串数字字符,单击“编码”命令按钮Command1,在文本框Text2中显示编码结果。程序运行界面如图所示。

  1. (1) 若要将按钮中的“编码”二字替换成“字符编码”,应修改其对应的属性。
  2. (2) 下列属于VB窗体文件的是           (单选, 填字母)。
    A . szbm.vbp B . szbm.frm C . szbm.exe
  3. (3) 实现上述功能的VB程序如下,请在划线处填入合适的代码。

    Private Sub Command1_Click( )

        Dim code As String, s As String, ch As String, result As String

        Dim i As Integer, numL As Integer, numR As Integer

        Dim flag As Boolean

        code = "ABCD"

        s = Text1.Text

        flag = True

        result = ""

        For i = 1 To

            

            If ch < "0" Or ch > "9" Then

                flag = False

                Exit For                   ' 退出循环

            Else

                numL = Val(ch) \ 4

                numR =

                result = result + Mid(code, numL + 1, 1) +

            End If

        Next i

        If flag Then

            Text2.Text = result

        Else

            Text2.Text = "输入错误"

        End If

    End Sub

  4. (4) 运行该程序,若在文本框Text1中输入“58”,单击“编码”命令按钮Command1,在文本框Text2中显示编码结果为
线性结构中元素之间存在         关系,树结构中元素之间存在         关系,图形结构中元素之间存在         关系。(    )
A . 一对多 多对多 一对一 B . 一对一 一对多 多对多 C . 多对多 一对一 一对多 D . 一对一 多对一 多对多
  对于字典a={'name':'chen', 'age':18},len(a)的结果为
有如下VB程序段:

s = "python": b = 0

For i = 1 To Len(s) - 1

    a = Abs(Asc(Mid(s, i, 1)) - Asc(Mid(s, i + 1, 1)))

    If a > b Then b = a

Next i

Label1.Caption = Str(b)

执行该程序段后,标签Label1上显示的内容是(    )

A . 1 B . 7 C . 9 D . 12
某Python程序段如下:

def isprime (x):

    for i in range(2, x):

        if x % i= 0:

            return False

    return True

prime = []

for i in range(2, 21):

    if isprime(i):

        prime.append(i) #将 i添加到列表

print (len(prime))

运行该程序段,输出结果是

阅读程序。分析代码并回答问题。

list=['a','b','c','d','e','f','g']

list1=[]

list2=[]

for i in range(7):

  if i%2==0:

    list1.append(list[i])

  else:

    list2.append(list[i])

  print(list1)

print(list1)

 

  1. (1) list 的数据类型是
  2. (2) list中的元素的数据类型
  3. (3) list1=[]的作用是
  4. (4) for i in range(7)语句中,i 的实际数据范围是从
  5. (5) append(list[i])的作用是
条形码在现实生活中使用的越来越广泛,如在各种商品上印上条形码,超市里散装称重商品在称重完成后也会打上条形码。学校教务处想调查高二、高三学生对任教老师的满意度。调查方式采用学生填涂机读卡方式。由于高二、高三每个班学生选科不同。虽然采用机读卡能方便将卡上的信息读取出来,但很难区分某个学生所涂的内容是对哪个科目老师的投票。因此小张想通过设计条形码来区别该张卡是哪位学生对哪些科目的投票。小张设计的条形码,包括了学生的入学年份、该生所在班级、学号及所选课代码(选课代码:01-物理,02-化学,03-生物,04-政治,05-历史,06-地理,07-技术)。某学生条形码如下图所示,该生是2020年入学,5班,学号为23号,选科为:物理、生物、技术。

  1. (1) 根据条形码设计的规则,请你设计出2019年入学7班学号为15号,选科为化学、生物、技术学生的条形码显示的数字为:。a
  2. (2) 通过条码形与机读卡的组合,可以快速的统计出每班个班各科的教学情况。由于每个学生对投票的兴趣不一,可能存在有些学生没有兴趣参与投票。如果某个科目参与投票的学生达不到该科目选科总人数的60%,则该科目的教学调查就没有任何意义。为了统计出某个班哪几个科目的教学调查无效,小张事前应准备好的数据是       (单选,填字母)。
    A . 该年级总人数 B . 每个班级总人数 C . 参与教学调查投票的总人数 D . 每个班各科选课人数
  3. (3) 小张设计了一个实现统计某个班级哪几个科目的教学调查是无效的算法,他事先将某个班学生条形码通过扫描仪读取后存入在txm.txt中,每个条形码一行。为实现上述功能,请在划线处填入合适选项或代码。

    data=open("txm.txt")

    #班级选课人数存放在列表xknum中,代码略

    kmmc="物理化学生物政治历史地理技术"

    line=data.readline()

    kmnum=[0]*7     #用于存放实际参与教学调查每个选科人数

    while line:

        for i in range(3):      #统计每科参考投票的人数

            km=int(line[])-1    #(选填字母,从下列A、B、C、D四个选项中选取一项)

            kmnum[km]=kmnum[km]+1 a

            line=data.readline()

            s=""

            for i in range(7):

                if :   #(填程序代码)

    s=s+kmmc[i*2:(i+1)*2]+" "

           print("无效的科目有:",s)

    划线①处的选项:

    A .9+i*2:9+i*2                                       B .9+i*2:11+i*2 

    C .8+i*2:9+i*2                                       D .8+i*2:10+i*2 

有如下VB程序段:

Dim k As Integer, s As Integer

k = 0: s = 0

Do While k >= 10

  k = k + 1

  s = s + k

Loop

该程序段执行后,变量s的值是(  )

A . 0 B . C . 10 D . 11
素数只能被1和它本身整除,不能被其他自然数整除。编写Python程序实现如下功能随机产生一个三位数,并判断其是否为素数。
  1. (1) 若随机产生的三位数为593,则输出
  2. (2) 实现上述功能的Python程序如下,请在划线处填写合适的代码。

    import random

    a=     #随机产生三位正整数

    flag=True

    for i in range():

      if a%i==0:

        flag=False

         

    if flag:

      print(a,"是素数")

    else:

      print(a,"不是素数")

  3. (3) 以下选项中,与表达式“a % i == 0”等价的是(   )(单选,填字母)。
    A .   a // i == int(a / i) B . a // i == a / i C . a % i == a // i
下面是“求阶乘和.py”,正确答案是(   )。

请填空完善该程序,实现功能输出:s=1!+2!+3!+4!+5!,说明:n!=1×2×3×4×…×n,例如:3!=1×2×3

s=0

n=①

for i in range(1,   ②  ):

    n=n*i

    s=  ③ 

print("1!+2!+3!+4!+5!=",s)

A . ①int(input("请输入n"))    ②n       ③s+n B . ①int(input("请输入n"))    ②n+1    ③s+n C . ①int(input("请输入n+1"))  ②n+1   ③s+n D . ①int(input("请输入n+1"))  ②n      ③s+n