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

将数学表达式sin(e3)+ 写成Visual Basic的表达式,其正确的形式是(  )
A . sin(exp(3))+sqr(abs(x+y)) B . sin(e^3)+sqr(abs(x+y)) C . sin(exp(3))+sqr(|x+y|) D . sin(e^3)+sqr(|x+y|)
有一个数组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. (1) 与①处语句功能一样的是(填字母)(A .Dim data(0 To 10) As Integer/B .Dim data(1 To 10) As Integer)。
  2. (2) 为实现程序功能,请在划线处填入合适的代码。

    ②处的代码为。  

    ③处的代码为。  

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

i = 1: j = 8: s = ""

key =Text1.Text

Do While i <= j

  m =(i + j) \ 2

  If key = a(m) Then

   s = s + "M"

   Exit Do

  ElseIf key > a(m) Then

   j = m - 1: s = s + "L"

  Else

   i = m + 1: s = s + "R"

  End If

Loop

Text1.Text = s

数组元素a(1)到a(8)的值依次为“4,22,27,32,35,44,56,59”,该程序段执行后,文本框Text1中显示的内容不可能是(  )

A . M B . LR C . RM D . LM
小红编写了一个将5位以内的十六进制正整数转化成十进制数的VB程序,功能如下:在文本框Text1中输入一个十六进制正整数,单击“转换”按钮Command1,在标签Label3中显示结果。程序运行界面如图所示。

  1. (1) 要使窗体Form1标题显示“数制转换”,则需修改窗体的(单选,填字母:A .Font/B .Caption/C .BackColor)属性.
  2. (2) 实现上述功能的VB程序如下,请在划线处填入合适的代码。

    Private Sub Commandl_Click ()

    Dim x As String,ch As String

    Dim flag As Boolean,i As Integer,result As Long

    x =   ①   

    i = l

    result = 0

    flag = True

    ch = Mid(x,1,1)

    Do While i <=Len(x)And flag =True

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

        result = result * 16 + Val(ch)

      Elself ch>="A"And ch <="Z" Then

        result =result * 16 +(Asc(ch)- Asc("A")+10)

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

        result = result * 16 +(Ase(ch)- Ase("a")+ 10)

      Else

        flag = False

      End If

      i = i + l

      ch =   ②   

    Loop

    If flag = True Then

      Label 3.Caption =Su(result)

    Else

      Label3.Caption ="输入错误"

    End If

    End Sub

  3. (3) 若在文本框Text 1中输人5+9,单击“转换”按钮后,标签Label3中显示的内容是(单选,填字母:A .14/B .E/C .输入错误)。
有如下VB程序段:

a(1)=1:a(2)=1

b(1)=1:b(2)=2

For i=3 To 5

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

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

Next i

执行该程序段后,数组元素b(5)的值为(  )

A . 12 B . 8 C . 5 D . 4
在JavaScript脚本中,注释多行的语句是(    )
A . //注释的内容 B . /*注释的内容*/ C . /%注释的内容%/ D . <!---注释的内容--->
下列VB程序段的功能是将数组元素a(1)到 a(n)进行排序:

For i = n To 2 Step -1

  For j =

    If a(j) > a(j + 1) Then

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

    End If

  Next j

Next i

上述程序中方框处可选语句如下,则应填入的语句为(    )

①1 To i - 1      ②n - 1 To i Step -1           ③1 To n - i      ④n - 1 To n - i + 1 Step -1

A . ①或② B . ①或④ C . ③或④ D . ②或③
有一批货物,已知每件货物的重量和货架号,机器人在可承受的载量范围内,每趟按货物顺序连续装载尽量多的货物,并将各货物送到其货架号相应的货架上。如图a所示,货架构成是环形结构,货架是按顺时针方向从1到10进行编号,第10号货架(即图中A处)不装货物,机器人在A处装载货物。每趟装载货物后,机器人按所装载货物的倒序配送货物,配送过程中尽可能走更短的路线,例如:某趟机器人所装载货物的货架号依次为:3,1,7,9,则机器人按倒序配送货物的路线如图a中带箭头虚线所示,配送完成后回到A处继续下一趟配送任务。现要求在限定配送趟数内完成任务时,计算机器人所能承受装载的最大重量至少为多少?机器人完成所有趟数的配送任务并回到A点的总行程是多少?

图 a

小李编写VB程序实现上述功能:在列表框List1中按货物顺序显示其重量和货架号,在文本框Text1中输入机器人送货趟数,单击“结果”按钮Command1后,标签Label3和Label4中分别显示要求机器人可承受的最大载重最小值和送货总行程。程序运行界面如图b所示。

图 b

