試卷征集
加入會(huì)員
操作視頻

現(xiàn)有一個(gè)大小為n*n的平面矩陣(從上到下從左到右編號(hào)為1~n*n),矩陣中有諸多障礙物。有兩個(gè)機(jī)器人分別為1號(hào)和2號(hào),其中1號(hào)位于左上角且面朝右側(cè),2號(hào)位于右下角且面朝左側(cè)?,F(xiàn)在機(jī)器人需要按照規(guī)則進(jìn)行K輪運(yùn)動(dòng),規(guī)則如下:
①1號(hào)和2號(hào)機(jī)器人需要交替運(yùn)動(dòng),即第一輪由1號(hào)進(jìn)行運(yùn)動(dòng),第二輪則由2號(hào)進(jìn)行運(yùn)動(dòng),第三輪由1號(hào)進(jìn)行運(yùn)動(dòng)……以此類推直至第K輪。
②每輪運(yùn)動(dòng)時(shí),機(jī)器人將先判斷前方是否可以前進(jìn),若無(wú)法前進(jìn),則不斷順時(shí)針旋轉(zhuǎn)90°至可以前進(jìn)為止,隨后前進(jìn)直至停止,由另一個(gè)機(jī)器人開(kāi)始下一輪運(yùn)動(dòng)。
③機(jī)器人在前進(jìn)過(guò)程中遇到邊界、障礙物或者另一個(gè)機(jī)器人時(shí)都將停止。
如圖a所示,機(jī)器人1號(hào)和2號(hào)分別位于左上角和右下角,且分別朝向右側(cè)和左側(cè),黑塊表示障礙物,當(dāng)進(jìn)行了4輪運(yùn)動(dòng)后,狀態(tài)如圖b所示。
編寫(xiě)程序,啟動(dòng)后隨機(jī)生成矩陣并在List1中輸出,其中“#“表示障礙物,“_”表示可以行走的空格子,機(jī)器人用數(shù)字1和2表示。在文本框Text1中輸入輪數(shù)K,點(diǎn)擊按鈕Command1,在列表框List1中輸出K輪后的矩陣。程序界面如圖c所示。
菁優(yōu)網(wǎng)
(1)若在圖a的基礎(chǔ)上進(jìn)行6輪運(yùn)動(dòng)后,1號(hào)機(jī)器人所在的位置是
“第1行第4列“或“4“或其他等效表達(dá)
“第1行第4列“或“4“或其他等效表達(dá)
(填行列或格子編號(hào)均可)。
(2)實(shí)現(xiàn)上述功能的部分VB程序如下,請(qǐng)?jiān)跈M線處填入合適的代碼。
Const n=10
Dim a(100)As String,steps(3)As Integer,pos(2)As Integer
Dim towards(2)As Integer,cur As Integer,nex As Integer,K As Integer
Private Sub Form_Load ______
'生成矩陣存儲(chǔ)在數(shù)組a中并輸出,代碼略
End Sub
Private Sub Command1_Click_____
steps(0)=-n:steps(1)=1:steps(2)=n:steps(3)=-1
pos(1)=1:towards(1)=1:pos(2)=n*n:towards(2)=3
i=1:K=Val(Text1.Text)
Do While i<=K
cur=(i-1)Mod 2+1
nex=GetNext(pos(cur),towards(cur))
Do While Check(nex)
pos(cur)=nex
nex=GetNext(pos(cur),towards(cur))
Loop
nex=GetNext(pos(cur),towards(cur))
Do While Not Check(nex)
towards(cur)=______
nex=GetNext(pos(cur),towards(cur))
Loop
i=i+1
Loop
'輸出矩陣,代碼略
End Sub
Function Check(x As Integer) As Boolean
Check=x<>0 And a(x)<>“#“And _____
End Function
Function GetNext(x,t) As Integer
GetNext=x+steps(t)
If x>=1 And x<=n And t=0 Then GetNext=0
If x>(n-1)*n And x<=n*n And t=2 Then GetNext=0
If _____ Then GetNext=0
If x Mod n=0 And t=1 Then GetNext=0
End Function

