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

有如下VB程序:

Private Sub Command1_C1ick ( )

Dim a(0 to 5) As Integer

a(5)=Val(Text1.text)

For I=4 to 1 step -1

a(I)=a(I+1)/2

Next I

Text2.text=str(a(I))

End sub

在文本框Text1中输入“96”,单击命令按钮Command1后,文本框Text2中显示的内容是(   )

A . 0 B . 6 C . 12 D . 96
小丁想买几张6+1彩票,选号时,他希望前4位用自己的生日:11月8日,即1108,特别号码他选了买彩票日子的个位数5,并且他希望前六个数字组成的数能被他的幸运数字9整除。他的好朋友小杰帮他设计了一个VB程序,可以提供一份符合这些要求的号码清单供他挑选。相应的界面如图1所示。阅读程序并完成后面的问题。

图1

  1. (1) 设计应用程序界面时,为添加a所指向的对象,应使用图2所示的“控件工具箱”中的(填写相应编号);在图3所示的“属性窗口”中,将属性值设置为“开始”,可使图2中b所指向的对象显示“开始”。

  2. (2) 请根据题意将下列程序补充完整。

    Private Sub Command1_Click()

    Dim i, j, c As Integer

    Dim n As Long

    c = 0

    For i = 0 To 99

          n = 110800 + i

                  If  Then

          List1.AddItem Str(n) + " " + "5"

          c = c + 1

         End If

    Next i

    Label2.Caption = "满足条件的数有:" + Str(c) + "组"

    End Sub

【加试题】在计算机系统中,数值一般用补码来表示和存储,补码由符号位和数值位两部分组成,符号位用0表示正数,用1表示负数。例如,整数n(-128≤n≤127)用8位二进制补码的表示方法为:

①数:正整数补码的数值即其二进制表示。

例:12的8位二进制表示00001100,最高位即符号位“0”表示正数。

②数:除符号位外,所有位取反,然后+1。

例:-5的8位二进制补码表示方法如下,5对应7位二进制数为0000101(原码),所有位取反后为1111010(反码),再加1后为1111011(补码),再设置符号位为1,因此-5用8位二进制补码表示为11111011。

    小明设计了一个VB程序,点击“补码”按钮Command1,将文本框Text1中输入的整数n(-128≤n≤127)转换成相应的补码,并在文本框Text2中输出,程序运行界面如图所示,请将画线处的代码补充完整。

Private Sub Command1_Click()

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

  Dim m(1 To 8)As Integer

  Text2.Text=" "

  n=Val(Text1.Text)

  If n>=0 Then

    ‘计算二进制原码

    For i=8 To 2 Step-1

      m(i)一n Mod 2

      n=n\2

    Next i

    ‘设置符号位

    m(1)=0

  Else

    n=-n

   ‘计算二进制反码

    For i==8 To 2 Step-1

      m(i)=    ①  

      n=n\2

    Next i

    ‘加1计算

    i=8

    Do While m(i)=1

           ②  

        i=i-1

      Loop

      m(i)=1

     ‘设置符号位

     m(1)=1

  EndIf

  ‘输出结果

  For i=1 To 8

    Text2.Text=Text2.Text & m(i)

  Next i

End Sub

  1. (1) -27用8位二进制补码表示为

     

  2. (2) 请在画线处填入合适的代码。

     ②

小明用VB程序编写了一个密码生成器,单击“生成密码”按钮生成一个8位数的密码,该密码必须同时包含数字、大写字母和小写字母,并在文本框Text1中显示。程序界面如下图所示。

  1. (1) 在设计程序界面时,要将文本框Text1中的内容清空,应修改该文本框的属性。
  2. (2) 实现上述功能的VB程序如下:

    Private Sub Command1_Click()

    Const n = 8

    Dim s As String

    Dim a As Integer, i As Integer

    Dim x As Boolean, y As Boolean, z As Boolean 

    x = False

    y = False

    z = False

    Randomize

    Do While     ① 

        s = ""

        For i = 1 To n

            a = Int(Rnd() * 62) + 1

            If a <= 10 Then

                x = True

                s = s + Chr(a + Asc("0") - 1)

            ElseIf         ②            Then

                y = True

                s = s + Chr(a + Asc("A") - 11)

            Else

                z = True

                s = s + Chr(a + Asc("a") - 37)

            End If

         Next i

    Loop

    Text1.Text =        ③            

    End Sub

    ①处的代码是 

    ②处的代码是

    ③处的代码是

下列VB程序运行时,在文本框Text1中输入字符串“while”,在文本框Text2和Text3中分别输入2和5,单击命令按钮Command1后,在文本框Text4中显示的内容是

Private   Sub  Command1_click ( )

Dim  n  As  Integer , m  As  Integer  , k  As  Integer

n  = Len ( Text1.Text )

m  = Val ( Text2.Text )

k  = Val ( Text3.Text )

