第2单元 编程计算 知识点题库

若x表示能被5整除的正整数,则下面逻辑表达式的值一定为真的是:(   )
A . Int(x / 5) = 0 B . 5 Mod x = 0      C . x Mod 5 = 0 D . x\5 = 0
请看下列伪代码。程序最后输出的P值是(     )

I=0

P=0

DO WHILE P<10

  P=P+I

  I=I+2

LOOP

PRINT P

A . 6 B . 12 C . 14 D . 8
小王编写了一个进制转换程序,实现如下功能:在文本框Text1中输入一个二进制数,单击“计算”按钮Command1,在文本框Text2中将显示出其对应的十六进制数。程序运行界面如下图所示:

  1. (1) 要使程序启动时,自动清空文本框的 Text1 中的内容,则可以在(单选,填字母:A .Command1_click / B .Text1_click / C .Form_load)事件处理过程中添加语句 Text1.Text= ""
  2. (2) 实现上述功能的 VB 程序如下,请在划线处填入合适的代码

    Private Sub Command1_Click()

    Dim s As String, s1 As String, t As Integer, c As Integer

    Const code = "0123456789ABCDEF"

    s = Text1.Text

    t = 0: s1 = ""

    For i = Len(s) To 1 Step -1

      c = Val(Mid(s, i, 1))

      t = t + c * 2 ^ ((Len(s) - i) Mod 4)

      If (Len(s) - i + 1) Mod 4 = 0 Or   ①   Then

        ② 

      t = 0

    End If

    Next i

    Text2.Text = s1

    End sub

     ② 

  3. (3) 如果没有第①处划线部分的条件,当输入的二进制数为 1101011,则 Text2 中显示的内容为
在VB中,有如下事件处理过程代码:

Private Sub Command1_Click()

  Dim s As Double

  s = 0

  Do While s <> 5

    s = s + 2

  Loop

  Label1.Caption = Str(s)

End Sub

该事件处理过程代码违背了算法特征中的(   )

A . 确定性 B . 有穷性 C . 有输出 D . 有0个或多个输入
运行如下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 .
运行如下Visual Basic程序,单击命令按钮Command1,出现如图所示的出错信息。

Private Sub Command1_Click()

 Dim a As Integer,b As Integer

 a=10    ‘①

 b=20    ‘②

 Text1.Text=“a+b=”+Val(a+b)    ‘③

End Sub    ‘④

发生“类型不匹配”错误时所执行的语句是(  )

A . B . C . D .
下列VB表达式的值等于128的是(  )
A . Abs(Int(-128.3)) B . Val(Str(120)+“8”) C . 2^8\6/3 D . Mid(“3612876”,3,3)
有如下 VB 程序段:

a = a + b b = a - b a = a - b

下列选项中,和以上程序段功能相同的是(  )

A . B . C . D .
汇编语言是语言,采用代替机器指令,比机器语言容易识别和记忆,从而提高了程序的可读性。汇编语言属于级语言。
   在Python语言中,是实现图形用户界面的模块,可以快速创建
下面关于算法的描述,错误的是(    )
A . 可以使用自然语言来描述算法 B . 可以使用流程图来描述算法 C . 同一种算法只能用一种程序语言来实现 D . 同一种算法可以用不同的程序语言来实现
小明经常将数学运算符与Python运算符相混淆导致程序出错,请你帮他将下列错误的表达式改写成正确的Python表达式。

数学问题

错误的表达式

正确的表达式

⑴判断a是否能被b整除

a//b=0

⑵求二进制数1011的十进制数值

1×23+0×22+1×21+1×20

关于Python语言的特点,以下选项描述正确的是(   )
A . Python语言不支持面向对象 B . Python语言是解释型语言 C . Python语言是编译型语言 D . Python语言是非跨平台语言
下面是求三角形面积的VB程序,但有3处错误,请你找出来并修改。

Private Sub Command1_Click()

    Dim As Single, b As Single, c As Single, p As Single, s As Single

    a≡Val(Text1. Text)

    b=Val(Text2. Text)

    c=Val(Text3. Text)

    p=(a+b+c)/2

    If a<=p Or b>=p Or c>=p Then

        Label1. Caption="不能构成三角形"

    Else

        s=Sqr(p*(p-a)*(p-b)*(p-c))*p

        Label1. Caption="面积为"& s

    End If

End Sub

某算法的部分流程图如图所示,执行这部分流程,若输入y,m,d的值分别是2021,5,28,则输出的结果是(    )

A . 146 B . 147 C . 148 D . 149
在列表listaue中添加订单号”y5617”,正确的是(    )
A . listaue[]=“y5617” B . append(“y5617”) C . listaue[“y5617”] D . listque.append(“y5617”)
某仓库物品代码格式为“X-XXX-XXXXX-Y”,其中“X”和“Y”均为0到9之间的数字,“Y”为校验码。校验码由前面9个X计算得到,计算方法为:从左边开始,第1个数字乘以1 加上第2个数字乘以2……依此类推,直到加上第9个数字乘以9,将该结果除以10,所得余数即为校验码。

小吴设计一个根据校验码校验物品代码的VB程序,功能如下:在文本框Text1中输入物品代码,单击“校验”按钮Command1,如果输入的校验码与计算所得的校验码一致,则输出“校验通过。”(如下左图所示),否则输出“校验不通过!”(如下右图所示)。

 

