2.3 周而复始的循环 知识点题库

编写VB程序代码,实现如下功能:在文本框Text1中输入金额(整数)后,点击“转换”按钮Command1,则在文本框Text2中显示该金额的大写,程序运行界面如下图所示:

  1. (1) 若要将按钮上的文本修改为“转换”,则应修改Command1对象的 属性
  2. (2) 为了实现以上程序功能,使程序正常运行,请完善以下两处代码。

    Private Sub Command1_Click()

    Dim dx As String, dw As String

    Dim st As String, ch As Integer

    Dim i ,n As Integer

    dx = "零壹贰叁肆伍陆柒捌玖" 

    dw = "亿仟佰拾萬仟佰拾圆" 

    st = Text1.Text : n = Len(st)

    If  n > 9 Then

        Text2.Text = "输入的数据超出所能转换的范围"

    Else

        For i = 1 To n          

           ch =    ①   

           s = s + Mid(dx, ch + 1, 1) + Mid(dw,  ②   , 1)

        Next i

        Text2.Text = s + "整"

    End If

    End Sub

    以上程序段运行时,为了实现上述功能,划线处应填入的代码分别为:

    ; ②

  3. (3) 由上述算法可知,若在文本框Text1中输入“12”,则文本框Text3显示的结果为
若参与运算的数范围大大超出了标准数据类型能表示的范围的运算,就要用到高精度算法。小明编写了如下的高精度乘法程序,文本框Text 1和Text 2中分别输入两个乘数,单击命令按钮Command 1,在文本框Text 3中输出两个数的乘积, 运行界面如图所示。

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

    Private SubCommand1_Click()

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

    Dim t As Integer, k As Integer, i As Integer, jAs Integer

    Dims1As String, s2As String, output As String

    s 1=Text 1.Text:s2=Text2.Text:Text3.Text=“”

    For i=1 To Len(s1)

        a(i)=  ①     ‘将文本框Text 1中的自然数按从低位到高位的顺序依次存放在数组a(1),a(2) ……a(len(s1))中

    Next i

    ‘将文本框Text2中的自然数按从低位到高位的顺序依次存放在数组b(1),b(2) …… b(len(s2))中,代码略

        len c=Len(s1) +Len(s2) -1

        For i=1 To Len(s1)

            For j=1 To Len(s2)

              c(i+j-1)=c(i+j-1)+a(i)*b(j)

           c(i+j)=  ② 

           c(i+j-1) =c(i+j-1) Mod 10

        Next j

      Next i

      If c(len c+1) > 0 Then   ③ 

      Do While c(len c) =0Andlenc> 1 (2)

           len c=len c-1

      Loop

      output=“”

      For i=len c To 1 Step-1

          output=output+Mid(Str(c(i)),2,1)

      Next i

      Text 3.Text=output

    End Sub

  2. (2) 若将方框内代码“And len c>1”删除,在文本框Text 1中输入122134,在文本框Text 2中输入0,单击命令按钮Command 1,则程序提示
有一种元素除首元素没有前驱元素、尾元素没有后继元素外,其它元素都只有一个前驱元素和一个后继元素。具有以上特点的数据结构是(    )
A . 树结构 B . 选择结构 C . 线性结构 D . 网状结构     
有如下VB程序段,已知字符“A”的ASCII码值为65,则在文本框Text1中输入"abXY",s1的值最终是(    )

s = Text1.Text: n = Len(s)

For i = 1 To n

  c = Mid(s, i, 1)

If c >= "a" And c <= "z" Then t = Asc(c) - 32 Else t = Asc(c)

  s1 = s1 + Chr(65 + (t - 63) Mod 26)

Next i

A . CDZA B . cdZA C . ZACD D . ZAcd
阅读以下“辗转相除法”的程序代码,运行结果为:

a=98

b=63

r=a%b

while r!=0:

    a=b

    print('a的值是',a)

    b=r

    print('b的值是',b)

    r=a % b

print('r的值是',r)

下面代码的输出结果是(     )

