试题

试题 试卷

logo

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

【bj】高中信息技术综合库——枚举算法1

珠心算是在大脑中以算珠表象作为载体,运用珠算法则所进行的计算。某学校的珠心算老师采用一种快速考查珠心算加法能力的测验方法,他随机给出一个正整数集合,集合中的数各不相同,然后要求学生回答:其中共有多少个数恰好等于集合中另外两个(不同的)数之和,例如集合{1,2,3,4},一共有2个数等于集合中另外两个数之和,它们是3、4(4=3+1,3=2+1)。将上述算法编写成程序,其功能如下:程序运行时产生n个范围在[1,100]内的不同的随机整数存储在数组a中,并在列表框List1中显示,单击按钮Command1后,在标签Label1上输出结果,如图所示。

(1)、集合{1,2,3,4,5,6}中一共有个数等于集合中另外两个数之和。
(2)、实现上述功能的VB程序如下,请在划线处填入合适代码。

Const n=12

Dim a(1 To n) As Integer

Dim flag(1 To 100) As Boolean

Private Sub Form_Load()

    Dim i As Integer, t As Integer

    For i=1 To 100

        flag(i)=False

    Next i

    i=1

    Do While i <=n

        t=Int(Rnd * 100)+1

        If Not flag(t) Then

           

            List1.AddItem Str(t)

            flag(t)=True

            i=i+1

        End If

    Loop

End Sub

Private Sub Command1_Click()

    Dim i As Integer, j As Integer, ans As Integer

    ans=0

    For i=1 To n

        For j=i+1 To n

            If a(i)+a(j)<=100 Then

                If Then

                    ans=ans+1

                    flag(a(i)+a(j))= False

                End If

           

        Next j

    Next i

    Label1.Caption="共有"+Str(ans)+"个数!"

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

返回首页

试题篮