程序的调试及运行 知识点题库

编写一个具有下列功能的VB程序:单击“分类”按钮Command1,随机产生10个[10,99]区间中的整数,并将其中3的倍数显示在List1中,余下的数显示在List2中。运行界面如图所示。

 

 

  1. (1) 要使命令按钮Command1上显示的文本为“分类”,可在其属性窗口中将属性的属性值改为“分类”。
  2. (2) 为实现上述功能,请在划线处填写合适的代码。

    Private Sub Command1_Click()

    List1.Clear

    List2.Clear

    Dim a(1 To 10) As Integer

    For i = 1 To 10

      a(i) =

      If Then

         List1.AddItem Str(a(i))

      Else

        

      End If

    Next i

    End Sub

某VB程序的一个事件过程如下

Private  Sub  Command1_Click (   )

     Dim  a  As  Integer

Dim  b  As  Integer

Dim  C  As  Integer

     a = Val ( Text1.Text )

b = Val ( Text2.Text )

c= a+b^2

Text3.Text = Str(c)

End  Sub

  程序运行时,单击命令按钮Command1后弹出如图所示的错误信息提示。出现错误的原因是(   )

A . 运算类型不匹配 B . Str函数计算时出现错误 C . VB界面上缺少程序代码中出现的对象 D . 变量类型定义错误
编写VB程序,界面设计如图所示,使其具有下列功能:在文本框Text1中输入一个小于20的正整数n,单击“计算”按钮Command1,计算斐波那契数列中第n项的值,并在标签Label2中输出结果;若输入错误,则在标签Label2中显示相应的提示信息。(斐波那契数列是指这样的数列:1,1,2,3,5,8,13…。即:第1项和第2项的值均为1,从第3项开始,每一项的值是它前面两项之和)

  1. (1) 代码“Private Sub Command1_Click()”中的Command1 是       。(单选,填字母)
    A . 对象名 B . 属性名 C . 属性值 D . 事件名
  2. (2) 为实现上述功能,请在划线处填入合适的代码。

    Private Sub Command1_Click()

    Dim n As Long, k As Integer

    Dim f1 As Long, f2 As Long, f As Long

    =Val(Text1.Text)

        If n >= 20 Or n <= 0 Then

            Label2.Caption = "输入的数据有误"

        Else

            If n <= 2 Then         ' 第1,2个元素的值都为1

                f = 1

            Else

                f1 = 1

                f2 = 1

                For k = 3 To n

                    f = f1 + f2

                    f1 = f2

                    f2 = f

                Nextk

            End If

            Label2.Caption = "斐波那契数列第" + Str(n) + "项的值为" +  

        End If

    End Sub

  3. (3) 若在文本框Text1.Text输入21,则标签Label2显示的内容为
用计算机程序解决问题时,调试程序和检测结果的目的是:(   )
A . 前者用于检查语法是否正确,后者检查能否按要求完成任务 B . 前者检查算法是否正确,后者检查是否有语法错误 C . 前者检查语法是否正确,后者检查是否有病毒 D . 两者无区别
某Visual Basic 程序的一个事件过程如下:

 Private Sub Command1_Click()

   Dim x As Integer

   Dim y As Integer

   x = 900

   y = Abc(x)

   Label1.Caption = Str(y)

 End Sub

运行程序,单击命令按钮Command1后弹出如图所示的出错信息提示,引起该错误的语句是(   )

A . Dim x As Integer B . x = 900   C . y = Abc(x) D . Label1.Caption = Str(y)
调试如下VB程序段,出现如图所示的错误信息。

For i = 1 To 10

  If a(i) >= 0 Then

    n=n+1

    List1.AddItem Str(a(i))

  Else

    m=m+1

    List2.AddItem Str(a(i))

Next

则该程序段出错的原因是缺少了(   ) 

图片_x0020_32

 
A . Next B . i C . End If D . For
【加试题】用VB编写程序,在文本框Text1中输入任意字符串s,统计s中数字字符串的数值和(如输入字符串“ab123dr34fg9de”,则输出166,即123+34+9=166).并存Label3中输出结果。程序设计界面如图所示:

根据算法将下列程序补充完整。

