2.2 做出判断的分支 知识点题库

下棋时要通过掷骰子来随机确定走棋步数。骰子的六个面上标有数字1至6,下面能表示产生1至6之间的随机整数的表达式是(   )
A . Rnd(1)*6 B . Rnd(1)*5+1 C . Int(Rnd(1)*6)+1 D . Int(Rnd(1)*5)+1
在VB中,下列函数返回值最小的是(  )
A . Sqr(9) B . Abs(﹣3.2) C . int(-3.2) D . Len(“3.2“)
有如下WB程序段:

Dim n As Integer, i As Integer, a As Integer, b As Integer

Randomize

n=5:i=1

Do While i <=n

a= Int(Rnd*90)+ 10

b= Int(Rnd*90)+ 10

If a>b Then

List1.AddItem Str(a)+"-"+ Str(b)+“=“

i=i+1

End If

Loop

执行该程序段后,下列说法正确的是(  )

A . a可能大于b,也可能小于等于b B . Do While i<=n一定执行6次 C . a和b都是两位数的整数 D . List1中输出的减法算式小于等于5条
有如下Visual Basic语句,书写格式正确的是(  )
A . Label1.caption=“Hello!” B . Label1.caption=(-b+sqr(b^2-4ac))/2 C . List1.AddItem=“Hello!” D . Text1.text=str(“Hello!”)
有如下VB程序段:

s=0

For k =3 To 1 Step-1

    If k <=1 Then x=1

    If k <=2 Then x=2

    If k <=3 Then x=3

    s=s+x

Next k

Text1. Text= Str(s)

该程序段运行后,文本框Text1中显示的内容是(  )

A . 9 B . 7 C . 6 D . 5
用蒙特卡洛法求圆周率PI的近似值,其算法如下:使用随机函数Rnd,随机生成两个[0,1)之间的随机数,由此构成一个投点坐标(x,y),然后根据x2+y2≤1判断投点是否在圆内来求PI的近似值。其中总共随机投点n次,统计落点在单位圆(第1象限)内的点数为s,则4s/n即为所求PI的近似值程序界面图所示,在Text1中输入投点的个数,单击“计算”按钮,PI的近似值结果显示在Text2文本框中。

  1. (1) 要使得“计算”按钮的宽度增加,应修改该对象的属性。
  2. (2) 为实现上述功能,请在划线处填入合适的代码。

    Private Sub Command1 _Click( )    ‘蒙特卡洛法

    Randomize    ‘随机数初始化

    Dim i As Long, n As Long, s As Long

    Dim x As Double, y As Double, z As Double

    n =Val(Text1. Text)

    i=1

    s=0

    Do While < = n ‘随机投点n次

        x= Rnd : y = Rnd

        z =     ①   

        If z < = 1 Then

           ②    

        End If

        i=1+1

    Loop

    Text2. Text =    ③    

    End Sub

     ② ③ 

已知某数据加密方法如下:

A) 将英文字符的ASCII码值加20(十进制) ;

B)以字节为单位进行加密处理;

C)将1个字节的8位二进制数左移一位,最低位用左移出的最高位填充;

D)将处理后的8位二进制数分割成前4位与后4位两个二进制数;

F)分别将上述两个4位二进制数转换为十六进制数;

G)所得两个十六进制数码交换顺序后连接,即为该字节的密文。

