相关试卷

  • 1、如果一个数从左往右读和从右往左读都一样,那么这个数就叫做“回文数”。如果一个数的十进制和二进制表示都是回文数,则把这个数叫做“双重回文数”。例如,十制数33是回文数,将其转化为二进制表示(10001)也是回文数,所以33是双重回文数。编写程序用于查找1000以内的双重回文数。
    (1)、根据题目描述,十进制数99是否是“双重回文数”(填:是/不是)。
    (2)、实现上述功能的VB程序如下,请在划线处填入合适代码。

    Private Sub Command1_Click()

    Dim n As Integer, d As String, b As String

    For i = 1 To 999

    n=i

    d=CStr(n)            'CStr函数的功能是数值转换为字符串

         ①    

    If ishws(d)Aind ishws(b)Then

    List1.AddItem Str(i)+" "+b

    End If

    Next i

    End Sub

    Function dtob(k As Integer)As String '进制转换

    Do While k >0

    dtob =CStr(k Mod 2)+ dtob

    k=k\2

    Loop

    End Function

    Function ishws(x As String)As Boolean

    ishws = True

    For j=1 To Len(x) \2

    If     ②    Then

    ishws = False

    Exit For

    End If

    Next j

    End Function

  • 2、学校把各同学选考组合放在一个数据库中,小明编写了一个VB程序,用于查询每个同学的选考组合,程序界面如图所示,在文本框Text1中输入学号,单击“开始查询”按钮(Command1),就开始查找该学号的信息,如果找到对应的信息,就显示所属学生的姓名和选考组合;如果没有找到,则显示“找不到”。学校共有n名学生,数组a、b分别保存了本次考试所有学生的学号和姓名信息。数据库数据按学号从小到大排列,第i个学生的学号保存在a(i),对应的姓名保存在b(i),c(i)保存该学生的选考组合。

    程序如下,在程序划线处填入适当的代码,把程序补充完整。

    Dim n As Integer, a(1000)As String,

    Dim b(1000)As String, c(1000)As String

    Private Sub Command1_Click()

    Dim x As String, pos As Integer

    Dim conn As New ADODB. Connection,rs As New

    ADODB. Recordset

    conn. ConnectionString="provider =Microsoft. AC

    A.OLEDB.12.0; data source="&.App. Path&"\students.accdb"

    conn. Open

    Set rs. ActiveConnection = conn

    rs. Open"学生信息"

    n=0             '考生数初始化

    Do While Not rs. EOF

    n =n+1

    a(n)=rs. Fields(0)

    b(n)=rs. Fields(1)

    c(n)=rs. Fields(2)

         ①   

    Loop

    x = Text1.Text

    If pos >0 Then

         ②   

    Text2.Text=b(pos)

    Text3.Text =c(pos)

    Else

    Text2.Text="找不到"

    End If

    End Sub

    Function Search(Key As String)As Integer

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

    i=1: j=n: Search =0

    Do While i <=j m=Fix((i+j)/2)

    If Key =a(m)Then

         ③   

    Exit Function

    Else lf a(m)> Key Then

    j=m-1

    Else

    i=m+1

    End If

    Loop

    End Function

     ② ③

  • 3、在VB中,将一个二进制数转化成十六进制的自定义函数代码如下,请在程序划线处填入合适的代码。

    Function btoh(s As String)As String

    Dim i As Integer, s1 As String, t As Integer

    Dim str As String, j As Integer

    str="0123456789ABCDEF"

    i= Len(s)

    Do While i >=1

    If    ①     Then

    s1= Mid(s, i-3, 4)

    Else

    s1 = Mid(s; 1, i)

    End If

    t=0

    For j =1 To Len(s1)

    t=    ②  

    Next j

    btoh = Mid(str, t + 1, 1)+btoh

    i=i-4

    Loop

    End Function

     ② 

  • 4、有VB自定义函数的功能是求两个数之间被3除多2,被5除多3的所有整数个数,请在程序划线处填入合适的代码。

    Function f(x1 As Integer, x2 As Integer)As Integer

    Dim t As Integer, i As Integer

    If x1 <x2 Then t=x1: x1=x2: x2=t

    For i=     ①   

    If i Mod 3=2 And i Mod 5 = 3 Then     ②  

    Next i

    End Function

     ② 

  • 5、用26个互不重复的ASCI字符作为密码本,根据英文字母在字母表中位置,替换为密码本该位置的字符。现编写将英文字母加密的VB程序,在文本框Text1中输入明文,单击“加密”按钮Command1,在文本框Text2、Text3中输出产生的密码本和密文。程序运行界面如下图所示。

    实现上述功能的VB代码如下,但加框处代码有错,请改正。

    Private Sub Command1_Click()

    Dim i As Integer, mw As String, jm As String

    mw= Text1.Text: Text2.Text = my(26)

    For i =1 To Len(mw)

    c= Mid(mw, i, 1)

    If c>="A" And c<="Z" Or c>="a"

    And c<="2"Then

           ‘①

    jm =jm+ Mid(Text2.Text, t, 1)

    Else

    jm=jm +c

    End If

    Next i

    Text3.Text =jm

    End Sub

    Function my(n As Integer)As String

    Dim s As String, i As Integer, x As Integer

    s ="ABCDEFGHIKLMNOPQRSTUVWXYZabc-defghijklmnopqrstuvwxyz0123456789"

    i=1

    Do While i <=n

    t=63-i

    x =Int(Rnd()*t+1)

           ‘②

    s = Mid(s, 1, x-1)+ Mid(s, x+1, t-x)

    i=i+1

    Loop

    End Function

     ② 

  • 6、数组 a 规模为(m+1)×n,其中 a(1) ~a(m ∗ n)元素中存储数据,数据中m×n个元素按行序排列成一个数字矩阵如图所示。计算每列数据的和,并依次存储在m+1行对应的数组元素中。

    依据该算法思想,设计一个VB程序,实现该功能的代码如下,请回答下列问题。

    (1)、根据代码可知,该程序的按钮对象名是
    (2)、在程序划线处填上合适代码。

    Const m = 6

    Const n = 5

    Dim a(1 To (m + 1) ∗ n) As Integer

    Private Sub Form_Load()

    '数组初始化,生成 m×n 个两位数的随机整数并赋值给数组a

     Randomize

    For i = 1 To m ∗ n

     a(i)=    ①    

    Next i

    End Sub

    Private Sub Cod1_Click()

    Dim i As Integer, j As Integer

    For i = 1 To n

        ②    

    Next i

    '将计算后数据,按 m + 1 行,n 列输出到列表框中,代码略

    End Sub

    Function sum(y As Integer) As Integer         '函数功能是计算每列数据和

    sum = 0

    For i =     ③     

     sum = sum + a(i)

    Next i

    End Function

     ② ③

  • 7、有一数组 a 具有 n(1≤n≤100)个元素,分别为 a(1)到 a(n),数组元素都为正整数且有可能相等。对于每一个数组元素,如果它后面存在大于或等于该元素的数,则这两个数可以组成一对。每个元素和自己也可以组成一对。例如:{3,7,2,4,8},可以组成 11 对,分别为(数字为下标):(1,1),(1, 2), (1, 4), (1, 5), (2, 2),(2, 5), (3, 3), (3, 4), (3, 5), (4, 4), (4, 5), (5, 5)。其中(1, 5)是距离最远的一对,距离为4。小明编写了一个VB程序,用于计算n个数组元素的最远距离。具体功能如下:运行程序时,在列表框List1中显示n个数组元素,单击命令按钮Command1,在文本框中显示这n个数组元素的最远距离。运行效果如图所示。

    实现上述功能的 VB 代码如下。

    Const n = 5 'n=5为例

    Dim a(1 To n) As Integer           '用于记录每个数组元素的值

    Dim b(1 To n) As Integer         '用于记录每个数组元素在原数组中的下标

    Private Sub Form_Load()

    '读取一组正整数,存储在数组 a 中

    '将每个数组元素在原数组中的下标存储在数组 b 中

    '将数组元素显示在列表框 List1中

    '代码略

    End Sub

    Function Getans() As Integer

    Dim left As Integer, ans As Integer

    left = 10000: ans = 0

    For i = 1 To n

    If b(i) < left Then left = b(i)

    If b(i) - left > ans Then ans = b(i) - left

    Next i

    Getans = ans

    End Function

    Private Sub Command1_Click()

    Dim i As Integer, j As Integer, t As Integer

    For i = 1 To n

    For j = n To i + 1 Step -1

    If  Then

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

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

    End If

    Next j

    Next i

    Text1.Text =        

    End Sub

    (1)、代码“Private Sub Command1_Click( )”中表示加载在Command1上的事件是。(单选,填字母:A .Click/B ._Click/C .Command1_Click)
    (2)、程序代码中,IF 语句后加框处代码有误,请改正
    (3)、程序代码中,将 Text1.Text 赋值语句补充完整
    (4)、如程序运行界面所示数据,单击命令按钮 Command1后,数组元素 b(2)的值为
  • 8、某ASCII字符加密方法算法如下:

    ⑴计算出该ASCII字符的8位二进制数值

    ⑵将该数值分割为前4位与后4位两个二进制数

    ⑶分别将上述两个4位二进制数转换为十进制数

    ⑷将每个十进制数转换为1个加密字符,对应的“密码表”如下

    值(十进制)

    0

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    加密字符

    I

    1

    i

    k

    e

    C

    H

    N

    p

    o

    s

    t

    c

    a

    r

    d

    根据以上加密算法来推断解密算法,下表显示了字符串中两个字符的解密过程:

    小明设计了一个解密程序,功能如下:在文本框Text1中输入密文,单击“解密”按钮Command1,在文本框Text2中输出解密结果。程序运行时界面如下图所示。

    实现上述功能的VB程序如下,请回答下列问题:

    (1)、请在划线处填入合适的代码。

    Private Sub Command1_Click()

    Dim z As String, a As String, b As String

    Dim i As Integer, y As Integer

    z = Text1.Text

    Text2.Text =" "

    For i= 1 To      ①   

    a=Mid(z, i, 1)

    b= Mid(z, i+1, 1)

         ②   

    Text2.Text = Text2.Text + Chr(y)

    Next i

    End Sub

    Function zn(x As String)As Integer '得出加密字符对应密码表中的十进制数

    Dim m As String, i As Integer

    m ="IlikeCHNpostcard"

    For i =0 To 15

    If      ③      Then

    zn=i

    Exit For

    End If

    Next i

    End Function

     ② ③

    (2)、若已知字符“a”的ASCI1码值为97(十进制),加密字符HN对应的英文字母是
  • 9、对输人的明文(由英文字母或数字组成的字符串)进行加密,输出加密后得到的密文。数据加密方法为对明文中的每个字符进行如下处理:

    1)将该字符ASCI码转换成对应8位二进制;

    2)将对应8位二进制数进行按位取反(1变0;0变1);

    3)将产生的8位二进制数循环左移3次;

    4)最后产生的8位二进制数转换成对应的十六进制数。

    例如:明文大写字母“A”通过上述算法加密算法加密后生成的密文是“F5”,在文本框Text1中输入明文,单击“生成密文”按钮Command1,加密后生成的密文显示在文本框Text2中。

    (1)、如果输入明文为大写字母“F”,则生成的密文是
    (2)、请在划线处填入合适的代码。

    Function btoh(m As String)As String     ‘将4位二进制数转换成对应的十六进制数

    Dim s As Integer, i As Integer, str As String

    str ="0123456789ABCDEF": s=0

    For i=1 To 4

    s=s*2+ Val(Mid(m, i, 1))

    Next i

         ①     

    End Function

    Private Sub Command1_Click()

    Dim ans As String, s As String, ch As String, ret As String

    Dim i As Integer, asc1 As Integer, n As Integer

       ②    

    ans=" "

    For i = 1 To Len(s)

    ch =Mid(s, i, 1)      ‘取出第i个字符存入变量ch

    asc1=Asc(ch)

    ret" "

    For m =1 To 8      ‘完成加密步骤1)和步骤2)

    n=(asc1+1)mod 2

    ret =n & ret

        ③ 

    Next m

    ret = Mid(ret, 4, 5)+ Mid(ret, 1, 3)     ‘完成加密步骤3)和步骤4)

    s1=btoh(Mid(ret, 1, 4))

    s2 =btoh(Mid(ret, 5, 4))

    ans =ans & s1 & s2       ‘将第i个加密后的字符添加到变量ans的末尾

    Next i

    Text2.Text = ans

    End Sub

     ② ③

  • 10、小明编写了一个寻找奇妙整数的VB程序。此整数的平方与立方正好用了0~9的10个数且每个数只用一次,例如69的平方为4761,69的立方为:328509,4761和328509刚好用了0~9的10数,并且没有重复使用。现需从1至1000寻找这样的奇妙整数并在列表框List1中显示。实现上述功能的VB程序段如下:

    Private Sub.Command1_Click()

    Dim n As Integer, k As Integer, f As Boolean    ‘判断字符k是否重复出现

    Dim s1 As String, s2 As String, i As Integer, j As Integer

    For n= 1 To 1000

    For i =0 To 9

    a(i)= True

    Next i

    f = True

    s1=CStr(n^2)

    s2 =CStr(n^3)    ‘Cstr()函数的作用是将数字型变量改变成字符型变量

    For j = 1 To Len(s1)

         ①   

    If a(k)= True Then

    a(k)=False

    Else

    f = False

    Exit For

    End If

    Next j

    If     ②      Then

    j=0

    Do While j<=9

    If a(i)=True Then f=False: Exit Do

    j=j+1

    Loop

    If f = True Then List1. AddItem Str(n)

    End If

    Next n

    End Sub

    Function Judge(s As String) As Boolean

    Dim i As Integer, k As Integer

    i=1: Judge True

    Do While     ③   

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

    If a(k)=True Then

    a(k)=False

    Else

    Judge = False

    Exit Do

    End If

    i=i+1

    Loop

    End Function

    请在程序划线处填入合适的代码。

     ② ③

  • 11、下列VB程序用于求2个正整数(均小于10000)的最大公约数,请在程序划线处填入合适的代码。

    Private Sub Command1_Click()

    Dim x As Integer, y As Integer, z As Integer

    x=Val(Text1.Text): y=Val(Text2.Text)

       ①  

    Text3.Text=Str(z)

    End Sub

    Function gcd(a As Integer, b As Integer)As Integer

    Do While a< >b

     If a>b Then a=a-b Else b=b-a

    Loop

        ② 

    End Function

     ② 

  • 12、在VB中,判断一个整数的各位上的数字是否重复的自定义函数,请在程序划线处填入合适的代码。

    Private Function judge(t As Long)As Boolean

    Dim s As String, s1 As String, i As Integer, j As Integer

    s=Str(t): judge =False

    For i =1 To Len(s)-1

    s1 = Mid(s, i, 1)

    For j =i+ 1 To Len(s)

    If    ①   Then Exit Function

    Next j

    Next i

        ② 

    End Function

     ② 

  • 13、编写一个将十进制数转换为二进制的VB自定义函数,完成划线处应填的语句。

    Function dTOb(x As Integer)As String

    Dim s As String

    Do While x>0

    If x Mod 2=0 Then s="0"Else s="1"

    x=x\2

    Loop

    End Function

  • 14、编程找出100到1000之间满足以下条件的整数:该数和该数平方合并后的数字串中不存在重复的数字。例如209,其平方数为43681,209和43681合并后的数字串“20943681”中无重复数字,209就是符合条件的数。实现上述功能的VB代码如下,但加框处代码有错,请改正。

    Private Sub Command1_Click()

    Dim x As Integer, y As Long, st As String

    For x=100 To 1000

    y=x^2

    st=Str(x) & Str(y)

    If     Then    ‘①

    List1. AddItem"x: "& Str(x) & "x2: "&Str(y) &"x&y: "& Str(st)

    End If

    Next x

    End Sub

    Private Function judge(s As String) As Boolean

    Dim a(1 To 100) As String

    For i=1 To Len(s)

    a(i) =Mid(s, i, 1)

    Next i

    For i =1 To Len(s)-1

    For j=i+ 1 To Len(s)

    If  Then Exit Function.      ‘②

    Next j

    Next i

    Judge=True

    End Function

  • 15、小王收集了学校教师欢乐四项赛得分的相关数据,并使用Excel软件进行数据处理,如图a所示。

    图a

    请回答下列问题:

    (1)、小王要通过自动填充将“报名号”的值填充为如图a所示的序列“01,02,……,18”,则可先将该区域单元格格式设置为(单选,填字母:A .数值/B .货币/C .百分比/D .文本)。
    (2)、在L5单元格中使用SUMIF函数计算高三年级所有选手总分之和,则L5单元格中的公式是

    (提示:SUMIF函数用于对以域中满足条件的单元格求和。例如:=SUMIF(B3:B20,"高二",I3:I20)表示高二年级所有选手总分之和)

    (3)、根据图a中数据制作的图表如图b所示,创建图表的数据区域是

    图b

    (4)、市教育工会将举行“巾帼杯”欢乐四项赛,比赛项目为上述四项,计分规则不变。比赛规则:每校由2名女教师参加;每项每校由1名教师参赛;每名教师参赛项目不限;比赛成绩为4项得分的总和。以本次教师欢乐四项赛的结果为依据,从林雅璇、郦佳玲和董雯静中选择2名选手代表学校参加比赛。为使学校取得最高总分,你的选择是(单选,填字母:A .林雅璇与郦佳玲/B .林雅璇与董雯静/C .郦佳玲与董雯静)。
  • 16、使用UltraEdit软件观察字符“2019加油!”的内码,部分界面如图所示。

    下列说法正确的是(  )

    A、字符“!”的内码占1个字节 B、字符“加”的十六进制码是“20 BC” C、字符“9”的内码是“39”,所以字符“10”的内码是“3A” D、字符“4”的二进制码是“00110100”
  • 17、编写VB程序,实现如下功能:在文本框Textl和Text2中分别输入一个整数,单击命令按钮Command1,在列表框List1中显示结果,运行效果如1图所示。结果包含两列数据,第1列为两数之间的摄氏温度值(间隔1度、升序),第2列为对应的华氏温度值。

    (1)、要使命令按钮Command1上显示的文本改为“转换”,可在其属性窗口(2图)中将属性的属性值修改为“转换”。
    (2)、为实现上述功能,请在划线处填入合适代码或选项。

    Private Sub Command1_Click()

    Dim t1 As Integer, t2 As Integer

    Dim i As Integer, t As Integer

    Dim f As Single

    List1.Clear

    t1 = Val(Text1.Text)

    t2 = Val(Text2.Text)

    If   ①    Then     ‘(选填字母,从下列A、B、C、D四个选项中选取一项)

    t = t1: t1 =t2: t2 = t

    End If

    i = t1

    Do While   ②        ‘(选填字母,从下列A、B、C、D四个选项中选取一项)

    f = i * 9 / 5 + 32      ‘摄氏温度转换为华氏温度

    List1.AddItem Str(i) + " " + Str(f)

       ③        ‘(填程序代码)

    Loop

    End Sub

    划线①、②处的选项:

    A .i <= t2   B .f <= t2   C .t1 > t2   D .i < f

     ② ③

  • 18、使用GoldWave软件编辑某音频文件,选中其中一段音频后部分界面如下图所示。下列说法正确的是(  )

    A、执行“淡出”命令后直接保存,音频文件存储容量与原来一样 B、执行“删除”命令后直接保存,音频文件存储容量与原来一样 C、执行“插入静音”命令,设置时间为4秒后直接保存,音频文件存储容量与原来一样 D、执行“更改音量”命令,将音量升高两倍后直接保存,音频文件存储容量是原来的两倍
  • 19、有如下 VB 程序段:

    Dim s As String, ch As String

    Dim i As Integer, t As Integer

    s = Text1.Text : t = 0

    For i = 1 To Len(s)

     ch = Mid(s, i, 1)

     If ch <> "," Then t = t * 2 + Val(ch)

     Text2.Text = Text2.Text + Str(t)

    Next i

    执行该程序,当文本框Text1中输入了“11,10”时,文本框text2中输出的是(  )

    A、3 2 B、1 3 7 14 C、1 3 3 7 14 D、1 3 3 7 14 14
  • 20、某地为各个村之间建立灌溉管道,现需实现用最短的管道距离使得所有村庄可以连通。如图a 所示,[V1,V2,V3,V4,V5]每个节点表示村庄,两个节点之间的数值表示两个村庄之间的边距离。

    算法思路如下:

    ①首先按边距离升序排序;

    ②找到边距离最小值1,以及相应的两个节点V1 和V3;

    ③以V1或V3作为起点,搜寻连接新节点且距离最小的边,发现(V1, V4)边最小为4;

    ④以V1、V3、V4作为起点,搜寻连接新节点且距离最小的边,发现(V4, V5)边最小为2;

    ⑤以V1、V3、V4、V5作为起点,搜寻连接新节点且距离最小的边,发现(V2, V5)边最小为3;因此可知,连通5个村庄的最短管道距离是1+4+2+3=10,效果如图b所示。

    现设计了如下VB程序,界面如图c所示,请回答下列问题:

    (1)、V2到V5的边距离若为6,则连通5个村庄的最短管道距离是
    (2)、请在划线处填入合适的代码。

    Const n = 5      '村庄数

    Const m = 8      '管道线路数

    Dim pointAB(1 To 2 * m) As Integer      '存储连接的两个村庄节点

    Dim length(1 To m) As Integer      '存储两个村庄之间的距离

    Dim res(1 To 100) As Integer      '存储管道规划结果

    Private Sub Form_Load()

    '村庄节点数据存储在pointAB数组,两个村庄的距离数据存储在length数组。

    '如图c所示,(V1,V3)边距离为1,则pointAB(1)=1,pointAB(2)=3,length(1)=1;

    (V1,V2)边距离为6,则pointAB(3)=1,pointAB(4)=2,length(2)=6;其他依次类推,代码略。

    End Sub

    Function check(x As Integer) As Integer      '判断x节点是否已在规划中

    check = 0

    For i = 1 To 100

    If x = res(i) Then check = 1: Exit Function

    Next i

    End Function

    Private Sub Command1_Click()

    Dim i As Integer, j As Integer, tmp As Integer

    Dim total As Integer, sum As Integer

    For i = 1 To m - 1

    For j = m To i + 1 Step -1

    If Then

    tmp= pointAB(2 * j - 1) :pointAB(2 * j - 1) = pointAB(2 * j - 3) :pointAB(2 * j - 3) = tmp

    tmp = pointAB(2 * j) : pointAB(2 * j) = pointAB(2 * j - 2) :pointAB(2 * j - 2) = tmp

    tmp = length(j): length(j) = length(j - 1): length(j - 1) = tmp

    End If

    Next j

    Next i

    '开始规划管道

    total = 1

    res(1) = pointAB(1): res(2) = pointAB(2)

    sum = length(1)

    Do While total <

    For i = 2 To m

    If Then

    total = total + 1

    res(2 * total - 1) = pointAB(2 * i - 1)

    res(2 * total) = pointAB(2 * i)

    sum = sum + length(i)

    Exit For

    End If

    Next i

    Loop

    '输出连通结果res 以及管道总长度sum,代码略。

    End Sub

上一页 1227 1228 1229 1230 1231 下一页 跳转