for i in range(1,5):

 print(‘#’*i)

A . B . C . D .
下面的代码,哪些会输出1,2,3,三个数字(     )
A . for i in range(3):     Print(i) B . aList = [1,2,3] for i in aList:     print(i+1) C . i = 1 while i<3:     print(i)     i+=1 D . for i in range(3):     Print(i+1)
某排序算法,VB代码如下:

i=1

Do While i<=5

    If i = 0 or a(i - 1)<= a(i) Then

        i=i+1

    Else

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

        i=i-1

    End If

Loop

数组元素a(0)到a(5)依次为:“0,41,22,53,99,36”,经过该程序段处理后,数组元素a(3)的值为(   )

A . 36 B . 53 C . 41 D . 22
下列Python程序段运行的结果是(     )。

i=0

sum=0

while i<10:

    if i%3==0:

        sum+=i

    i+=1

print("sum=",sum)

A . sum=9 B . sum=10 C . sum=18 D . sum=19
一个队列初始为空,若它的输入序列为a、b、c、d,则它的输出序列为(   )。
A . d、c、b、a B . d、a、c、b C . a、b、c、d D . a、c、b、d
下列VB程序段功能为:数组元素a(1)至a(20)中存储的是0-9之间的随机整数,查找在数组a中连续出现数字b的数组元素个数和起始位置,若有多个相同元素个数,则记录最后出现的起始位置。

b = 5

k = 0: imax = 0

For i = 1 To 20

    If a(i) = b Then

        k = k + 1

        If   ⑴   Then

            imax = k

              ⑵ 

        End If

    Else

        k = 0

    End If

Next i

Label1.Caption = "最大长度:" +Str(imax) +",起始位置:" + Str(st)

划线处可选代码为:

①k > imax ② k >= imax ③ st = i - imax + 1 ④ st = i

下列选项中,代码顺序正确的是(    )

A . ①③ B . ①④ C . ②③ D . ②④
树结构是一种具有层次关系的非线性结构。树是由n(n≥0)个节点组成的有限集合,如图所示,下列说法错误的是(     )

A . 任何一个非空树均仅有一个称为根的节点,如图中A,n=0时为空树 B . 当n>0时,其余节点可分为m ( m≥0)个互不相交的有限集合,其中每个集合又是一棵树,并称为根的子树 C . 节点A为根节点,B,C,D为A的子树的根节点,同理,E,F,G是B的子树的根节点,B是E,F,G的父节点 D . 在树结构中,数据元素之间是一对一的关系
下图是python34安装后目录文件的磁盘文件存储结构,下列说法错误的是(     )

A . 图中文件存储结构为树结构,python34为树的根结点(父节点) B . 图中python34根结点有4个子结点 C . 图中python34根结点下有5个子树(子结点) D . 图中Tools是python34的子树(子结点)
如图1文本文件“score.txt”中保存着若干个学生某次测试的成绩,编写一个计算机程序,从该文件中读取每个学生分数,统计并输出各等级的学生人数,程序运行界面如图2所示。

根据分数判断其所属等级的标准如下:

分数段

90~100

80~89

70~79

60~69

60以下

等级

A

B

C

D

E

实现该功能的程序段如下,请完善程序:

def check(a):

    if     

        level[0]+=1

    elif int(a)>=80:

        level[1]+=1

    elif int(a)>=70:

        level[2]+=1

    elif int(a)>=60:

        level[3]+=1

    else:

f=open("score.txt","r")

score=f.readline( )

level=[0]*5

while score:

   

    score=f.readline()

f.close()

for i in range(0,5):

        print("等级"++"的人数为:",level[i])

数学上把2,4,8,16等数称为2的幂次方。编写程序,实现如下功能: 在文本框Text1中输入一个正整数n,单击“查找”按钮,找到一个2的幂次方,使其与n之差的绝对值最小,并在标签框 Label1中输出。如果找到两个同时满足条件的幂次方,则输出较小的。程序运行界面如图所示。

  1. (1) 要使程序运行时,标签框Labell的ForeColor属性值为vbRed,可在Form_Load事件处理过程中添加语句(单选,填字母: A . Label1. ForeColor= vbRed/ B . Label1. vbRed= ForeColor/C . Fore Color. Label1=vbRed)。
  2. (2) 实现上述功能的VB程序如下,请在画线处填入合适的代码。

    Private Sub Command 1_ Click()

        Dim n As Long, sum As Long, ans As Long

        n= Val(Text1. Text)

        sum=1

        Do While sum <n

            

        Loop

        If n =sum Then

            ans=sum

        ElseIf Then

            ans=sum/2

        Else

            ans =sum

        End If

        Label 1. Caption = Str(ans)

    End Sub

  3. (3) 若文本框Text1中输入的内容为“24”,单击“查找”按钮,标签框 Label1中显示的内容是
有如下VB 程序段:

s = Text1.Text: k = 1: maxlen = 1

For i = 2 To Len(s)

    If Mid(s, i - 1, 1) < Mid(s, i, 1) Then

        k = k + 1

    If k > maxlen Then maxlen = k

    Else

        k = 1

     End If

Next i

Label1.Caption = Str(maxlen)

在文本框Text1 中输入字符串“B3b8defhADot”,执行该程序段后,则标签Label1 中显示的内容为(    )

A . 1 B . 5 C . 8 D . 13
为防止机密通知被盗,某公司制定了网上发通知的加密要求:

1)通知中包含的空格,标点符号等按原格式输出

