第四章 程序设计基础 知识点题库

在VB中,下列函数返回值最大的是(   )
A . Sqr(9) B . Abs(-3.2) C . int(3.2) D . Len("3.2")
VB标准函数Rnd的作用是返回一个大于等于0且小于1的随机数。要产生[10,99]的随机整数的VB表达式是(   )
A . Int(Rnd*89) B . Int(Rnd*90)+10     C . Int(Rnd*99)+10 D . Int(Rnd*89)+10
有以下VB程序段

a(1) = 2

For i = 2 To 3

  a(i) = a(i - 1) - Int(Rnd() * 2)

  If i Mod 2 = 1 Then

    a(i) = a(i) + 1

  Else

    a(i) = a(i) - 1

  End If

Next i

执行程序后,a(2)和a(3)的值不可能的是(   )

A . 1,1 B . 1,0 C . 0,1 D . 0,0
下列表达式的运算结果与其他选项不同的是(  )
A . Len("123") + 2 ^ 2 B . Abs(Int(-6.8)) C . Asc(Mid("789", 1, 1)) D . Val("9") - Sqr(4)
有如下VB程序段:

Dim s(1 To 100) As Integer

Dim b(1 To 100) As Integer

Dim c As Integer

  a(1) = 0: a(2) = 2: b(1) = 1: b(2) = 2: c = 0

  For i = 2 To 6  

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

    b(i + 1) =b(i) ^ 2 /b(i - 1)

    c =c +a(i + 1) +b(i + 1)

  Next i

Label1.Caption = Str(c)

该程序运行后,Label1中显示的内容是(  )

A . 46 B . 88 C . 164 D . 76 
有如下VB程序段:

s ="cbafedgh"

m=3:c="":n= Len(s)

For i =1 To n

  j=(i-1)Mod 3 + 1

  If m> n Then Exit For               '退出For循环

  c=c+ Mid(s,m-j+1,1)

  If j Mod 3 =0 Then m =m+3

Next i

If i < n Then c = Mid(s,i,n-i + 1)+c

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

A . Abcdef B . Abcdefgh C . Ghabcdef D . hgabcdef
有如下VB程序段:

For i = 1 To Len(Text1.Text)

  c = Mid(Text1.Text, i, 1)

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

    x = Val(c)

    a((x + 1) Mod 10) = a((x + 1) Mod 10) + 1

  End If

Next i

s = ""

For i = 0 To 9

  s = s & a(i)

Next i

Text2.Text = s

数组元素a(0)到a(9)的值均为0,执行该程序段后,文本框Text2显示的内容为“1302000100”。则文本框Text1中输入的内容可能是(   )

A . 2020-6-09 B . 2020-02-28 C . 2020-6-01 D . 2019-01-07
   单分支If条件语句,执行过程中条件表达式为真,执行语句A,为假则不执行语句A
下列VB表达式的值最大的是(  )
A . Len("12"+"21") B . Val("11"+"10") C . Val(mid("1221",3,2)) D . 1221mod 1000\ 10
为了给整型变量x y z赋初值5,下面正确的Python赋值语句是(    )
A .  x=5;y=5;z=5 B .  xyz=5 C .  x,y,z=5 D .  x=5,y=5,z=5
字符串变量a、b的值分别为"64"、"36",则表达式a+b的值是(   )
A . 100 B . "100" C . "64+36" D . "6436"
对一段字符(仅包含大小写字母和数字)加密,加密规则为:①字母和数字都往后循环顺移3位,如“a”变为“d”,“y”变为“b”;“0”变为“3”,“7”变为“0”②加密后字母在前,数字在后③字母按逆序排列,数字按顺序排列,如输入明文“ab7Z8x3”,这密文为“aCed4016”。

小王利用VB程序实现这一加密功能,程序界面和代码如下所示:

