1. 在平面坐标系中,给定任意个点,求出这些点中与点(1,1)距离最远的点。小李编写出了相应功能的程序:在文本框Text1中输入这些点的坐标值(数据都用逗号分隔并以逗号结尾),单击“计算”按钮Cmd后,程序计算这些点到(1,1)的距离后,结果显示在列表框List1中,并且输出最大距离的点。程序运行界面如图所示。

(1) 由图可知,窗体中的对象共有类;
(2) 实现上述功能的VB程序如下,请在画线处填入合适的代码。

Private Sub Command1_Click()

    Dim i, k As Integer

    Dim x1, y1, x2, y2 As Single

    Dim v As Singie, maxd As Single

    Dim s As String, pos zb As String

    List1.Clear

    s=Text1.Text

    x1=1: y1=1

    t="": k=1: j=1

    List1.AddItem"坐标点" & "距离"

    For i=1 To Len(s)

        If Mid(s, i, 1)="," Then

            v=Val(Mid(s,j,i-j))

            j=

            If k Mod 2=1 Then

                x2=v

            Else

                y2=v

                d=Sqr((x2-x1)^2+(y2-y1)^2)

                If Then

                    maxd=d

                    pos="(" & Str(x2)& "," & Str(y2)& ")"

                End If

                List1.AddItem"(" & Str(x2)& "," & Str(y2)& ")" & Str(d)

            End If

            k=k+1

        End If

    Next i

    Label1.Caption="距离(1, 1)最远的点为"& pos &"距离为"& Str(maxd)

End Sub

(3) 若文本框Text1中输入的内容为“31,41,26,51,1,56”,程序运行结束后,距离(1,1)最远的坐标点是
【考点】
类、对象、属性、方法、事件和事件处理的概念及应用; 解析算法及程序实现; 常用标准函数;
【答案】

您现在未登录,无法查看试题答案与解析。 登录
综合题 困难
能力提升
换一批
2. “字符洗牌”程序模拟扑克洗牌的操作,为了打乱牌序,把手上的扑克牌中间抽一部分放到最上面,完成一次洗牌(如字符串“1234ABCD”,若把中间的第3个到第5字母抽出并保持原来的顺序放到最前面,则一次洗牌操作后字符串变成“34A12BCD”),也可以把扑克牌分成上下两部分,把下面的部分放置到上面(如字符串“1234ABCD”,把第3个字符到最后一个字符移到前面,变成“34ABCD12”),多次重复做这个动作,就能达到洗牌的目的,效果如图所示。

 

(1) 若要把窗体的标题名称由“Form1”改为“字符洗牌”,应改变窗体的属性。
(2) 完成上述功能的程序代码如下,请在划线处填入合适的代码

Private Sub Command1_Click()

    Dim r As Integer, k1 As Integer, k2 As Integer

    Dim s As String, n As Integer

   '从文本框TxtIn中获取字符串

    Randomize

    r = Int(Rnd() * 10) + 1   '随机生成洗牌次数

    n = Len(s)

    Do While r >= 1        '洗牌操作

        k1 = Int(Rnd() * (n - 2)) + 2

        k2 = Int(Rnd() * (n - k1 + 1)) + k1

        s =  + Mid(s, 1, k1 - 1) + Mid(s, k2 + 1, n - k2)

        r = r - 1

    Loop

TxtOut.Text = s   ' 在文本框TxtOut中输出结果

End Sub

(3) 若加框处的语句改为TxtOut.Text = Str(s),则运行程序时会发生的错误消息为_________(单选,填字母) A. B. C. D.
综合题 困难