Private Sub Command1_Click()

  Dim S As String,ch As String

  Dim ch2 AS String,sum As Double

  Dim n As Integer,i As Integer

  s=Text1.Text

    ①  

  i=1:sum=0

  Do While i<=n

      ch=Mid(s,i,1)

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

        j=i

        ch2=Mid(s,j,1)

        Do While ch2>=“0”And ch2<=“9”

          j=j+1

         ch2=Mid(s,j,1)

        Loop

       sum=sum+    ②   

       i=j

      EndIf

      i=i+1

  Loop

    Label3.Caption=Str(sum)

End Sub

  1. (1) ①处应填

  2. (2) ②处应填

【加试题】小郭编写一个最大数查找的VB程序,功能如下:程序运行时,在文本框Text1中输入一个数字字符串,单击命令按钮Command1,在文本框Text2中输出最大3位整数(每个数字字符不可重复使用)。程序运行界面如图所示。

实现上述功能的VB程序如下。请在画线处填入适当的语句和代码,把程序补充完整。

Dim w As Integer         ‘变量w用于存储每次最大数字字符的位置

Private Sub Command1_Click()

  Dim t As String

  Dim i As Integer,j As Integer

  Dim max As Integer,S As Integer

  t=Text1.Text

  s=0

  For i=3 To 1 Step-1

    max=0

    For j=1 To Len(t)

       If Val(Mid(t,j,1))>max Then

       max=Val(Mid(t,j,1))

    ①  

      End If

    Next j

    s=s+    ②   

    t=delmax(t)

  Next i

  Text2.Text=Str(s)

End Sub

‘自定义函数功能是去除当前最大数字字符

Function delmax(t As String)As String

  delmax=    ③  

End Function

  1. (1) 在程序画线①处应填入

  2. (2) 在程序画线②处应填入

  3. (3) 在程序画线③处应填入