按照上述规则,小明设计了一个解密的VB程序,功能如下:单击“解密”按钮Command 1,程序依次将文本框Text 1中字符提取(只有0到9、A到F),进行解密处理,并输出在文本框Text 2中,程序运行效果如图所示。请回答下列问题:

  1. (1) 已知明文是A9(已知大写字母A的ASCII值为65D,数字0的ASCII值为48),则对应的密文是
  2. (2) 请在划线处填入合适代码。

    Private Sub Command 1 Click() 

      Dim mw As String,mingw As String,ch As String

      Dim i As Integer, k As Integer,j As Integer,t As Integer,p As Integer

      Dim a( 1 To 8) As Integer

      mw=Text 1.Text

      For i= 1 To 8

          a(i)=0

      Next i

      For i=1 To Len(mw)

         ch=Mid(mw,i,1)

         If ch>=“0”And ch<=“9”Then

              t=Val(ch)

         Else

             t=  ① 

        End If

        j=0

        Do While t<>0

          j=j+1

          a(  ②  )=t Mod 2

          t=t\2

        Loop

        If i Mod 2= 0 Then

          k=a(8)

          For j= 1 To 7

              ③ 

          Next j

          If k-20>=0 And k-20<= 127 Then

              ④ 

           For j= 1 To 8

               a(j)=0

          Next j

         Else

            mingw=“输入错误”

         End If

          End If

         Next i

        Text 2.Text=mingw

    End Sub

     ② ③ ④ 

奇偶校验是一种校验数据传输正确性的方法。其中奇校验方法:统计二进制数据的数位中“1”的个数,若个数为奇数,则校验位值为0,否则校验位值为1。小李编写了一个计算奇校验位值得VB程序,功能如下:在文本框Text1中输入1~255十进制待校验数,单击“计算”按钮Command1后,在文本框Text2中显示该数对应的二进制值,并在标签Label3中显示该数的校验位值。程序运行界面如图所示。

  1. (1) 在设计程序界面时,要清空文本框中的显示内容,应修改该文本框中的属性。
  2. (2) 实现上述功能的VB程序如下,请在划线处填入合适代码。

    Private Sub Command1_Click()

     Dim a As Integer, s As String

     Dim n As Integer, t As Integer, v As Integer

     n = Val(Text1.Text)

     t = 0

     s = ""

     Do While n > 0

    a = n Mod 2

    n = n \ 2

    t=①

    s = "Str(a)" + s

     Loop

     v = t Mod 2

     Text2.Text = s

     Label3.Caption = "校验位值:" +②

    End Sub

  3. (3) 运行该程序,在文本框Text1中输入22,单击“计算”按钮,则显示的校验位值是
(加试题)数组a中存储的是一组正整数,特征是:①以三个数为一组的话,每组中任意一个数都比前面一组中的任意一个数要大;②每组中三个数依次递减;③数组中数的总个数为3的倍数。依据对分查找思想,设计一个在数组a中查找数据key的程序。实现该功能的VB程序如下,但加框处代码有错,请改正。

……

Private Sub Command1_Click()

 Const n = 15

 Dim a(1 To n) As Integer, search As Integer, key As Integer

 Dim i As Integer, j As Integer, m As Integer

'读取一组正整数,按上述规则存入数组a中,代码略。

 key = Val(Text1.Text)

 i = 1: j = n: search = 0

 Do While i <= j

 m = (i + j) \ 2

 If m Mod 3 <> 0 Then      '① 把m调整到三个一组的最后一个数的位置

 If key = a(m) Then

 search = m : Exit Do

ElseIf key < a(m) Then

 j = m - 3

 ElseIf Then      '②

 i = m + 1

 ElseIf key = a(m - 2) Then

 search = m - 2 : Exit Do

ElseIf key = a(m - 1) Then

 search = m - 1 : Exit Do

Else

 search = 0 : Exit Do

 End If

 Loop

 If search <> 0 Then

 Text2.Text = Str(search)

Else

 Text2.Text = "找不到"

 End If

End Sub

加①

下列程序段的功能为:去除数组 a(1)到 a(n)中的“0”元素,并将非 0 元素按原顺序输出。如数组元素 a(1)到 a(8)的值依次为“2,0,2,0,0,7,0,7”,处理后 a(1)到 a(4)的值依次为”2,2,7,7”,原顺序输出为:“2 2 7 7”。

k = 0: s = ""

For i = 1 To n

   

Next i

Text1.Text = s

方框中的代码由以下四部分组成:

①If a(i) = 0 Then k = k + 1

②If p = k Then s = s + Str(a(i - k))

③a(i - k) = a(i)

④p = k

代码顺序正确的是(    )

