菁于教,優(yōu)于學(xué)
旗下產(chǎn)品
校本題庫
菁優(yōu)備課
開放平臺
菁優(yōu)測評
菁優(yōu)公式
小優(yōu)同學(xué)
菁優(yōu)App
數(shù)字備考
充值服務(wù)
試卷征集
申請校本題庫
智能組卷
錯題庫
五大核心功能
組卷功能
資源共享
在線作業(yè)
在線測評
試卷加工
游客模式
登錄
試題
試題
試卷
課件
試卷征集
加入會員
操作視頻
高中信息
小學(xué)
數(shù)學(xué)
語文
英語
奧數(shù)
科學(xué)
道德與法治
初中
數(shù)學(xué)
物理
化學(xué)
生物
地理
語文
英語
道德與法治
歷史
科學(xué)
信息技術(shù)
高中
數(shù)學(xué)
物理
化學(xué)
生物
地理
語文
英語
政治
歷史
信息
通用
中職
數(shù)學(xué)
語文
英語
推薦
章節(jié)挑題
知識點挑題
智能挑題
收藏挑題
試卷中心
匯編專輯
細(xì)目表組卷
組卷圈
當(dāng)前位置:
2020年浙江省杭州高級中學(xué)高考信息技術(shù)模擬試卷(5月份)
>
試題詳情
某地為各個村之間建立灌溉管道,現(xiàn)需實現(xiàn)用最短的管道距離使得所有村莊可以連通。如圖a所示,[V1,V2,V3,V4,V5]每個節(jié)點表示村莊,兩個節(jié)點之間的數(shù)值表示兩個村莊之間的邊距離。
算法思路如下:
①首先按邊距離升序排序;
②找到邊距離最小值1,以及相應(yīng)的兩個節(jié)點V1和V3;
③以V1或V3作為起點,搜尋連接新節(jié)點且距離最小的邊,發(fā)現(xiàn)(V1,V4)邊最小為4;
④以V1、V3、V4作為起點,搜尋連接新節(jié)點且距離最小的邊,發(fā)現(xiàn)(V4,V5)邊最小為2;
⑤以V1、V3、V4、V5作為起點,搜尋連接新節(jié)點且距離最小的邊,發(fā)現(xiàn)(V2,V5)邊最小為3;因此可知,連通5個村莊的最短管道距離是1+4+2+3=10,效果如圖b所示。
現(xiàn)設(shè)計了如下VB程序,界面如圖c所示,請回答下列問題:
(1)V2到V5的邊距離若為6,則連通5個村莊的最短管道距離是
12
12
。
(2)請在橫線處填入合適的代碼。
Constn=5'村莊數(shù)
Constm=8'管道線路數(shù)
DimpointAB(1To2*m)AsInteger'存儲連接的兩個村莊節(jié)點
Dimlength(1Tom)AsInteger'存儲兩個村莊之間的距離
Dimres(1To100)AsInteger'存儲管道規(guī)劃結(jié)果
PrivateSubForm_Load ( ?。?br />'村莊節(jié)點數(shù)據(jù)存儲在pointAB數(shù)組,兩個村莊的距離數(shù)據(jù)存儲在length數(shù)組。
'如圖c所示,(V1,V3)邊距離為1,則pointAB(1)=1,pointAB(2)=3,length(1)=1;(V1,V2)邊距離為6,則pointAB(3)=1,pointAB(4)=2,length(2)=6;其他依此類推,代碼略。
EndSub
Functioncheck(xAsInteger)AsInteger'判斷x節(jié)點是否已在規(guī)劃中
check=0
Fori=1To100
Ifx=res(i)Thencheck=1:ExitFunction
Nexti
EndFunction
PrivateSubCommand1_Click ( )
DimiAsInteger,jAsInteger,tmpAsInteger
DimtotalAsInteger,sumAsInteger
Fori=1Tom-1
Forj=mToi+1Step-1
If ①
length(j)<length(j-1)
length(j)<length(j-1)
Then
tmp=pointAB(2*j-1):pointAB(2*j-1)=pointAB(2*j-3):pointAB(2*j-3)=tmp
tmp=pointAB(2*j):pointAB(2*j)=pointAB(2*j-2):pointAB(2*j-2)=tmp
tmp=length(j):length(j)=length(j-1):length(j-1)=tmp
EndIf
Nextj
Nexti
'開始規(guī)劃管道
total=1
res(1)=pointAB(1):res(2)=pointAB(2)
sum=length(1)
DoWhiletotal<②
n-1
n-1
Fori=2Tom
If ③
check(pointAB(2*i-1))+check(pointAB(2*i))=1
check(pointAB(2*i-1))+check(pointAB(2*i))=1
Then
total=total+1
res(2*total-1)=pointAB(2*i-1)
res(2*total)=pointAB(2*i)
sum=sum+length(i)
ExitFor
EndIf
Nexti
Loop
'輸出連通結(jié)果res以及管道總長度sum,代碼略。
EndSub
【考點】
應(yīng)用程序的試運行和保存
.
【答案】
12;length(j)<length(j-1);n-1;check(pointAB(2*i-1))+check(pointAB(2*i))=1
【解答】
【點評】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復(fù)制發(fā)布。
當(dāng)前模式為游客模式,
立即登錄
查看試卷全部內(nèi)容及下載
發(fā)布:2024/6/27 10:35:59
組卷:0
引用:1
難度:0.5
相似題
1.
下列程序執(zhí)行后的結(jié)果為( ?。?br />
A.1,10,3,7,-8,9,-2
B.1,3,7,10,-2,-8,-9
C.1,3,7,10,-8,-9,-2
D.-2,-8,-9,1,3,7,10
發(fā)布:2024/11/13 21:30:1
組卷:6
引用:3
難度:0.6
解析
2.
有如下程序段:
For i=1 To Len(Text1.Text)
c=Mid(Text1.Text,i,1)
If c>=“0“And c<=“9“Then c=Chr(Asc(c)+1)
If c>=“A“And c<=“Z“Then c=Chr(Asc(c)+32)
s=s+c
Next i
若文本框Text1的內(nèi)容為“Number 2468!”執(zhí)行程序后,變量s的值為( ?。?/h2>
A.NUMBER 3579!
B.NUMBER 2468!
C.number 3579!
D.number 2468!
發(fā)布:2024/11/11 11:30:2
組卷:4
引用:3
難度:0.3
解析
3.
有如下VB程序段:
執(zhí)行以上程序段后,Text1中顯示的值可能是( )
A.5 7 9 8 10
B.10 8 6 8 2
C.5 5 3 3 1
D.1 1 2 3 5
發(fā)布:2024/11/11 18:0:1
組卷:0
引用:1
難度:0.5
解析
把好題分享給你的好友吧~~
商務(wù)合作
服務(wù)條款
走進(jìn)菁優(yōu)
幫助中心
兼職招聘
意見反饋
深圳市菁優(yōu)智慧教育股份有限公司
粵ICP備10006842號
公網(wǎng)安備44030502001846號
?2010-2024 jyeoo.com 版權(quán)所有
深圳市市場監(jiān)管
主體身份認(rèn)證
APP開發(fā)者:深圳市菁優(yōu)智慧教育股份有限公司 | 應(yīng)用名稱:菁優(yōu)網(wǎng) | 應(yīng)用版本:4.8.2 |
隱私協(xié)議
第三方SDK
用戶服務(wù)條款
廣播電視節(jié)目制作經(jīng)營許可證
出版物經(jīng)營許可證
網(wǎng)站地圖
本網(wǎng)部分資源來源于會員上傳,除本網(wǎng)組織的資源外,版權(quán)歸原作者所有,如有侵犯版權(quán),請立刻和本網(wǎng)聯(lián)系并提供證據(jù),本網(wǎng)將在三個工作日內(nèi)改正