题库 高中信息

题干

在平面坐标系中,给定任意个点,求出这些点中与点(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)最远的坐标点是_____________。
上一题 下一题 0.99难度 None 更新时间:2020-03-30 10:43:20

答案(点此获取答案解析)

同类题1

给定一个数组a,有n个元素(1≤n≤100),有以下两种操作:
操作1:在文本框中分别输入L、R、T(1≤L≤R≤n),对数组下标为L到R之内(包含L和R)的每个元素增加T(1≤T≤100)
操作2:在文本框中输入K(1≤K≤n),在标签中输出a(K)的值。
为了提高算法的效率,小明设计了如下算法,以n=10为例,如下表所示。
数组下标
l
2
3
4
5
6
7
8
9
l0
元素的值
7
l2
3
6
7
1l
8
24
9
5
 
①将n个元素依次分成段(表示对石向下取整,每段的元素个数为,若最后有不足个元素,则自成一段。给每段设置一个标记,初始值都为0,如下表所示。
数组下标
l
2
3
4
5
6
7
8
9
10
元素的值
7
12
3
6
7
1l
8
24
9
5
段编号
第l段
第2段
第3段
第4段
段标记值
0
0
0
0
 
②对于操作1,输入的L、R属于同一段,则直接对a(L to R)的每个元素加上T。如输入4,6,3,则第2段中的每个数加上3,操作后如下表所示。
数组下标
1
2
3
4
5
6
7
8
9
10
元素的值
7
l2
3
9
10
14
8
24
9
5
段编号
第1段
第2段
第3段
第4段
段标记值
0
0
0
0
 
③对于操作1,若输入的L,R不属于同一段,则对元素a(L)所在段中从a(L)开始到该段最后一个元素为止的每个元素加上T,并对元素a(R)所在段中从该段第一个元素开始到a(R)为止的每个元素加上T,对a(L)元素所在段的下一段开始到a(R)元素所在段的前一段为止的每个段标记值增加T,这些段中的元素保持不变。如在上表的其础上再输入1,8,2,则第1段的3个数和第3段中的前2个数都加上2,第2段的段标记位增加2,如下表所示。
数组下标
l
2
3
4
5
6
7
8
9
l0
元素的值
9
14
5
9
l0
l‘l
10
26
9
5
段编号
第1段
第2段
第3段
第4段
段标记位
0
2
0
0
 
④对于操作2,若输入K的值为5,则输出a(5)的值,a(5)的值为该数组元素的值+段标记值,即a(5)=12。程序运行界面如下。请回答下列问题:
(1)若数组元素为“3,2,6,8,7,9,3,4,7,9,6”,依次进行以下3次操作后第3段的标记值为__________

操作1:依次输入1,11,1
操作1:依次输入7,9,2
操作2:输入8
(2)请在划线处填入合适的代码。
Const n = 10
Dim a(1 To n) As Integer
Dim f(1 T on) As Integer 'f数组元素依次表示每段的标记值
Dim bk As Integer     'bk表示每段的元素个数
Function BL(x As Integer) As Integer 'BL函数返回数组元素a(x)的段编号
BL=________________
End Function
Private Sub Form_Load()
’读取数据,并存储到数组a中,代码略
bk=Int(Sgr(n))
End Sub
Private Sub Command1_Click()
Dim L As Integer,R As Integer,T As Integer,i As Integer
L=Val(Text1.Text):R=Val(Text2.Text):T=Val(Text3.Text)
If BL(L)=BL(R) Then

For i=L To R

a(i)=a(i)+T
Next i

EIse

For i=______________
a(i)= a(i)+T
Next i
For i=BL(L)+1 To BL(R)-1
f(i)= f(i)+T
Next i
For i=(BL(R)-1)* bk+1 To R
a(i)= a(i) +T
Next i

End If

End Sub
Private Sub Command2_Click()
Dim K As Integer
K=Val(Text4.Text)
Labe.15.Caption="经过一系列操作后.a("+Str(K)+ ")的值为:"+___________
End Sub