A . ④①②③ B . ④①③② C . ③④①② D . ③④②①
在Python中,实现多分支选择结构的较好方法是(    )。
A . if   B . if-else C . if-elif-else D . if嵌套
网店接受了大量的订单,如何安排发货呢?实际上,网店在处理订单时,一般采取“先下单,先发货”的原则,阅读下面的Python程序,下列选择中正确的是(      )

listque=[]               #定义列表listque存储订单

x=0

while(x!=4):

    print('1. 添加订单')

    print('2. 发货')

    print('3. 查看订单列表')

    print('4. 退出')

    x=int(input("输入你的选择:"))

    if x==1:

        y=input("输入订单编号:") 

        listque.append(y)

    elif x==2:

        if len(listque)==0:

            print("订单列表为空")

        else:

            print("发货单号:"+listque.pop(0)) 

    elif x==3:

        print("等待发货:",listque)

    print( )

input("运行完毕,请按回车键退出...")

A . listque.append(y)增加订单编号,listque.pop(0)出货,删除订单编号 B . listque.append(y)增加订单编号,listque.pop()出货,删除订单编号 C . 此程序的数据结构是先进先出的栈 D . 如此程序的数据结构是先进先出的“队列”,可以用listque.insert(y)代替listque.append(y)插入添加订单
小辉用Visual Basic制作了一个动画程序,部分程序代码如下所示

Dim a As Integer

Private Sub Command1_Click()

    Timer1.Enabled = True

   

End Sub

Private Sub Timer1_Timer()

    a = a + 1

    Image1.Picture = LoadPicture(App.Path & "\" & a & ".jpg")

    If a >= 8 Then a = 0

End Sub

单击命令按钮Command1,加框处语句执行的时间间隔为(   )

A . 0.1秒 B . 1秒 C . 10秒 D . 100秒
在调查时还发现人们更倾向于选择数字对称的车牌号,如车牌号“浙 H64M46”。于是小石编写了一个判断车牌号是否对称的代码,Python程序如下:

cp=input("请输入车牌号(格式如“浙 H64M46”):")

s1=cp[2:4]

s2=   ①   

if   ②    :

  print("不是对称车牌")

else:

  print("是对称车牌")

为实现功能,划线处代码应为(     )

A . ①cp[6:5:-1] ②s1==s2 B . ①cp[5:] ②s1!=s2 C . ①cp[5:6] ②s1==s2 D . ①cp[:-3:-1] ②s1!=s2
某班级学习小组成员的分组情况以及学员成绩分别用Python存储在students和scores中。若students={"第一组":["小红","小明","小张"],"第二组":["小黄","小霞","小斌"],"第三组":["小蓝","小华","小诚"]},scores=[{"小红":90,"小明":80,"小张":75},{"小黄":86."小霞":70,"小斌":89},{"小蓝"67,"小华":90,"小诚":77}],则要访问第一组第2位学员姓名以及小明学习成绩的表达式为(    )
A . students["第一组"][1],scores[0]["小明"] B . students["第一组"][1],scores[1]["小明"] C . students["第一组"][2],scores[0]["小明"] D . students["第一组"][2],scores[1]["小明"]
有如下Python程序段:

a="2021"

b="21"

if a+b>b+a:

    c=a*3

else:

    c=b*3

print(c)

程序执行后,输出的结果是(   )

A . "202120212021" B . "202121" C . "212121" D . "212021”
下列程序的运行结果是(    )

PRIVATE SUB FORM_CLICK( )

  X=3 : Y=12

  IF X>2 THEN Y=3

  Y=5

  PRINT Y

END SUB

A . 2 B . 3 C . 5 D . 无结果
在Python程序设计语言中,表达式17%2的值为1。
listl=["a",3,"b",10]

listl.pop(3)

print(listl) 的值为()

A . [3,10] B . ['a', 3, 'b'] C . ["b",10] D . [3,"b"]
在Python中,语句x=input(‘请输入你的身高:’)的数据类型是(      )
A . 整数型 B . 浮点数型 C . 字符型 D . 引用型