試卷征集
加入會員
操作視頻

【加試題】由數(shù)組a生成數(shù)組b的方法描述如下:
1)將數(shù)組a中的n個元素依次分割出若干個數(shù)據(jù)塊,每個數(shù)據(jù)塊有m×m個元素,m最大值為8,最小值為2.分割時,按盡可能大的數(shù)據(jù)塊進行分割;
2)對每個分割出的數(shù)據(jù)塊用“方陣轉(zhuǎn)換法”進行轉(zhuǎn)換,每次轉(zhuǎn)換后得到的數(shù)據(jù)塊依次存儲在數(shù)據(jù)b中;
3)數(shù)組a分割后的剩余元素(個數(shù)小于4),直接依序存儲到數(shù)組b中。
例如n=140時,可依次分割出3個數(shù)據(jù)塊,元素的個數(shù)分別為64(8×8)、64(8×8)、9(3×3),剩余元素為3個。
“方陣轉(zhuǎn)換法”過程如下:將數(shù)據(jù)塊中m×m個元素按行序排列成一個數(shù)字方陣,從該數(shù)字方陣中按列序得到轉(zhuǎn)換后元素的次序。以3×3數(shù)據(jù)塊為例,轉(zhuǎn)換過程如圖所示:
菁優(yōu)網(wǎng)

小明依據(jù)上述描述設(shè)計了如下VB程序。請回答下列問題:
(1)當(dāng)n=120時,分割出的第3個數(shù)據(jù)塊元素個數(shù)為
4
4

(2)請在橫線處填入合適的代碼。
Const n=120
Dim a(1To n) As Integer
Dim b(1To n) As Integer
Private Sub Command1_Click (  )
Dim m As Integer,i As Integer
Dim Start As Integer'當(dāng)前未分割數(shù)據(jù)的第1個元素下標(biāo)
Dim Left As Integer'當(dāng)前未分割數(shù)據(jù)的個數(shù)
Dim pa As Integer'數(shù)組a的下標(biāo)
Dim pb As Integer'數(shù)組b的下標(biāo)
'讀取n個轉(zhuǎn)換前的數(shù)據(jù),依次存儲到a(1)、a(2)、…a(n)中,代碼略
m=8
Start=1
Left=n
Do While Left>3
If Left<m*m Then
m=
m-1
m-1

Else
pa=Start
pb=Start
For i=1To m*m
b(pb)=a(pa)
pb=pb+1
If i Mod m=0Then
pa=start+i/m
pa=start+i/m

Else
pa=pa+m
End If
Next i
left=left-m*m
left=left-m*m

Start=Start+m*m
End If
Loop
For i=Start To n
b(i)=a(i)
Next i
'依次輸出轉(zhuǎn)換后數(shù)據(jù)b(1)、b(2)、…b(n)中,代碼略
End Sub。

【答案】4;m-1;pa=start+i/m;left=left-m*m
【解答】
【點評】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/4/20 14:35:0組卷:6引用:2難度:0.1
相似題
  • 1.日期判斷
    從文本框Text1輸入一個8位數(shù)字表示的日期,其中第1到4位表示年(第1為確定不為零),第5到6位表示月,第7到8位表示日.單擊“判斷”按鈕,判斷該日期是否合法,將結(jié)果依次輸出到列表框List1.程序界面如圖所示:
    菁優(yōu)網(wǎng)
    提示:年份值符合下列兩種情況之一的是閏年.
    1.年份是4的倍數(shù),但不是100的倍數(shù);
    2.年份是400的倍數(shù).
    (1)觀察程序代碼,可知“判斷”按鈕的對象名為
     
    .(單選,填字母:A.Text1/B.List1/C.Command1/D.Judge/E.判斷)
    (2)為實現(xiàn)上述功能,請在橫線處填入合適的代碼.
    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'與下一行語句同行
          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)'與下一行語句同行
          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.水往低處流,下雨時道路上的低洼地總會有積水?,F(xiàn)利用一組數(shù)據(jù)表示某地面的高度變化,高度值為正整數(shù),相鄰高度用直線連接,請設(shè)計程序統(tǒng)計出該地面有多少處低洼地。
    菁優(yōu)網(wǎng)
    (1)用計算機編程解決問題的一般過程包括:①編寫程序②抽象與建模③設(shè)計算法④調(diào)試運行程序正確的順序應(yīng)該是
     

    (2)算法實現(xiàn)中會遍歷每一個地面高度數(shù)據(jù),合適的算法控制結(jié)構(gòu)是
     
    。
    A.順序結(jié)構(gòu)
    B.分支結(jié)構(gòu)
    C.循環(huán)結(jié)構(gòu)
    D.樹形結(jié)構(gòu)
    (3)若地面高度數(shù)據(jù)為[0,1,0,2,1,2,0,0,2,0],則該地面有
     
    處低洼地。
    (4)實現(xiàn)上述功能的代碼如下,請在橫線處填入合適的代碼。
    (5)在程序代碼中,加框處代碼存在錯誤,請改正。
    菁優(yōu)網(wǎng)

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

    發(fā)布:2024/11/1 19:30:1組卷:4引用:1難度:0.4
小程序二維碼
把好題分享給你的好友吧~~
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)改正