If  m + k -1 > n   Then

Text4.Text = Mid ( Text1.Text , 1 , m – 1 )

      Else

       Text4.Text = Mid ( Text1.Text , 1 , m–1 ) + Mid ( Text1.Text , m+k , n–m–k +1 )

      End  If

End  Sub

八进制采用了0~7八个数字,逢八进一。每个数字在不同的数位上对应不同的权值,如(123)8=1×82+2×81+3X80=(83)10。小明编写了一个将把8位以内八进制正整数转换为十进制数的VB程序,实现如下功能:在文本框Text1中输入八进制数,单击“转换”按钮Command1,在文本框Text2中输出转换后十进制数。程序运行界面如图所示。

  1. (1) 程序编写调试后,生成如下相关文件:

    A .oct.frm/B .oct.vbp/C .oct.vbw/D .oct.exe,其中属于Windows系统可执行文件的是(单选,填字母)

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

    Private Sub Command1_Click()

        Dim i As Integer,n As Integer,oct As Strin9,dec As Long, flag As Boolean

        i=1:dec=0:flag=True

        oct=   ①   

        Do While i<=Len(oct)And flag

            n=Val(Mid(oct,i,1))

            If n>=0 And n<8 Then

                dec=  ② 

            Else

                Text1.Text=”输入有误!”

                   ③

            End If   

            i=i+1

        Loop

        Text2.Text=Str(dec)

    End Sub

     ② 

  3. (3) 如将③处方框内的语句省略,程序执行时,在文本框Text1中输入2019,单击“转换"按钮后,文本框Text2中显示的内容是
小王编写VB程序,实现如下功能:在Text1中输入1~9之间的任意一个数字,单击“计算”按钮Command1, 计算该数字的阶乘并显示在标签Label2中。程序运行界面如图所示:

  1. (1) 如图所示,窗体中(不包含窗体本身)的对象共有个(填数字)。
  2. (2) 实现上述功能的VB程序如下,请在划线处填写合适的代码。

    Private Sub Command1_Click()

    Dim i As Integer, j As Integer, s As Long

    s = 1

    i =

    If i >= 1 And i <= 9 Then

    For j = 1 To i

    s =

    Next j

    Label2.Caption = Str(i) & "的阶乘为:" & Str(s)

    Else

    Label2.Caption = "请重新输入1~ 9之间的任意数字"

    End If

    End Sub

  3. (3) 程序中,若将变量s的类型由Long改为Integer,在文本框Text1中输入的内容为“9”,单击“计算”按钮后,程序运行将会出现什么情况(单选,填字母:A .溢出 / B .类型不匹配 / C .要求对象)。
观察图2所示的流程图(计算100以内自然数的和),回答以下问题。

  1. (1) 根据题意完善流程图。
  2. (2) 用Visual Basic语言写出流程图对应的程序代码。
礼品分配问题:某班得到一件精美礼品,由于只有一件礼品,大家决定用下面方法来分配该礼品:n个同学围成一圈,按顺序从1到n进行编号。从第1个人开始报数,报到 m 的人退出,下一个人继续从1开始报数,报到m的人出圈┈┈,如此依次进行,直到留下的最后一个人得到该礼品。程序运行界面如图所示,单击“开始”按钮,将输出退出圈子的同学编号以及最后获得奖品的编号。

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

Private Sub Command1_Click()

   Dim i As Integer, n As Integer, m As Integer

   Dim num As Integer, t As Integer

   Dim a(1 To 100) As Boolean

   n = Val(Text1.Text)

   m = Val(Text2.Text)

   For i = 1 To n

      a(i) = True

   Next i

       ①      

   Do While t > 1

      For i = 1 To n

        If a(i) = True Then   ②    

        If num = m The

               ③     

t = t - 1

           num = 0

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

        End If

      Next i

   Loop

   For i = 1 To n

       If a(i) = True Then Label2.Caption ="获得礼品同学编号:" + Str(i)

   Next i

End Sub

  1. (1) 当班级总人数n=15,m=5的时候,获得礼品的同学编号是(填写数字)。
  2. (2) 在划线处填入合适的代码。

     ② ③ 

小骆设计了一个程序,用来统计一段文字中句子的数量。规定以“。”或者“?”或者“!”结束的为句子。窗体界面和程序如下所示,请回答问题。

 

  1. (1) 应用程序界面设计时,用来输入文字的对象,使用了图2所示的“控件工具箱”中的 (填写相应数字),
  2. (2) Private Sub Command1_Click()

          Dim s As String, r As String, k As Integer

          k = 0

          s=Text1.Text

          For i = 1 To Len(s)

             ①    

          If r ="。" Or r ="!"  Or r ="?"  Then     ②   

          Next i

          Label1.Caption ="本段文字中含" + Str(k) + "句语句。"

    End Sub

    在程序划线处填写适当的表达式或语句,以实现程序功能。

    程序中①划线处应填入

    程序中②划线处应填入