Private Sub Com_ jm_ Click()

    Dim x As String, ch As String, cl As String

    Dim s1 As String, s2 As String, s As String

    Dim i As Integer, n As Integer, y As Integer

    x= Text1. Text

    n=Len(x)

    For i=1 To n

        ch= Mid(x, i, 1)

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

               ①     

            s2=s2 & y

        Elself ch >="a" And ch<="z" Then

            y=(Asc(ch)-Asc("a")+3) Mod 26

                 ②   

            s1=c1+s1

        Else

            y=(Asc(ch)- Asc("A")+3) Mod 26

            c2=Chr(Asc("A")+y)

            s1=c2+s1

        End If

    Next i

        ③  

    Text2 Text=s

End sub

  1. (1) 根据程序代码分析,“加密”按钮的名称是
  2. (2) 根据加密规则,明文“9G78fbY5”,则密文为
  3. (3) 请在画线处填入合适的代码:

     ② ③ 

某对分查找算法的VB程序段如下:

Key = Val(Text1.Text): i = 1: j = 10

Do While i <= j

    m = (i + j + 1) \ 2

    t(m) = 2

    If Key <= a(m) Then

        j = m - 1

    Else

        i = m + 1

    End If

Loop

For i = 1 To 10

    s = s + t(i)

Next i

数组元素t(1)至t(10)初值均为0,数组元素a(1)至a(10)的值依次为“4,7,9,11,16,19,22,24,28,29”,在文本框Text1中输入待查找数,执行该程序段后,下列选项中,s的值可能的是(   )

A . 4 B . 8 C . 10 D . 12
汉诺塔问题中,现在要将塔座A上的所有圆盘移到塔座B上;并仍按同样顺序叠放。移动圆盘时,需遵守汉诺塔问题的移动规则。可设计出解汉诺塔问题的递归算法为(   )。
A . B . C . D .
阅读以下程序,写出程序运行结果。

def jc(n):

s=1

for i in range(2,n+1):

    s=s*i

    return s

    total=jc(4)    #调用jc函数

print(total)

程序运行后,其输出结果为

如aa=’345’,它的回文数是“34543”,以下表达式无法得到回文数的是(    )
A . new=aa+aa[-2:-4:-1] B . new=int(aa)*100+int(aa[1::-1]) C . new=aa+aa[1]+aa[0] D . new=(aa[0]+aa[1]+aa[2])*2
如下Python程序段,运行后输出的值是(       )

def factorial(n):

    s=1

    for i in range(2,n+1):

        s=s*i

        return s

total=factorial(4)

print(total)

A . 24 B . 4 C . 44 D . 16
下列程序段中,赋值语句s=s+i被重复执行了10次。

s=0

For i in range(10):

    s=s+i

有10个数据23、15、51、36、78、47、39、9、88、96依次存放在数组a(1 to 10)中,使用如下程序段找出最大值:

max=a(1)

For i=2 to 10

 

Next i

当方框内的语句执行完6次后(此时循环变量i的值为7),变量max的值是(  )

A . 23 B . 39  C . 78 D . 96
小墩和小融打乒乓球,利用Micro:bit主板的 LED 阵列实时显示比分情况(如图1所示,2个方框分别表示小墩和小融比分区,每个亮点表示1分),并在BXY Python Editor软件的串口中实时输出对局输赢情况(如图2所示)。

图1

图2

操作步骤:小墩得1分,按下Micro:bit主板的按钮A,左侧比分区亮点加1;小融得1分,按下按钮B,右侧比分区亮点加1。一局比赛初始比分为0:0,每一局中先达到10分的选手可以赢得该局。

  1. (1) 实现上述功能的程序代码如下,请在划线处填入合适的代码:

    from microbit import *

    def bf(x,y):

        #在led板上显示比分情况,代码略

    m=0;n=0  #m表示小墩得分,n表示小融得分

    while True:

        if button_a.is_pressed():   #若按钮A被按下,则小墩得1分

            m+=1

        elif button_b.is_pressed():  #若按钮B被按下,则小融得1分

            n+=1

        if :

            if m>n:

                print("第",i,"局:小墩赢,比分:",m,":",n)

            else:

                print("第",i,"局:小融赢,比分:",m,":",n)

            i+=1;m,n=0,0

        bf(m,n)

        sleep(200)  #设置程序运行间隔为200毫秒

  2. (2) 根据上述程序,下列比分情况不可能出现的是(   )。
    A . B . C . D .
最近更新