2)通知中涉及到字母的内容,所发文件的英语单词全部都是倒序的。如:This is a dog!通知显示内容为:sihT si a god!

3)通知中涉及到数字的内容,把本组数字的最后一位移动到第一位,例如原文为1234,通知显示内容为:4123

小王编写了一个VB程序,实现加密功能,在文本框Text1中输入原文,单击“加密”按钮Command1后,在文本框Text2中显示加密后的密文。程序运行界面如图所示。

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

  1. (1) 若要修改按钮Command1上显示的文字,应修改的属性名是(单选,填字母:A .Text/B .Caption /C . List )
  2. (2) 实现上述功能的VB程序代码如下,请在划线处填入合适的代码

    Private Sub command1_Click()

        Dim s As String, ch As String, rv As String, rv1 As String

        Dim i As Integer, j As Integer, k As Integer

        s = Text1.Text

        rv = ""

        i = 1

        Do While True

            ch = Mid(s, i, 1)

            Do While  And i <= Len(s)

                rv = rv + ch

                i = i + 1

                ch = Mid(s, i, 1)

            Loop

            j = i

            ch =

            Do While sz(ch) And j <= Len(s)

                j = j + 1

                If j > Len(s) Then Exit Do

                ch = Mid(s, j, 1)

            Loop

            rv1 = ""

            rv1 = Mid(s, j - 1, 1) + Mid(s, i, j - i - 1)

            rv = rv + rv1

            i =

            If i > Len(s) Then Exit Do

            Do While zf(ch) And j <= Len(s)

                j = j + 1

                If j > Len(s) Then Exit Do

                ch = Mid(s, j, 1)

            Loop

            rv1 = ""

            For k = i - 1 To j - 1

                rv1 = Mid(s, k, 1) + rv1

            Next k

            rv = rv + rv1

            If j <= Len(s) Then rv = rv + Mid(s, j, 1)

            i = j + 1

            If i > Len(s) Then Exit Do

        Loop

        Text2.Text = rv

    End Sub

    Function zf(s As String) As Boolean

        zf = False

        If s >= "A" And s <= "Z" Or s >= "a" And s <= "z" Then

            zf = True

        End If

    End Function

    Function sz(s As String) As Boolean

        sz = False

        If Then

            sz = True

        End If

    End Function

  3. (3) 程序中加框处代码有错,请改正
有如下VB程序段:

k=1 :ch= Mid(s, 1,1)

For i=2 To Len(s)

    If k=0 Then

        ch = Mid(s,i,1):k= 1

    Else

        If ch = Mid(s,i,1) Then

            k=k+1

        Else

            k=k-1

    End If

Next i

变量s分别取下列值并运行程序段后,ch的值不为"Q"的是(    )

A . "QQTQT" B . "TQTTQ" C . "QTRTQ" D . "RTTQQ"
有VB程序段如下:

Dim a(1 To 9) As Integer

Dim m As Integer, k As Integer, i As Integer

a(1)=2 , a(2)=8 , a(3)=6 , a(4)=5 , a(5)=4 , a(6)=3 , a(7)=9 , a(8)=7 , a(9)= 1

m=1 : k=1

For i=2 To 9

    If a(i)<a(i-1) Then

    k=k+1

        If k>m Then m=k

    Else

        k =1

    End If

    Next i

Text1. Text = Str(m)

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

A . 3 B . 4 C . 5 D . 9
关于以下程序代码,说法正确的是(   )。

a=1

b=0

while a<101:

    b=b+a

    a=a+1

print(b)

A . 该程序的作用是求1到101的累加和 B . 变量b的作用是累加计算1到100的和 C . 该程序循环计算了101次 D . 以上都不对
最近更新