“字符洗牌”程序模拟扑克洗牌的操作,为了打乱牌序,把手工的扑克牌中间抽一部分放到最上面,完成一次洗牌(如字串“1234ABCD”,若把中间的低给到第5个字符串抽出并保持原来的顺序放到前面,则一次洗牌操作后字符串变成“34A12BCD”也可以把扑克牌分成下两部分,把下面的部分放置到上面(如字符串“1234ABCD”,把第3个字符变成洗牌的目的,效果如图所示。

  1. (1) 若要把窗体的标题名称由“Form1”改为“字符洗牌”,应改变窗体的属性。
  2. (2) 完成上述功能的程序代码如下,请在画线处填入合适的代码。

    Private Sub Command1_Click()

      Dim r As Integer,k1 As Integer,k2 As Integer

      Dim s As String,n As Integer

        ①       ‘从文本框TxtIn中获取字符串

      Randomize

      r=Int(Rnd()*10)+1      ‘随机生成洗牌次数

      n=Len(s)

      Do While r>=1         ‘洗牌操作

        k1=Int(Rnd()*(n-2))+2

        k2=Int(Rnd()*(n-k1+1))+k1

        s=    ②       +Mid(s,1,k1-1)+Mid(s,k2+1,n-k2)

        r=r-1

      Loop

              ‘在文本框TxtOut中输出结果

    End Sub

     ② 

  3. (3) 若加框处的语句改为TxtOut.Text=Str(s),则运行程序时会发生的错误消息为    (单选,填字母)

    A . B . C . D .
在VB集成开发环境中,有三种工作模式,可以单击工具栏上的 按钮,可以程序;单击工具栏上的 进入中断模式;单击工具栏上的 按钮结束运行。

绘制函数图象y=x2的VB源代码如下,请补充完整。

Private Sub Command1_Click()                   '按钮的单击事件

    Dim x, y As Single                         '定义x,y两个变量

    Picture1.Scale (-10, 25)-(10, -25)             '定义坐标系

    Picture1.Line (-10, 0)-(10, 0), RGB(0, 0, 255)    '画横坐标轴,颜色为蓝色

    Picture1.Line (0, 25)-(0, -25), RGB(0, 0, 255)   '画纵坐标轴,颜色为蓝色

    For x = -10 To 10 Step 0.0001             'x值从-10变化到10,每次增量为0.0001

                                    '本行代码计算函数y=x2

       Picture1.PSet (x, y), RGB(255, 0, 0)         '根据x,y的值用红色描点

    Next x                                    '取下一个增量后的x值

End Sub

以上的VB计算机语言是语言。(已知计算机语言有:机器语言、汇编语言、高级语言)

编写“断句生成器”程序,实现如下功能:在文本框Text1中输入未断句的文言文内容,在文本框Text2中输入多个正整数(以“,”为分割符和结束符),单击“生成”按钮 Command1,程序以这些整数为位置信息,表示在文言文相应的位置后进行断句(即在该位置后加入“/”),最后将最终断句的结果显示在文本框Text3中。程序部分编辑界面如图,但运行界面如图所示。

图片_x0020_4   _x0000_i1035

  1. (1) 程序运行时,窗体标题显示“断句生成器”,可在Form_Load事件过程中添加(单选,填字母:A . Form1.Caption="断句生成器"/B . Form.Caption="断句生成器"/C . Fx.Caption="断句生成器"/D . 工程1.Caption="断句生成器")语句
  2. (2) 实现上述功能的VB程序如下,请在划线处填入合适代码。

    Private Sub Command1_Click()

      Dim s As String, t As String, c As String

      Dim i As Integer, p As Integer, p0 As Integer

      s =" "  : t =" "   : p0 = 0

      For i = 1 To Len (Text2.Text)

          c =     ①     

        If c = "," Then

          p = Val(t)

          s = s + Mid(Text1.Text, p0 + 1, p – p0) + "/ "

          t = ""

              ②     

        Else

          t = t + c

        End If

      Next i

      Text3. Text =    ③     

    End Sub

     ② ③ 

有如下 VB 程序段:

s = "123456789"

g = ""

For i = 1 To 3

n = Len(s)

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

g = g + Mid(s, x, 1)

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

Next i

在程序执行时,若变量 x 的值依次为3,3,6,则最终变量g的值为(   )

A . "336" B . "346" C . "348" D . 15
某数据加密方法描述如下:

先将字符转化为二进制的位数据并显示在文本框text2中,数据位数显示在标签Label1中以16个数据为一段,将k个待加密数据依次分割成若干个数据段,剩余数据(个数小于16)为独立数据段。

数据加密规则:

数据个数等于16的数据段,在段内进行位置变换,得到加密数据段。

数据个数小于16的数据段,直接得到加密数据段。

依次合并加密数据段,即为最后的加密数据。

位置变换的规制,方法如下:

具体界面如下图所示:

  1. (1) 已知k=38,则数组元素b(26)对应值是数组a中的
  2. (2) 实现该功能的VB程序如下:

    Private Sub Command1_Click()

    Dim a(1 To 1000) As Integer, b(1 To 1000) As Integer

    Dim n As Integer, m As Integer

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

    s = Text1.Text: Text2.Text = ""

    n = Len(s)

    k = 1

    For i = 1 To n                  ‘获取字符的二进制数据存放在数组a()中

      n = Asc(Mid(s, i, 1))

      Do While n <> 0

       a(k) = n Mod 2

       n = n \ 2

       Text2.Text = Text2.Text + Str(a(k))

       k = k + 1

      Loop

    Next i

                  ①                   

    List1.Clear

     

    For m = 1 To (k - 1) \ 16    '对字符二进制按规则进行位变换,变换后的数据存放在数组b()中并输出

      For i = 1 To 4

        b(16 * (m - 1) + 4 * (i - 1) + 1) = a((m - 1) * 16 + i)

                 ②              

      Next i

      For i = 1 To 3

        b(16 * (m - 1) + 4 * (i - 1) + 3) = a((m - 1) * 16 + 10 + i)

        b(16 * (m - 1) + 4 * (i - 1) + 2) = a((m - 1) * 16 + 17 - i)

      Next i

      For i = 1 To 2

        b(16 * (m - 1) + 13 + i) = a((m - 1) * 16 + 4 + i)

      Next i

      

     For i = 1 To 4

      s1 = ""

      For j = 1 To 4

      s1 = s1 + Str(b(16 * (m - 1) + (i - 1) * 4 + j))

      Next j

      List1.AddItem s1

      Next i

    List1.AddItem ""

    Next m

      

    s1 = ""

    For i = ((k - 1) \ 16) * 16 + 1 To k - 1

       b(i) = a(i)

        If          ③         Then

        s1 = s1 + Str(a(i))

        List1.AddItem s1

        s1 = ""

        Else

        s1 = s1 + Str(a(i))

        End If

    Next i

    List1.AddItem s1

     

    Text3.Text = ""

    For i = 1 To k - 1

    Text3.Text = Text3.Text + Str(b(i))

    Next i

    End Sub

    实现上述功能,请在划线处填入适当的代码:

    程序中①处填入的是

    程序中②处填入的是

    程序中③处填入的是

某Visual Basic程序如下:

    Private Sub Command1  Click()

    Dim a(1 To 10)As Integer

    Dim i As Integer

    For i=1 To 10

    a(i)=i * i

    Next i

    List1.Add Item Str(a(i))

    End Sub

运行程序,单击命令按钮Command1后,出现的错误提示为:(  )

A . 下标越界 B . 子程序或函数未定义 C . 溢出 D . 类型不匹配
VB的三种工作模式是
有如下VB程序段:

Dim a(1 To 5) As Integer, i As Integer, c As Integer

a(1) = 2: a(2) = 1: a(3) = 3: a(4) = 4: a(5) = 5

c = 0

For i = 1 To 4

  If a(i) <= a(i+1) Then c = c + 1

Next i

Print c

该程序的运行结果是

程序代码如下:

n = 0

x = 1

while x < 20:

 x = x*3

 n = n+1

print(x,n)

屏幕显示结果是(    )。

A . 27  3 B . 3  27 C . 20  3 D . 3  21
运行下列 Python程序,结果正确是(     )

a=32

b=14

c=a//b

print(c)

A . 2.2 B . 2 C . “2” D . 4
以下程序段执行后,运行结果是(      )

a=4

b=5

c=a+b

print(c)

print(“c”)

A . 9  c B . c 9 C . c c D . 程序报错
小李使用Flash软件创作“致青春”多媒体作品。请回答下列问题:
  1. (1) 在制作动画之前,小李先进行了作品的设计,下列属于需求分析的是(多选,填字母:A .确定作品面向对象为高中学生 / B .确定作品的发布方式 /C .编写场景的制作脚本 / D .设计作品的主要界面 / E .制作一张媒体元素分解表)
  2. (2) “main”场景制作脚本如下表所示:”

    场景名:main   序号类别:2

    进入方式:由“load”场景单击“Erter”按钮进入

    呈现方式:

    ①标题在舞台左上角出现,第1秒从完全透明到完全显示的效果,最后1秒从完全显示到完全透明的效果。

    ②“女孩”从舞台的左侧驶向右侧。

    ③“退出”按钮位于舞台右下方,单击该按钮,播放下一场景动画,并停止声音的播放

    ④其他动画略。

    吴观顺序说明:

    ①开始出现背景、女孩、标题和声音;

    ②最后停止动画播放,并出现“退出”按钮“女孩”依然在骑行运动,声音继续播放。

    使用Flash软件编辑界面如图a所示:

    图a

    “女孩”图层关键帧中的对象是由“女孩”元件生成的实例,则该图层第1帧到第60帧的补间类型是(单选,填字母:A .动画补间动画 / B .形状补间动画 / C . 逐帧动画)。“声音”图层的声音同步属性设置为(选填:事件 / 数据流)。

  3. (3) 测试当前场景时,“标题”图层中的“文字”实例并没有实现淡出直至消失的效果,要实现该效果,则应进行的操作是
  4. (4) 测试影片时,弹出如图b所示的错误提示,下列说法正确的是(多选,填字母:A .“按钮”图层第60帧上没有添加按钮实例 / B .添加在按钮实例中的动作命令有误 /C .stopAllSounds();命令无需添加参数 /D .“按钮”图层最后一帧没有添加stop();/E .把按钮中的命令修改为on (release) {play();stopAllSounds();}也能达到脚本要求)。

    图b