请回答下列问题:

  1. (1) 如图b所示,机器人最大载量达到20时,机器人第3趟配送的货物数量是件。
  2. (2) 实现机器人送货功能的VB程序如下,请在划线处填入合适的代码。

    Const num = 8     '货物数量

    Const shelf = 10     '货架数量,1-9号货架可供存储货物,第10号货架用作机器人装货点

    Dim g(1 To num) As Integer      '各货物的重量

    Dim s(1 To num) As Integer       '各货物的货架号

    Private Sub Form_Load()

    '从数据库中读入num件物品的重量、货架号,分别存储在数组g、s中

    '将各物品数据显示在list1中,代码略。

    End Sub

    Private Sub Command1_Click()

    Dim i As Integer, j As Integer, n As Integer, max As Integer, total As Integer

    Dim head As Integer, tail As Integer, dis As Integer, part As Integer

    total = g(1)

    For i = 2 To num

    If g(i) > max Then max = g(i)

    total = total + g(i)

    Next i

    n = 0

    For i = max To total

    part = 0: n = 0: head = 1: dis = 0

    For j = 1 To num

    part = part + g(j)

    If part > i Then

        n = n + 1: j = j - 1: tail = j

        dis = dis + tran(head, tail)

        part = 0: head = tail + 1

    End If

        Next j

    If part > 0 Then

    n = n + 1

    dis = dis + tran(head, tail)

    End If

    If n <= Val(Text1.Text) Then Exit For

    Next i

    Label3.Caption = "机器人可承受的最大载量至少为:" + Str(i)

    Label4.Caption = "机器人完成各趟任务的总行程为:" + Str(dis)

    End Sub

    Function tran(p As Integer, q As Integer) As Integer '计算机器人每趟按装货倒序配送并回到A 处的行程

    Dim temp As Integer, t1 As Integer, t2 As Integer, k As Integer

    temp = 0: t2 = shelf

    For i = q To p Step -1

    t1 = t2: t2 = s(i)

    k = 

    If k > (shelf + 1) \ 2 Then k = shelf - k

    temp = temp + k

    Next i

    If t2 <= shelf \ 2 Then temp = temp + t2 Else temp = temp + shelf - t2

    tran = temp

    End Function

用于求变量s值的算法如下:

①变量s的初值是0,变量n的初值是1;

②若变量n的值大于100,则转到步骤⑤;

③s←s+(-1)n-1×n;

④n的值增加1,转到步骤②;

⑤输出s的值;

⑥结束。

下列数学表达式中,其计算结果与上述算法执行后变量s的值相等的是(     )

A . 1+2+3+…+100 B . -1-2-3-…-100 C . 1-2+3- 4+…-100 D . -1+2- 3+…+100
字符串,由数字、字母和“-”组成,现以“-”为分组标记,作如下处理:数字往后移5个,如0→5,3→8,6→1;各组字母倒序放在本组前面;“-”不作处理。如字符串“t37-9Yg-52r-”,经过处理后变为“t82-gY4- r07-”。下列VB程序段实现该算法:

Const mw = "0123456789"

S = Text1.Text: s1 = "":s2 = ""

For i=1 To Len(s)

    C = Mid(s,i,1)

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

               

               

        s1 = s1 + c

    ElseIf c = "-" Then

        s2 = s2 + s1 + c

        s1 = ""

    Else

               

    End If

Next i

① t =(Val(c)+5) Mod 10

② c = Mid(mw,t,1)

③ s1 = c + s1

④ t=(Val(c)+4) Mod 10+1

⑤ c= Mid(mw,t+1,1)

⑥ s1 = s1 + c

则填空处的代码应该是(    )

A . ①②③ B . ④⑤⑥ C . ①⑤③ D . ④②⑥
若两个素数之差为2,则该对素数称为双胞胎数,如3,5就是一对双胞胎数。编写python程序,实现如下功能:输入n的值,统计显示n以内的所有双胞胎数。程序运行界面如图所示:

实现上述功能的程序如下,请在划线处填入合适的代码。

def isprime(x):

    for i in range(2,x):

        if  :

            return False

    return True

n=int(input("请输入一个正整数 n:"))

c=0

k=3

while k<=n-2:

    if isprime(k) and  :

        print(k,k+2)

        

    k=k+1

print("共有"+str(c)+"对双胞胎数")

利用Python求100以内所有能被3整除的正整数,代码如下:

图片_x0020_100004

则下列程序第3行的横线应该填(    )

A . i=i*3 B . i=i%3 C . i%3==0 D . i/3==1
VB表达式Int(Rnd*2) *30+ 10+ Int(Rnd * 100) Mod 10的值可能是(    )
A . 6 B . 16 C . 26 D . 36
空气污染API值小于等于50,说明空气质量为优。API值不超过50时可以表示为
下面代码运行结果是(       )。

info=[3,7,4,9,11,23,6]

sum=info[1]+info[6]+info[-4]

print(sum)

A . 33 B . 22 C . 17 D . 30
下列FOR语句格式正确的是(      )
A . FOR A= 1 TO 3

    ……

NEXT B

B . FOR A= 1 TO 3

    ……

NEXT

C . FOR A = 9

    ……

NEXT A

D . FOR A= 6 TO 20
下列VB表达式中,值最大的是(    )
A . Asc (Chr(65)) - 60 B . Int(-53/10)+10 C . 41Mod22\3 D . Val("1"+ "2")
阅读下列程序,写出运行结果。

程序运行后,输入:2021

运行结果是:

Python中常用于获取用户键盘输入的函数是(    )
A . input() B . pow() C . eval() D . print()
程序代码如下:

>>>n=4

>>>print(n)

4

>>>n=n+1

>>>print(n)

n的值为(     )

A . 2 B . 3 C . 5 D . 6
最近更新