【加試題】領(lǐng)禮物.圣誕節(jié)到了,教室里放滿了禮物,大家站在同一位置即原點(diǎn)(0,0)處,根據(jù)自己拿禮物的序號輪流去拿禮物,每個人只能拿離自己最近的禮物,每件禮物的位置用坐標(biāo)(x,y)表示.如果有多個禮物離你的距離相等(精確到小數(shù)后二位)且最近,則這些禮物都?xì)w你所有.
程序運(yùn)行時,在文本框Text1中輸入共有禮物數(shù)n,單擊“讀取數(shù)據(jù)”按鈕Command1,將從數(shù)據(jù)庫gift.accdb中讀取n個禮物的信息存儲在相應(yīng)的數(shù)組中,并顯示在列表框List1中;在文本框Text2中輸入輪到你拿禮物的序號(即第幾個拿),單擊“計(jì)算”按鈕Command2,則在列表框List2顯示你獲得的禮物信息,并在列表框list2最后一行顯示獲得的禮物總數(shù).程序運(yùn)行界面如圖所示.
實(shí)現(xiàn)上述功能的VB程序代碼如下,請回答下列問題.
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim bh(1 To 100)As String'數(shù)組bh存儲禮物的編號
Dim x(1 To 100)As Single,y(1 To 100)As Single'數(shù)組x、y分別存儲禮物的橫坐標(biāo)和縱坐標(biāo)
Dim dist(1 To 100)As Single'數(shù)組dist存儲禮物到原點(diǎn)的距離
Dim n As Integer'變量n表示禮物數(shù)
Private Sub Command1_Click( ?。?br /> Dim i As Integer
'從數(shù)據(jù)庫中讀取n件禮物的編號、橫坐標(biāo)、縱坐標(biāo),并存儲在相應(yīng)的數(shù)組中
'代碼略,下面代碼的功能是計(jì)算各禮物到原點(diǎn)的距離
For i=1 To n
dist(i)=①int(sqr(x(i)^2+y(i)^2)*100+0.5)/100①int(sqr(x(i)^2+y(i)^2)*100+0.5)/100
List1.AddItem bh(i)+““+Str(x(i))+““+Str(y(i))+““+Str(dist(i))
Next i
End Sub
Private Sub Command2_Click( ?。?br /> Dim xh As Integer,i As Integer,j As Integer,k As Integer
Dim temp1 As String,temp2 As Single,p As Single,s As Single
xh=Val(Text2.Text)
'將禮物按到原點(diǎn)的距離從小到大排序,代碼略
i=0:j=1:s=0
Do While(i<xh)And(j<=n)
If dist(j)<>s Then
②s=dist(j)②s=dist(j)
i=i+1
End If
j=j+1
Loop
u=0
j=j-1
Do While ③③
List2.AddItem bh(j)+Str(x(j))+Str(y(j))+Str(dist(j))
u=u+1
j=j+1
Loop
List2.AddItem“total:“+Str(u)
End Sub
(1)請?jiān)诔绦驒M線處填入合適的語句:
劃線①處應(yīng)填入的語句為:int(sqr(x(i)^2+y(i)^2)*100+0.5)/100int(sqr(x(i)^2+y(i)^2)*100+0.5)/100;
劃線②處應(yīng)填入的語句為:s=dist(j)s=dist(j);
劃線③處應(yīng)填入的語句為:dist(j)=s and j<=ndist(j)=s and j<=n.
(2)假設(shè)現(xiàn)共有14件禮物,禮物的信息如圖所示,你輪到第10個拿禮物,則你獲得的禮物數(shù)為 22.
【考點(diǎn)】編輯事件處理過程的代碼.
【答案】①int(sqr(x(i)^2+y(i)^2)*100+0.5)/100;②s=dist(j);③;int(sqr(x(i)^2+y(i)^2)*100+0.5)/100;s=dist(j);dist(j)=s and j<=n;2
【解答】
【點(diǎn)評】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/6/27 10:35:59組卷:5引用:1難度:0.1
相似題
-
1.根據(jù)AQI值判斷城市的空氣質(zhì)量。若城市的AQI值(整數(shù))不超過100則空氣質(zhì)量優(yōu)良,否則空氣質(zhì)量有污染。當(dāng)輸入的AQI值為-1時則退出程序。不要更改程序結(jié)構(gòu),將題中的①②③④填入正確的語句。
city=input(“請輸入城市名:”)
AQI=int(input(“請輸入空氣質(zhì)量指數(shù)AQI的值:”))
①______ AQI!=-1:
if ②______:
print(city,“的空氣質(zhì)量優(yōu)良?!保?br />③______:
print(city,“的空氣質(zhì)量有污染?!保?br />city=input(“請輸入城市名:”)
AQI=④(input(“請輸入空氣質(zhì)量指數(shù)AQI的值:”))
(1)序號①答案為
A.if
B.while
C.for
D.def
(2)序號②答案為
A.AQI>=100
B.AQI<=100
C.AQI>100
D.AQI<100
(3)序號③答案為
A.elif
B.break
C.if
D.else
(4)序號④答案為
A.int
B.float
C.str
D.else發(fā)布:2025/1/2 11:0:1組卷:0引用:0難度:0.4 -
2.一球從100米高度自由落下,每次落地后反跳回原高度的一半,再下落。編寫一個C程序,求它在第10次落地時,其經(jīng)過了多少米?第10次反彈多高?
發(fā)布:2025/1/2 11:0:1組卷:0引用:3難度:0.3 -
3.利用海倫公式求解三角形面積。已知a,b,c為三角形的三條邊長,p為三角形的半周長,即p=(a+b+c)/2,計(jì)算此三角形面積S的海倫公式為:。不要更改程序結(jié)構(gòu),將題中的①②③填入正確的語句。
import math#導(dǎo)入數(shù)學(xué)模塊
def hl(a,b,c):#定義求三角形面積的函數(shù)
p=①
s=math.jye.ai(②)#sqrt用于計(jì)算算術(shù)平方根
return ③#返回面積的值
a,b,c=3,4,5#邊長依次賦值
print(“此三角形的面積S為:“,hl(a,b,c))
A. (a+b+c)/2 B.p*(p-a)*(p-b)*(p-c)
C. (a+b+c)*2 D.s
(2)序號②答案為
A.(a+b+c)/2 B.p*(p-a)*(p-b)*(p-c)
C.(a+b+c)*2 D.(3+4+5)/2
(3)序號③答案為
A.p B.s
C.p*(p-a)*(p-b)*(p-c) D.0發(fā)布:2025/1/2 11:0:1組卷:0引用:0難度:0.4
相關(guān)試卷