实现上述功能的VB程序如下

Dim s As String    '用于存储输入的物品代码

Dim t As String

Dim i As Integer, j As Integer

Dim sum As Integer      '用于存储计算校验码的累加和

Dim check_old As Integer    '用于存储输入物品代码中的校验码Y

Dim check_new As Integer    '用于存储按照前面9个数字X计算所得的新校验码

Dim a(1 To 10)As Integer

Private Sub Command1_Click()

    '从物品代码中取出9个数字X依次存储到a(1)到a(9)中,取出校验码Y存储到a(10)中

    s= Text     ⑴

    j=0

    For i=1 To 13

        t=Mid(s,i,1)

        If(t>="0")And(t<="9") Then

            j=j+1

            a(j)=Val(t)

        End If

    Next i

    '计算新的校验码并和输入的校验码进行比较

    sum=0

    For i=1 To 9

        sum=sum+      ⑵

    Next i

    check_new=       ⑶

    check_old=a(10)

    If check_old=check_new Then

        Label1.Caption="校验通过。"

    Else

        Label1.Caption="校验不通过! "

    End If

End Sub

加框处代码有错,请改正。

 ⑵ ⑶ 

以下VB程序实现把文本框Text1和Text2中输入的升序字符串s1和s2合并成一个升序字符串s,并在文本框Text3中显示。如s1为“aceghi”,s2为“bdf”,合并结果为“abcdefghi”。

s1 = Text1.Text : s2 = Text2.Text

i = 1: j = 1: k = 1

Do While    ⑴   

    If j > Len(s2) Or i <= Len(s1) And Mid(s1, i, 1) < Mid(s2, j, 1) Then

          ⑵ 

    Else

          ⑶ 

    End If

Loop

Text3.Text = s

上述程序段3个方框处的代码分别为(    )

A . B . C . D .
在Python中输入一个三位自然数,然后把这个数的百位数与个位数对调,输出对调后的数。

n=int((“请输入一个三位数:”))

a=n//100

b=

c=n % 10

print(“个位和十位对调后的三位数为:”,)

试卷运送。五校联考就要到了,本次负责安排运送试卷的路线的是TBY。由于各所学校都参与了一些科目命题工作,所以目前每个学校里都有几个科目的试卷。为了节省运输费用,TBY想要找到一种能连接所有学校且线路总长最短的方案。

一共有n(3<=n<=100)个学校,各所学校之间的线路长度以一行共n*n个数据输入,

第i组的n个数据为从第i个学校出发到其他学校的线路长度,保证第i组的第i个数据为0。

编写VB程序,实现上述功能。运行程序,在文本框Text1中输入学校总数,

在文本框Text2中按题述方法输入各校之间的距离,点击命令按钮Command1后,在标签Label1中显示最短的线路总长。程序运行界面如图所示。

请回答下列问题:

  1. (1) 若n=4,各校距离为0242831240352528350303125300,则最短的线路总长为
  2. (2) 实现上述功能的VB程序如下,请在划线处填入合适代码。

    Const INF = 2147483646

    Dim n As Long, a As Long

    Dim dis(1 To 10001) As Long, flag(1 To 10001) As Boolean

    Dim head(1 To 10001) As Long, nxt(1 To 10001) As Long

    Dim ed(1 To 10001) As Long, value(1 To 10001) As Long

    Dim cnt As Long, tby As Long, sss As String

    Dim i As Long, j As Long

    Private Sub Command1_Click()

        cnt = 0

        n = Val(Text1.Text)

        For i = 1 To n

            dis(i) = INF : flag(i) = False : head(i) = 0

        Next i

        tby = 1

        sss = Text2.Text

        For i = 1 To n

            For j = 1 To n

               

                If i <> j Then Call addedge(i, j, a)

            Next j

        Next i

        Dim ans As Long

        dis(1) = 0 : ans = 0

        For i = 1 To n

            Dim hg As Long, u As Long

            hg = INF

            u = 0

            For j = 1 To n

                If  Then

                    hg = dis(j)

                    u = j

                End If

            Next j

           

            flag(u) = True

            Dim p As Long

            p = head(u)

            Do While p <> 0

                Dim v As Long

                v = ed(p)

                If Not flag(v) And dis(v) > value(p) Then

                    dis(v) = value(p)

                End If

                p = nxt(p)

            Loop

        Next i

        Label1.Caption = Str(ans)

    End Sub

    Sub addedge(a As Long, b As Long, x As Long)

        cnt = cnt + 1

        value(cnt) = x

        ed(cnt) = b

        nxt(cnt) = head(a)

        head(a) = cnt

    End Sub

    Function Getin() As Long

        Dim aaa As String

        aaa = Mid(sss, tby, 1)

        If aaa = " " Then tby = tby + 1

        aaa = Mid(sss, tby, 1)

        Dim bbb As Long

        bbb = 0

        Do While aaa <> " " And tby <= Len(sss)

            bbb = bbb * 10 + Val(aaa) : tby = tby + 1

            aaa = Mid(sss, tby, 1)

        Loop

        Getin = bbb

    End Function