【答案】“第1行第4列“或“4“或其他等效表達(dá)
【解答】
【點(diǎn)評(píng)】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書(shū)面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/6/27 10:35:59組卷:0引用:1難度:0.3
相似題
  • 1.日期判斷
    從文本框Text1輸入一個(gè)8位數(shù)字表示的日期,其中第1到4位表示年(第1為確定不為零),第5到6位表示月,第7到8位表示日.單擊“判斷”按鈕,判斷該日期是否合法,將結(jié)果依次輸出到列表框List1.程序界面如圖所示:
    菁優(yōu)網(wǎng)
    提示:年份值符合下列兩種情況之一的是閏年.
    1.年份是4的倍數(shù),但不是100的倍數(shù);
    2.年份是400的倍數(shù).
    (1)觀察程序代碼,可知“判斷”按鈕的對(duì)象名為
     
    .(單選,填字母:A.Text1/B.List1/C.Command1/D.Judge/E.判斷)
    (2)為實(shí)現(xiàn)上述功能,請(qǐng)?jiān)跈M線處填入合適的代碼.
    Private Sub Judge_Click( ?。?br />   Dim riqi As String,st As String
       Dim year As Integer,month As Integer,day As Integer
       Dim rn As Boolean,hefa As Boolean
       riqi=Text1.Text
       year=Val(Mid(riqi,1,4))
       month=Val(Mid(riqi,5,2))
       day=
     
    '第①處
       st=Str(year)+“年“+Str(month)+“月“+Str(day)+“日“
       rn=False'用于判斷是否為閏年
       If
     
     Then rn=True'第②處
       If year Mod 4=0 And year Mod 100<>0 Then  rn=True
       hefa=True'用于判斷是否為合法日期
       If month=0 Or month>12 Then hefa=False
       If day=0 Then hefa=False
       If (month=1 Or month=3 Or month=5 Or month=7 Or'與下一行語(yǔ)句同行
          month=8 Or month=10 Or month=12)And day>31 Then hefa=False
       If (month=4 Or month=6 Or month=9 Or month=11)'與下一行語(yǔ)句同行
          And day>30 Then hefa=False
       If
     
     Then hefa=False
    '第③處,判斷閏年2月的天數(shù)是否合法
       If month=2 And Rn=False And day>28 Then hefa=False
       If hefa=True Then st=st+“合法日期“Else st=st+“非法日期“
       List1.AddItem st
    End Sub
    第①處代碼為
     

    第②處代碼為
     

    第③處代碼為
     

    發(fā)布:2024/10/31 8:0:1組卷:4引用:1難度:0.1
  • 2.水往低處流,下雨時(shí)道路上的低洼地總會(huì)有積水?,F(xiàn)利用一組數(shù)據(jù)表示某地面的高度變化,高度值為正整數(shù),相鄰高度用直線連接,請(qǐng)?jiān)O(shè)計(jì)程序統(tǒng)計(jì)出該地面有多少處低洼地。
    菁優(yōu)網(wǎng)
    (1)用計(jì)算機(jī)編程解決問(wèn)題的一般過(guò)程包括:①編寫(xiě)程序②抽象與建模③設(shè)計(jì)算法④調(diào)試運(yùn)行程序正確的順序應(yīng)該是
     
    。
    (2)算法實(shí)現(xiàn)中會(huì)遍歷每一個(gè)地面高度數(shù)據(jù),合適的算法控制結(jié)構(gòu)是
     
    。
    A.順序結(jié)構(gòu)
    B.分支結(jié)構(gòu)
    C.循環(huán)結(jié)構(gòu)
    D.樹(shù)形結(jié)構(gòu)
    (3)若地面高度數(shù)據(jù)為[0,1,0,2,1,2,0,0,2,0],則該地面有
     
    處低洼地。
    (4)實(shí)現(xiàn)上述功能的代碼如下,請(qǐng)?jiān)跈M線處填入合適的代碼。
    (5)在程序代碼中,加框處代碼存在錯(cuò)誤,請(qǐng)改正。
    菁優(yōu)網(wǎng)

    發(fā)布:2024/10/31 20:0:1組卷:8引用:2難度:0.3
  • 3.根據(jù)程序來(lái)回答問(wèn)題
    sum=0
    for i in range(1,10,3):
    sum+=i
    print(“sum=”,sum)
    (1)循環(huán)變量i的初始值為
     
    ,終止值為
     
    ,步長(zhǎng)值
     
    。
    (2)該程序段執(zhí)行后,輸出的結(jié)果為
     
    。
    (3)該程序循環(huán)語(yǔ)句sum+=i共執(zhí)行了
     
    次。

    發(fā)布:2024/11/1 19:30:1組卷:4引用:1難度:0.4
小程序二維碼
把好題分享給你的好友吧~~
APP開(kāi)發(fā)者:深圳市菁優(yōu)智慧教育股份有限公司 | 應(yīng)用名稱:菁優(yōu)網(wǎng) | 應(yīng)用版本:4.8.2  |  隱私協(xié)議      第三方SDK     用戶服務(wù)條款廣播電視節(jié)目制作經(jīng)營(yíng)許可證出版物經(jīng)營(yíng)許可證網(wǎng)站地圖本網(wǎng)部分資源來(lái)源于會(huì)員上傳,除本網(wǎng)組織的資源外,版權(quán)歸原作者所有,如有侵犯版權(quán),請(qǐng)立刻和本網(wǎng)聯(lián)系并提供證據(jù),本網(wǎng)將在三個(gè)工作日內(nèi)改正