试题

试题 试卷

logo

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

浙江省高中信息技术 枚举算法及程序实现同步练习

珠心算是在大脑中以算珠表象作为载体,运用珠算法则所进行的计算。某学校的珠心算老师采用一种快速考查珠心算加法能力的测验方法。他随机给出一个正整数集合,集合中的数各不相同,然后要求学生回答:其中共有多少个数恰好等于集合中另外两个(不同的)数之和?例如对于集合{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

     IfThen

       ans=ans+1

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

     End If

  

  Next j

Next i

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

End Sub

举一反三
【加试题】小马正在看一本侦探小说,想了解其中一段案情的解析,却发现了一串字符“#2017—2018go:)”,并附有文字提示:①答案所在的页码是这串字符中最大数字字串(若值相同则取后面的数字字串)的起始位置*10+结束位置②答案所在行号是最大数值除以100的余数。例如:“#17a18#”字符串中,最大数字字串“18”。起始位置是5,结束位置是6,其页码是56,行号是18。小马编写了一个VB程序帮他寻找答案,程序运行界面如图所示。在文Text2中输出页码,在Text3中输入行号。实现上述功能的VB程序代码如下,但加框处代码有错,请改正。

Private Sub Command1_Click()

  Dim s1 As String,s2 As String   

  Dim ch As String,ch2 As String   

  Dim max As Double   

  Dim n As Integer,page As Integer  

  Dim i As Integer,j As Integer

  s1=Text1.Text:s2=””

  n=Len(s1)

  i=1:max=0

  Do While i<=n

    ch=Mid(s1,i,1)

    If ch>=“0”And ch<=“9”Then

        j=i

        ch2=Mid(s1,i,1)

        Do While ch2>=“0”And ch2<=“9”

           j=j+1

           ch2=Mid(s1,j, 1)

        Loop

        s2=    ’(1)

        If   Then    ’(2)

            max=Val(s2)

            page=i*10+j-1

            Text2.Text=Str(page)

            Text3.Text=Str(max Mod l00)

        End If

        i=j

      End If

      i=i+1

    Loop

  End Sub

返回首页

试题篮