下列程序运行后的输出结果是(  )

DIM A(6) AS INTEGER

FOR I= 1 TO 6

  A(I)= I

NEXT I

PRINT A(I)

A . 0 B . 6 C . 7 D . 显示出错信息
以下程序输出的结果是(  )。  

Option Base 1

Private Sub Command1 Click()

    Dim a%(3,3)

    For i=1 To 3

        For j=1 To 3

            a(i,j)=i*j

            Print a(i,j);〃〃;

        Next j

        Print

    Next i

End Sub

A . B . C . D .
小李制作主题为“Python简介”的多媒体作品。他首先使用Photoshop软件制作一张背景图片,然后使用Flash软件制作动画。请回答下列问题:

图a

  1. (1) 如图a所示,当前状态下,下列说法正确的是(多选,填字母:A .对“文字2”图层可以使用自由变换改变文字大小 / B .可以更改“背景2”图层的不透明度 / C .可以移动“人工智能”图层至最上方而不影响作品效果 / D .该作品有3个图层添加了图层样式/E .选中“电脑”图层执行“拼合图像”后将剩下“背景”和“文字2”图层)。
  2. (2) 如图b所示,“文字变化”图层第30帧到第60帧实现了由“Python简介”变化为 “面向对象的脚本语言”的动画效果,该动画类型为(选填:动画补间 / 形状补间 / 逐帧动画)。

    图b

  3. (3) 动画重复播放时“音乐”图层中的声音出现多次播放叠加的不理想效果,若要实现“音乐”图层的声音从动画开始1秒后播放并使声音和动画同步的效果,应在做的调整是
  4. (4) 如图c所示为动画中“简介”按钮的部分编辑界面,下列说法正确的是        。(单选,填字母)

    图c

    A . 测试影片时,当鼠标放到该按钮上时不会变成手型 B . “背景”图层中的“弹起”帧和“按下”帧的画面可能相同 C . 测试影片时,当鼠标指针经过该按钮时文字“简介”将消失 D . 该按钮只能用于该动画的一个场景中
  5. (5) 测试影片时,单击“简介”按钮,停止当前声音的播放,然后实现在浏览器中显示位于同一目录下的“intro.txt”文件的内容,则“简介”按钮的动作脚本为
阅读下列程序,写出运行结果。

Dim x as Integer

Dim y as Integer

   y = Val (InputBox(“y =”))

   For i = 1 To 3

     x = Val (InputBox(“x =”))

     If x < y Then

        y = x

     End If

   Next i

   Print y

程序运行后,依次输入:45  96  11  37

运行输出结果是:

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

Dim i As Integer, Sum As Integer

Dim a(1 To 11) As Integer

Sum = 6

a(11) = 49

For i = 10 To 1 Step -1

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

  If a(i) Mod 3 = 0 Then Sum = Sum + a(i)

Next i

Text1.Text = Str(Sum)

A . 174 B . 36 C . 180 D . 42
已知字符A的内码为65,a内码为97,则下列程序执行后变量t的值为(    )

s="Cc12BbAa":t=""

For i=1 To len(s)

   ch=Mid(s,i,1)

   If ch>="a" And ch<="z" or ch>="A" And ch<="Z" Then

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

       ch=Chr(Asc(ch)-32)

     End If

     t=ch+t

   End If

Next i

A . "CcBbAa" B . "aabbcc C . "CCBBAA" D . "AABBCC"
阅读以下程序段,根据要求回答以下问题。

a=4

b=5

If a<b Then

    a=2*b

    b=a+b

End If

Print a, b

执行上述程序段后,变量a的值是,变量b的值是

有python程序如下:

S=input( )

print(S * 3)

运行后通过键盘输入6,则运算结果是(    )

A . 666 B . SSS C . 18 D . S*3
小张同学在学习了选修教材《算法与程序设计》后,准备小试牛刀一下,就编了“判断一个数能否被7整除”的小程序,其中有三处错误,请帮助他修改。

Private Sub Command1_ Click()

    Dim i As Integer

    Dim As String

    i= Text1.Text

    If i/7=0 Then                            '判断文本框中输入的数是否是7的倍数

        j=i & “是7的倍数,能被7整除! ”         '是7的倍数,输出能被7整除!

    Else

        j=i&"不是7的倍数,不能被7整除!"        '不是7的倍数,就输出不是7的倍数,不能被7整除!!

    EndIf

    Label3. Caption=j

End Sub

  1. (1) 修改语句“Dim As String”行中的错误;
  2. (2) 修改语句“If i/7=0 Then”行中的错误;
  3. (3) 修改语句“End”行中的错误。
在交互模式下,输入一下代码:

>>>a=5

>>>b=a

>>>a*b

然后回车键,程序会输出结果为:(   )

A . 0 B . 5 C . 25 D . 程序出错,没有输出结果