试题

试题 试卷

logo

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

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

古希腊著名科学家毕达哥拉斯把1、3、6、10、15、21、28……称为三角形数。这些三角形数序列有一定的规律,后一个数与前一个数的差刚好构成一个等差数列2、3、4、5、6、7、……,所以,第2位的“3”等于序列的第1位数“1”加上等差数“2”,第3位的6等于序列的第2位数“3”加上等差“3”……,第n位数m等于序列的第n-1位数加上等差数n。小金利用这个规律编写了一个判断三角形数的VB程序,在文本框Text1中输入一个大于1的正整数,单击“判断”按钮Command1,在标签Label1中显示判断结果。程序设计界面如图所示。

(1)、在设计程序界面时,要清空标签中显示的内容“Label1”,应修改该标签的属性。
(2)、VB程序代码如下,请在划线处填入合适代码。

Private Sub Command1_Click( )

    Dim n As Integer, s As Integer

    s = 0

    n = Val(Text1. text)

    If n > 1 Then

        For i = 1 To n

            s =

            If n = s Then

                Label1. Caption = Str(n) +“是一个三角形数。”

                Exit For

               

                Label1. Caption = Str(n) +“不是一个三角形数。”

                Exit For

            End If

        Next i

    Else

        Labell.Caption = “请输入一个大于1的正整数”

    End If

End Sub

(3)、若文本框Text1中输入的内容为“27”,单击按钮Command1后,标签Label1中显示的内容是
举一反三
现有n根棍子,第i根棍子的长度为a<sub>1</sub>,现设计了以下VB程序段,想要从中选出三根棍子组成周长尽可能长的三角形,输出最大的周长;若无法组成三角形,则输出0。如当n=5,a={2,3,4,5,10}时,输出12,即选择了3、4、5。当n=4,a={4,5,10,20}时,无法组成三角形,输出0。实现上述功能的VB程序代码如下,但加框处代码有误,请改正。

Dim a(1 To 1000) As Integer

Dim n As Integer

Private Sub Form_Load()

'确定n的值和数组a的各个元素值,即每根棍子的长度值,代码略

End Sub

Function max (x As Integer, y As Integer) As Integer

    If x>y Then

        max=x

    Else

        max=y

    End If

End Function

Private Sub Command1_Click()

    Dim i As Integer, J As Integer, K As Integer

    Dim ans As Integer, c As Integer, longest As Integer,

    rest As Integer

    ans=0

    '让i<j<k,保证棍子不会被重复选中

    For i=1 To n

        For j=i+1 To n

            For k=j+1 To n

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

                longest=      '①

                rest=c-longest        'rest 保存最短的两条边的和

                If Then      '②

                    ans=max(ans, c)

                End If

            Next k

        Next j

    Next i

    Print ans

End Sub

返回首页

试题篮