试题

试题 试卷

logo

题型:综合题 题类:常考题 难易度:困难

浙江省台州市书生中学2017-2018学年高二下学期信息技术起始考试卷

编写VB程序,实现如下功能:在文本框Text1中输入一个正整数,单击“求数根”按钮Command1,在Text2中输出该正整数的树根(数根:若一个正整数X的各位数字之和是一位数,那么这个数就是X的数根,否则再把这个数的各位数字相加,如此反复直到得到一位数为止。例如156的各位数字相加1+5+6=12,12的各位数字相加1+2=3,则156的数根是3)。程序运行界面如图1所示。

图1

图2

(1)、如图2所示,在窗体Form1的属性窗口中,若修改“3”处的内容为“求数根”,则(填:1/2/4,多选)处会随之改变。
(2)、实现上述功能的VB程序如下,请在划线处填上合适的代码。

Private Sub Command1_Click()

  Dim a As Integer, b As Integer, s As Integer

a = Val(Text1.Text)

s = a

Do While s >= 10

    a =

    s = 0

    Do While a > 0

      b = a Mod 10

      s = s + b

      a =

    Loop

Loop

Text2.Text = Str(s)

End Sub

举一反三
【加试题】德国数学家哥德巴赫曾猜测:任何大于6的偶数都可以分解成两个素数(素数对)的和。但有些偶数可以分解成多种素数对的和,如: 10=3+7,10=5+5,即10可以分解成两种不同的素数对。

小敏编写了一个VB程序,用来求一个偶数(6到100之间)可能存在多少这样的素数对(注: A+B与B+A认为是相同素数对,不重复统计),并把这些结果输出到一个列表框中,通过逻辑推理,小敏发现这些素数对都是奇数,所以她只需要验证奇数的素数对即可。运行界面如图所示,程序代码如下。但加框处代码有错,请改正。

 

Dim IsPrime(100) As Boolean  '用来存储是否素数,True为素数,False为非素数

Private Sub Command1_Click()

    Dim x As Integer, y As Integer, i As Integer, num As Integer

Call Init  '调用Init函数

    x = Val(Text1.Text)

y = x \ 2

num = 0

For i = 3 To y Step 2

                 '①

num = num + 1

            List1.AddItem Str(x) + "=" + Str(i) + "+" + Str(x - i)

        End If

    Next i

    Label2.Caption = "偶数" + Str(x) + "共有" + Str(num) + "个素数对。"

End Sub

Sub Init() '初始化IsPrime数组的值

    Dim i As Integer, j As Integer, x As Integer

    For i = 3 To 100 Step 2

        x = Int(Sqr(i))

                            '②

            If i Mod j = 0 Then Exit For

        Next j

        If j > x Then IsPrime(i) = True Else IsPrime(i) = False

    Next i

End Sub

①{#blank#}1{#/blank#} ②{#blank#}2{#/blank#} 
返回首页

试题篮