菁于教,優(yōu)于學
旗下產(chǎn)品
校本題庫
菁優(yōu)備課
開放平臺
菁優(yōu)測評
菁優(yōu)公式
小優(yōu)同學
菁優(yōu)App
數(shù)字備考
充值服務
試卷征集
申請校本題庫
智能組卷
錯題庫
五大核心功能
組卷功能
資源共享
在線作業(yè)
在線測評
試卷加工
游客模式
登錄
試題
試題
試卷
課件
試卷征集
加入會員
操作視頻
高中信息
小學
數(shù)學
語文
英語
奧數(shù)
科學
道德與法治
初中
數(shù)學
物理
化學
生物
地理
語文
英語
道德與法治
歷史
科學
信息技術
高中
數(shù)學
物理
化學
生物
地理
語文
英語
政治
歷史
信息
通用
中職
數(shù)學
語文
英語
推薦
章節(jié)挑題
知識點挑題
智能挑題
收藏挑題
試卷中心
匯編專輯
細目表組卷
組卷圈
當前位置:
2020-2021學年浙江省紹興市諸暨中學高二(下)期中信息技術試卷
>
試題詳情
小張用VB模擬實現(xiàn)了一個打地鼠游戲的計分程序。游戲規(guī)則如下:總共有10個地鼠洞,每秒地鼠選擇一個洞探出腦袋,如果當前的錘子在該洞口,則打中地鼠,否則沒有打中。游戲時間總共t秒(t<=10,Text1中輸入),錘子的起始位置在b(1)(Text2中輸入)?,F(xiàn)已知每個時刻地鼠探腦袋的位置,根據(jù)錘子移動的路線,計算得出最多的得分,并輸出到 Labe1l。
錘子移動規(guī)則:錘子每秒必須往左或往右移動一步(不可在當前位置停留),如果錘子已經(jīng)在最左邊了,只能往右移動;反之,只能往左移動。
計分方式:如果打中一個地鼠,計1分;如果連續(xù)打中地鼠,分數(shù)翻倍,即連續(xù)打中兩個,分數(shù)為1+2;連續(xù)打中三個,分數(shù)為1+2+4;連續(xù)打中四個,分數(shù)為1+2+4+8……
算法思路:
①隨機產(chǎn)生在第i秒時,地鼠探出腦袋的洞口為j。
若每個時刻地鼠探腦袋的洞口如圖a所示,以10個洞口為橫坐標n,游戲時間t(假設t=10)為縱坐標,建立一個矩陣a。當前時間出現(xiàn)地鼠的洞口標記為1,其余默認為0。
②模擬第i秒敲擊洞口的位置。
1)若輸入游戲過程如圖b所示,從5號洞口出發(fā)b(1)=5,當時間為i=1時,可到達的洞口有2種:j=2時b(2)=6,j=1時b(1)=4,即得矩陣a的坐標位置i和b(j);
2)同理當i=2時,可到達的洞口有4種:j=4時b(4)=7,=3時b(3)=5,=2時b(2)=5,j=1時b(1)=3.i=1敲擊洞口位置為6或4;i=2敲擊洞口位置6→7,6-5或4→5,4→3;
3)將t秒內(nèi)可經(jīng)過的2t種不同路徑敲擊的矩陣位置的值存放到數(shù)組p中,如圖b所示得到其中某一條路徑p(j)=0101100010,根據(jù)p(j)計算得分,找出最值max并輸出。
(1)如果游戲時間為10秒,每秒地鼠出現(xiàn)的洞口序號依次為[9,9,9,10,10,10,10,9,9,9],當錘子的起始位置在第6個洞口時,最多能得
5
5
分。
(2)實現(xiàn)上述功能的VB程序如下,請在橫線處填入合適的代碼。
Private Sub Command1_Click ( ?。?br />Const n=10
Dim a(1 To n*n)As Integer,b(1 To 2^n)As Integer
Dim p(1 To 2^n)As String,s1 As String
Dim i As Integer,j As Integer,k As Integer,max As Integer
Dim t As Integer,s As Integer,f As Integer
Randomize
t=Val(Text1.Text)
For i=1 To t'第i秒時,地鼠探出腦袋的洞口為j
j=Int(Rnd*n+1)
①
a((i-1)*n+j)=1
a((i-1)*n+j)=1
List1.AddItem Str(i) &Str(j)
Next i
s1=““
For i=1 To t*n
s1=s1+Str(a(i))
If i Mod n=0 Then List2.AddItem s1:s1=““
Next i
b(1)=Val(Text2.Text)
For i=1 To n'計算錘子在a矩陣移動的路徑,并存放在p數(shù)組
k=1'k為正則向右移動錘子,k為負則向左移動錘子
For j=2^i To 1 Step-1
b(j)=b((j+1)\2)+k
If b(j)<1 Or b(j)>n Then b(j)=b(j)-2*k
p(j)=p((j+1)\2)+CStr( ②
a((i-1)*n+b(j))
a((i-1)*n+b(j))
)'CStr功能類似Str
k=-k
Next j
Next i
max=0
For i=1 To 2^n
f=0:s=0:j=1
Do While j<=Len(p(i))
If Val(Mid(p(i),j,1))>0 Then
③
f=f*2+Val(Mid(p(i),j,1))
f=f*2+Val(Mid(p(i),j,1))
Else
s=s+f:f=0
End If
j=j+1
Loop
If f>0 Then s=s+f
If max<s Then max=s
Next i
Label1.Caption=“最多能得“+Str(max)+“分“
End Sub
【考點】
應用程序的試運行和保存
.
【答案】
5;a((i-1)*n+j)=1;a((i-1)*n+b(j));f=f*2+Val(Mid(p(i),j,1))
【解答】
【點評】
聲明:本試題解析著作權屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復制發(fā)布。
當前模式為游客模式,
立即登錄
查看試卷全部內(nèi)容及下載
發(fā)布:2024/4/20 14:35:0
組卷:0
引用:1
難度:0.3
相似題
1.
有如下VB程序段:
數(shù)組元素a(1)到a(6)的值分別是“8,5,8,6,1,8”,數(shù)組b和f各元素的初值均為0,執(zhí)行該程序段后,標簽Label1上顯示的內(nèi)容為( ?。?/h2>
A.1
B.5
C.6
D.8
發(fā)布:2024/11/2 14:0:2
組卷:0
引用:1
難度:0.4
解析
2.
輸出字符串的所有非空子串,如:“ABC”、“AB”、“BC”、“A”、“B”、“C”都是“ABC”的非空子串,實現(xiàn)該功能的VB程序段如下:
上述程序段中方框處可選語句為:
①Len(s) ②Len(s)-i+1 ③Mid(s,i,j) ④Mid(s,j,i)
則(1)(2)處語句依次可為( )
A.①④
B.①③
C.②③
D.②④
發(fā)布:2024/11/3 21:30:1
組卷:0
引用:1
難度:0.4
解析
3.
小明想要在數(shù)字串s中尋找連續(xù)數(shù)字之和為k 的子串,若有多個子串符合,則輸出第一個子串。例如,s=“20220520“,k=7,則符合要求的子串為“205“。實現(xiàn)該功能的部分python代碼如圖:
劃線①②處的語句是( ?。?/h2>
A.①sum=sum+int(c)②s[i:j+1]
B.①sum=sum-int(c)②s[i-1:j+1]
C.①sum=sum+int(c)②s[i:j]
D.①sum=sum-int(c)②s[i:j+1]
發(fā)布:2024/11/5 21:30:2
組卷:3
引用:3
難度:0.5
解析
把好題分享給你的好友吧~~
商務合作
服務條款
走進菁優(yōu)
幫助中心
兼職招聘
意見反饋
深圳市菁優(yōu)智慧教育股份有限公司
粵ICP備10006842號
公網(wǎng)安備44030502001846號
?2010-2024 jyeoo.com 版權所有
深圳市市場監(jiān)管
主體身份認證
APP開發(fā)者:深圳市菁優(yōu)智慧教育股份有限公司 | 應用名稱:菁優(yōu)網(wǎng) | 應用版本:4.8.2 |
隱私協(xié)議
第三方SDK
用戶服務條款
廣播電視節(jié)目制作經(jīng)營許可證
出版物經(jīng)營許可證
網(wǎng)站地圖
本網(wǎng)部分資源來源于會員上傳,除本網(wǎng)組織的資源外,版權歸原作者所有,如有侵犯版權,請立刻和本網(wǎng)聯(lián)系并提供證據(jù),本網(wǎng)將在三個工作日內(nèi)改正