试题

试题 试卷

logo

题型:综合题 题类:常考题 难易度:普通

浙江省高中信息技术 算法及VB语言基础单元检测

任意一个大于或等于4的偶数,都可以用两个素数之和表示,这就是哥德巴赫猜想。如:4=2+2,6=3+3,8=3+5, 10=5+5,12=5+7,98=19+79。

编写一个验证哥德巴赫猜想的VB程序:程序运行时,在文本框Text1中输入一个大于或等于4的偶数,单击“验证”按钮Command1后,如果哥德巴赫猜想验证成功,则在文本框Text2中显示“Yes”,并在列表框List1中显示用两个素数表示该偶数的等式,否则显示“No”。程序运行效果如图所示。

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

Function judge(x As Integer)As Boolean

 ‘函数judge的功能是判断整数x是不是素数,若是素数则返回True,否则返回False

 Dim j As Integer

 judge=True

 j=2

 Do While j<=x-1 And judge=True

If x Mod j=0 Then

judge=False

Else

j=j+1

End If

 Loop

End Function

Private Sub Command1_Click()

 Dim n As Integer, p As Integer, q As Integer, flag As Boolean

 n=Val(Text1.Text)

 p=1

 flag=False

 Do While  And p<n    ‘

 p=p+1

      ‘

If judge(p)And judge(q)Then

Text2.Text=“Yes”

flag=True

List1.AddItem Str(n)+“=”+Str(p)+“+”+Str(q)

  End If

 Loop

 If flag=False Then

Text2.Text=“No”

End Sub

举一反三
小王编写了一个VB程序,该程序的功能是:15个数形成环状,现要分别找出3个相邻的数:使其相加之和最大或最小。如15个数依次为:18,14,42,61,13,19,14,13,28,52,61,58,30,则相邻三数之和最大为62(30+18+14),相邻三数之和最小为31(4+26+1)。

程序运行时,先随机生成15个[1,30]区间内的整数,存储在数组a(0)至a(14),并在文本框Text1中显示;单击“计算”按钮Command1,则在标签Labe14中显示连续三数最大和,在标签Label5中显示连续三数最小和,程序运行界面如图所示。

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

Const n=14

Dim a(n) As Integer

Private Sub Form_Load()

'随机生成15个数,存储在数组元素a(0)~a(14)中,并显示在文本框Text1中

End Sub

Private Sub Command1_Click()

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

    Dim imax As Integer, imin As Integer

    Dim smax As Integer, sum As Integer, smin As Integer

    smax=0:smin=100

    For i=0 To 14

        j= {#blank#}1{#/blank#}

        k= {#blank#}2{#/blank#}

        sum=a(i)+a(j)+a(k)

        If sum>smax Then

            smax=sum

            imax=i

        End If

        If sum<smin Then

            smin=sum

            imin=i

        End If

    Next i

    Label4.Caption=Str(smax)

    Label5.Caption=Str(smin)

End Sub

返回首页

试题篮