中文字幕精品无码一区二区,成全视频在线播放观看方法,大伊人青草狠狠久久,亚洲一区影音先锋色资源

2020年高中信息技術(shù)必修一《周而復(fù)始的循環(huán)》練習(xí)題及答案

資源下載
  1. 二一教育資源

2020年高中信息技術(shù)必修一《周而復(fù)始的循環(huán)》練習(xí)題及答案

資源簡介

中小學(xué)教育資源及組卷應(yīng)用平臺
2.3周而復(fù)始的循環(huán)-教科版(2019)高中信息技術(shù)必修一練習(xí)
學(xué)校:___________姓名:___________班級:___________考號:___________
一、選擇題
1.下面的程序段運(yùn)行后的結(jié)果為(

s=1
for
i
in
range(1,6,2):
s=s+i
print(s)
A.15
B.10
C.12
D.9
2.某算法的部分流程圖如下圖所示,輸入s=11200,執(zhí)行這部分流程后,輸出m和n的值分別是(

A.14
4
B.21
4
C.22
5
D.42
5
3.有兩個VB程序段,如下所示:
已知程序段中①②兩處內(nèi)容相同,數(shù)組元素a(1)到a(10)的值依次為:6,43,21,78,33,16,80,45,12,90,執(zhí)行“程序段1”后,數(shù)組元素a(1)~a(10)的值依次為80,78,90,45
,43,33,21,16,12,6,則下列說法正確的是()
A.①和②處的填空為7
B.兩程序段的比較次數(shù)不一樣,交換次數(shù)一樣
C.執(zhí)行完程序段2后,數(shù)據(jù)6移動到了a(10)
D.兩段程序的得到的運(yùn)行結(jié)果相同
4.有如下
VB
程序段:
i
=
1
Do
While
i
<=
5
a(i)
=
(Int(Rnd
6)
+
5)
(i
Mod
2
+
1)
For
j
=
1
To
i
-
1
If
a(j)
=
a(i)
Then
i
=
i
-
1:
Exit
For
Next
j
i
=
i
+
1
Loop
執(zhí)行該程序段后,a(1)到
a(5)各元素的值可能是(
)。
A.18,8,16,6,12
B.11,5,10,6,20
C.14,10,12,10,20
D.5,6,7,8,9
5.編寫了一個統(tǒng)計數(shù)組元素a(1)到a(n)中的“升序段”個數(shù)s。例:如圖所示的數(shù)據(jù)序列,其“升序段”的個數(shù)等于3的VB程序:
k=0
s=0
For
i=2
To
n
If
a(i)>a(i-1)
Then
End
If
If
k=1
Then
s=s+1
Nexti
Textl.Text=Str(s)
方框中的代碼由以下三部分組成:
①k=0
②k=k+1
③Else
代碼順序正確的選項是(

A.①③②
B.②③①
C.③②①
D.②①③
6.有如下
VB
程序段:
Const
n=
10
Dim
a(1
To
n)
As
Integer
,
b(1
To
n)
As
Integer
For
i
=
1
To
n
b(i)
=
i
Next
i
For
i
=
2
To
n
j
=
i
-
1
t
=
b(i)
Do
While
a(b(j))
>
a(t)
b(j
+
1)
=
b(j)
j
=
j
-
1
If
j
=
0
Then
Exit
Do
Loop
b(j
+
1)
=
t
Next
i
若數(shù)組a中的數(shù)據(jù)依次為:69,16,44,17,34,46,10,29,37,51
,執(zhí)行程序后,b(1)~b(10)的值為(

A.3
5
4
10
1
9
8
6
7
2
B.7
2
4
8
5
9
3
6
10
1
C.5
8
2
1
4
7
3
9
10
6
D.1
6
2
4
8
9
7
10
3
5
二、操作題
7.出列順序有10個人,編號分別為1,2,3……10按順時針方向圍坐成一圈,每次隨機(jī)產(chǎn)生一個數(shù)m,m的范圍為[3,7]的隨機(jī)奇數(shù),從第10個人開始逆時針報數(shù),當(dāng)報到m的人出列,圈內(nèi)剩下的人,重新產(chǎn)生隨機(jī)數(shù)m,重新開始報數(shù),如此下去,直到所有人出列為止。如:若每次參數(shù)的隨機(jī)數(shù)m都為5,從第10個開始報數(shù),依次出列的為6-1-5-9-2-3-10-7-4-8
小李編寫了如下程序求解10個人的出列順序。程序運(yùn)行界面如圖1所示,點擊求解按鈕后,在Textl中輸出出列順序,在Text2中顯示隨機(jī)數(shù)據(jù)的值。
(1)在劃線出填寫正確的代碼
Private
Sub
Command1
_Click()
Dim
ld(1
To
10)
As
Boolean,
i
As
Integer,
j
As
Integer
Dim
rs
As
Integer,
C
As
Integer,
m
As
Integer
Randomize
For
i=1
To
10
ld(i)
=
True'數(shù)組元素為
True表示第i人當(dāng)前在隊列中
Next
i
c=0:rs=10
_______
m
=Int(Rnd
3)
2+3
Do
While
rs
<>
0
If
ld(i)
=
True
Then
_________
If
c=m
Then
ld(i)
=
False
Text1.Text
=
Text1.Text
+
Str(i)
___________
c=0
End
If
End
If
i
=i-1
If
____________Then
i=10
Loop
End
Sub
(2)加框處兩語句互換下順序,會不會對出列順序產(chǎn)生影響______(選填:會/不會)。
8.求不大于n的五位正整數(shù)中,滿足高兩位與低兩位相同,且能被3除余2的所有數(shù)之和。
(1)本題適用的算法是(
),此算法的基本實現(xiàn)方法是(
)。
A.枚舉算法,循環(huán)中嵌套循環(huán)
B.查找算法,循環(huán)中嵌套分支
C.枚舉算法,循環(huán)中嵌套分支
D.查找算法,循環(huán)中嵌套循環(huán)
(2)設(shè)x為五位正整數(shù),以下檢驗條件的分析,正確的是(
)。
A.x
\
100
=
x
mod
100
and
x
mod
3=2
B.x
\
1000
=
x
mod
100
and
x
mod
3=2
C.x
\
100
=
x
mod
1000
and
x
mod
3=2
D.x
\
1000
=
x
mod
1000
and
x
mod
3=2
(3)請編寫程序,完成題目要求的功能。
9.小奕同學(xué)基于排序算法設(shè)計了一個數(shù)字矩陣排序的程序。程序界面如下圖所示,在文本框中輸入矩陣大小,點擊“生成”按鈕Command1,在左側(cè)列表框List1中輸出一個長寬均為指定大小的隨機(jī)整數(shù)矩陣,隨機(jī)整數(shù)范圍為[1,99]。點擊“排序”按鈕Command2,結(jié)果輸出在右側(cè)列表框List2中,奇數(shù)行從左到右依次遞增,偶數(shù)行從右至左依次遞增,且保持輸出矩陣的長寬不變。
(1)實現(xiàn)上述功能的VB程序如下,顯示數(shù)據(jù)用的additem是一種________(單選,填字母:A.屬性名/B.事件名/C.方法名/D.過程名)。
(2)請在劃線處填入合適的代碼。
(3)程序中加框處代碼有錯,請改正。
Dim
a
(1
To
100)
As
Integer
Dim
n
As
Integer
Function
dq
(s
As
String,L
As
Integer)
As
String
'自定義對齊函數(shù)Rem在輸入的字符串s前加若干空格,輸出長度為L的字符串,代碼略
End
Function
Private
Sub
Command1_Click()'生成數(shù)字矩陣
'隨機(jī)生成n^2個數(shù)字,存儲在數(shù)組a中,代碼略
'以一行n個,共n行的格式顯示在List1中,代碼略
End
Sub
Private
Sub
Command2_Click'數(shù)字矩陣排序
Dim
i
As
Integer,k
As
Integer,j
As
Integer,s
As
String
Dim
f
As
Boolean
List2.Clear
f
=
True
For
i
=
1
To
n^2
Step
n
s=
"
"
For
j
=
i
To
k=n^2
Do
While

If
a(k)
<
a(k-1)
Then
t
=
a(k):a(k)
=
a(k-1):a(k-1)
=
t
End
If
k
=
k-1
Loop
If
f
=
True
Then
s=s+
"
"+dq(Str(a(j)),2)
Else
s=s+
"
"+dq(Str(a(j)),2)+s
End
If
Next
j
List2.AddItems

Next
i
End
Sub
10.求最大連續(xù)子矩陣和。給出一個矩陣,序列元素有正整數(shù)、0、負(fù)整數(shù),在矩陣中限定一塊區(qū)域,并要求找到該限定區(qū)域內(nèi)的一個子矩陣,使得這個子矩陣與限定區(qū)域同寬但可能不同高,且包含的所有元素之和為限定區(qū)域矩陣中最大值,在和最大的前提下還要求該子矩陣包含的元素個數(shù)最多。
算法描述如下:
(1)從第一行開始向下進(jìn)行累加,累加和若大于之前的最大和,則記錄此時的最大和及結(jié)束位置;
(2)若累加和等于之前的最大和,但元素個數(shù)大于之前的最大和的元素個數(shù),則記錄此連續(xù)子矩陣的結(jié)束位置;
(3)若累加和小于
0,則重新開始記錄;
(4)若有符合條件的多個連續(xù)子矩陣,則輸出最先找到的子矩陣。
小俞編寫了一個實現(xiàn)該功能的
VB
程序,窗體加載時生成
m
n個序列數(shù)據(jù),依次存放在數(shù)組
a,并顯示在列表框
List1
中,在文本框
Text1
中輸入該矩陣限定區(qū)域的左上角位置,在文本框
Text2
中輸入右下角位置,單擊“計算”按鈕
Command1
后,找出連續(xù)和最大的子矩陣,在標(biāo)簽
Label3
上顯示最大連續(xù)子矩陣和,在Label4
上顯示該連續(xù)子矩陣的元素個數(shù),在
Label5
上顯示該連續(xù)子矩陣開始與結(jié)束位置。程序運(yùn)行界面如圖所示。
(1)在設(shè)計程序界面時,要清空文本框中的顯示內(nèi)容,應(yīng)修改文本框的___________
屬性
(2)VB
程序代碼如下,請在劃線處填入合適的代碼。
Const
m
=
12:
Const
n
=
6
Dim
a(1
To
m
n)
As
Integer
Private
Sub
Form_Load()
'生成
m
n
個數(shù)據(jù),并顯示在列表框
List1
,代碼略
End
Sub
Private
Sub
Command1_Click()
Dim
i
As
Integer,j
As
Integer,k
As
Integer,temp
As
Integer
Dim
length
As
integer,begin
As
Integer
,sum
As
Integer
Dim
ks
As
String,js
As
String
Dim
xy(1
to
4)
As
Integer
,
hsum(1
to
m
n)
As
Integer
'讀取文本框
Text1
的數(shù)值分別存儲到數(shù)組
xy(1)、xy(2),
讀取文本框
Text2
的數(shù)值分別存儲到數(shù)組
xy(3)、xy(4),xy(1)、xy(3)表示所在行,xy(2)、xy(4)表示所在列,代碼略
For
i
=
1
To
xy(3)
-
xy(1)
+
1
hsum(i)
=
0
Next
i
'求限定區(qū)域內(nèi)每行數(shù)據(jù)之和
For
i
=
1
To
xy(3)
-
xy(1)
+
1
For
j
=
1
To________
hsum(i)
=
hsum(i)
+
a((xy(1)
+
i
-
2)
n
+
xy(2)
+
j
-
1)
Next
j
Next
i
'找出最大連續(xù)之矩陣和
temp
=
0:
sum
=
0:
length
=
0:
begin
=
0
For
i
=
1
To
xy(3)
-
xy(1)
+
1
If
temp
+
hsum(i)
>
sum
Then
sum
=
temp
+
hsum(i)
length
=
i
-
begin
k
=
i
ElseIf
temp
+
hsum(i)
=
sum
And________
Then
length
=
i
-
begin
k
=
i
End
If
If
temp
+
hsum(i)
<
0
Then
begin
=
i
temp
=
0
Else
temp
=
temp
+
hsum(i)
End
If
Next
i
ks
="("
+_________+
","
+
Str(xy(2))
+
")"
'




js
="("
+
Str(k
+
xy(1)
-
1)
+
","
+
Str(xy(4))
+
")"
'結(jié)束位置
Label3.Caption
=
"最大子矩陣和為
:"
+
Str(Sum)
Label4.Caption
=
"子矩陣中的元素個數(shù)為:"
+
Str(length
(xy(4)
-
xy(2)
+
1))
Label5.Caption
=
"子矩陣位置為:"
+
ks
+
","
+
js
End
Sub
11.使用Python自身提供的IDLE集成開發(fā)環(huán)境錄入以下代碼及調(diào)試
運(yùn)行,檢測結(jié)果。
#
雞兔同籠
for
x
in
range(1,23):
y=35-x
if
4
x+2
y==94:
print("兔子有%s只,雞有%s只"%(x,y))
特別提示:代碼錄入完畢,調(diào)試運(yùn)行,檢測錯誤,討論錯誤原因,上網(wǎng)查找錯誤格式的處置辦法,直至能正確輸出結(jié)果。
12.請編寫Python程序,實現(xiàn)如下功能需求:
1)程序運(yùn)行后,給出文字提示:“請輸入一個正整數(shù):”
2)輸入一個整數(shù)n按回車后,程序輸出從1-n所有整數(shù)中既是3的倍數(shù)又是5的倍數(shù)的數(shù)。
3)不要超過5行代碼。
程序運(yùn)行舉例:
13.某考試的多選題有“A、B、C、D、E”5個答案選項。閱卷的評分標(biāo)準(zhǔn)為:“全部選對的得2分,選對但不全的得1分,不選或有選錯的得0分”。閱卷算法描述如下:
例如,標(biāo)準(zhǔn)答案為“ABE”,則對應(yīng)得分表如下所示。
學(xué)生答案
ABE
AB
AE
BE
A
B
E
AC
......
字符串
11001
11000
10001
01001
10000
01000
00001
10100
......
十進(jìn)制數(shù)(x)
25
24
17
9
16
8
1
20
......
ans(x)
2
1
1
1
1
1
1
0
0
小溫依據(jù)上述描述設(shè)計了“多選題閱卷”的VB程序,實現(xiàn)如下功能:在文本框Text1中輸入標(biāo)準(zhǔn)答案(大寫字母),先單擊“初始化”按鈕
Command1,在數(shù)組ans中生成所有答案組合對應(yīng)
的分值,然后單擊“閱卷”按鈕Command2,從數(shù)
據(jù)庫中讀取學(xué)生的答案并進(jìn)行閱卷,在列表框List1中顯示得分結(jié)果。程序運(yùn)行界面如圖所示。
(1)若標(biāo)準(zhǔn)答案為“ACD”,則數(shù)組元素ans?(18)的值為
(2)請在劃線處填入合適的代碼。
Dim?ans(0?To?31)?As?Integer
Private?Sub?Command1_Click()
Dim?b(0?To?4)?As?Integer
Dim?s?As?String,?c?As?String,?sum?As?Integer,?k?As?Integer
'初始化數(shù)組ans和數(shù)組b,各元素的初始值均為0。代碼略
s?=?Text1.Text:k?=?Len(s)
???
For?i?=?1?To?k
????????
c?=?Mid(s,?i,?1)
????????
b(Asc(c)?-?65)?=?2?^?(69?-?Asc(c))
????
Next?i
????
For?i?=?0?To?4
????????
If?b(i)?<>?0?Then
????????????
ans(b(i))?=?1
????????????
sum?=

????????
End?If
????
Next?i
???
ans(sum)?=?2
???
'當(dāng)標(biāo)準(zhǔn)答案含3個及以上選項時,學(xué)生答案選其中2個選項可得1分
????
i?=?0
????
Do?While?k?>=?3?And?i?<=?4
????????
For?j?=?i?+?1?To?4
???????????
If?b(i)?
?b(j)?<>?0?Then?ans(b(i)?+?b(j))?=?1
????????
Next?j
????????
i?=?i?+?1
????
Loop
???
'當(dāng)標(biāo)準(zhǔn)答案含4個及以上選項時,學(xué)生答案選其中3個選項可得1分
????
i?=?0
????
Do?While?k?>=?4?And?i?<=?4
????????
For?j?=?i?+?1?To?4
????????????
If?b(i)?
?b(j)
=?0?Or?k?=?5?Then?

????????
Next?j
????????
i?=?i?+?1
???
Loop
???
'當(dāng)標(biāo)準(zhǔn)答案含5個選項時,學(xué)生答案選其中4個選項可得1分。代碼略
?
End?Sub
Private?Sub?Command2_Click()
????
Dim?xh(1?To?1000)?As?String,?answer(1?To?1000)?As?String
??
'從數(shù)據(jù)庫中讀取學(xué)生學(xué)號和答案的數(shù)據(jù)分別存儲在數(shù)組xh和answer中
'記錄總數(shù)存儲在變量n中,代碼略
??
List1.Clear
????
For?i?=?1?To?n
????????
List1.AddItem?xh(i)?+?"???????"?+?answer(i)?+?"???????"?+?Str(ans(f(answer(i))))
????
Next?i
End?Sub
Function?f(s?As?String)?As?Integer
????
Dim?i?As?Integer,?x?As?Integer
???
x?=?0
????
For?i?=?1?To?Len(s)
??????
x?=

????
Next?i
????
f?=?x
End?Function
14.某校老師編寫一個VB程序分析學(xué)生技術(shù)成績,功能如下:在列表框List1中顯示原始學(xué)生信息,單擊“分析”按鈕Command1,統(tǒng)計各班參加考試人數(shù)、高分(97及以上)人數(shù)和均分,并按班級均分從大到小顯示在列表框List2中,程序運(yùn)行界面如圖所示。
實現(xiàn)上述功能的VB程序段如下,請回答下列問題:
(1)學(xué)生成績存儲在數(shù)據(jù)表中,其字段名是
(2)請在劃線處填入合適的代碼。
Dim
recCount
As
Integer
'存放學(xué)生人數(shù)
Dim
sClass(1
To
1000)
As
Integer
'存放學(xué)生班級
Dim
sName(1
To
1000)
As
String
'存放學(xué)生姓名
Dim
sScore(1
To
1000)
As
Integer
'存放學(xué)生成績
Private
Sub
Command1_Click()
Dim
i
As
Integer,
t
As
Integer,
nc
As
Integer
Dim
a(1
To
20)
As
Integer,
b(1
To
20)
As
Integer
'分別存放班級高分人數(shù)和班級參加考試人數(shù)
Dim
sum(1
To
20)
As
Integer,
ave(1
To
20)
As
Single
'分別存放班級總分和班級均分
Dim
c(1
To
20)
As
Integer
For
i
=
1
To
recCount

b(t)
=
b(t)
+
1
If
b(t)
=
1
Then
nc
=
nc
+
1

End
If
If
sScore(i)
>=
97
Then
a(t)
=
a(t)
+
1
sum(t)
=
sum(t)
+
sScore(i)
Next
i
For
i
=
1
To
nc
ave(c(i))
=
Int(sum(c(i))
/
b(c(i))
100
+
0.5)
/
100
Next
i
For
i
=
1
To
nc
-
1
For
j
=
nc
To
i
+
1
Step
-1
If

Then
t
=
c(j):
c(j)
=
c(j
-
1):
c(j
-
1)
=
t
End
If
Next
j
Next
i
For
i
=
1
To
nc
List2.AddItem
Str(c(i))
+
"
"
+
Str(b(c(i)))
+
"
"
+
Str(a(c(i)))
+
"
"
+
Str(ave(c(i)))
Next
i
End
Sub
Private
Sub
Form_Load()
'鏈接數(shù)據(jù)庫,代碼略
recCount
=
0
Do
While
Not
rs.EOF
recCount
=
recCount
+
1
sClass(recCount)
=
rs.Fields("class")
sName(recCount)
=
rs.Fields("name")
sScore(recCount)
=
rs.Fields("score")
rs.MoveNext
Loop
'將數(shù)據(jù)顯示在列表框List1中,代碼略
End
Sub
三、填空題
15.以下流程圖描述的算法,執(zhí)行結(jié)果是_______。
16.如圖所示,這是打印九九乘法表的程序,請你完善程序。
Private
Sub
Form_click()
Dim
i
As
Integer,
j
As
Integer
For
i
=
1
To
①________
For
j
=
1
To
②_________
Print
j;
"
";
i;
"=";
i
j;
Next
j
Print
‘換行
Next
i
End
Sub
21世紀(jì)教育網(wǎng)
www.21cnjy.com
精品試卷·第
2

(共
2
頁)
21世紀(jì)教育網(wǎng)(www.21cnjy.com)中小學(xué)教育資源及組卷應(yīng)用平臺
2.3周而復(fù)始的循環(huán)-教科版(2019)高中信息技術(shù)必修一練習(xí)
學(xué)校:___________姓名:___________班級:___________考號:___________
一、選擇題
1.下面的程序段運(yùn)行后的結(jié)果為(

s=1
for
i
in
range(1,6,2):
s=s+i
print(s)
A.15
B.10
C.12
D.9
答案:B
詳解本題主要考查程序的運(yùn)行。for循環(huán)中,變量i的變化是1,3,5,7,當(dāng)i=7時退出循環(huán),此時s的值為,s=1+1+3+5=10,故本題選B選項。
2.某算法的部分流程圖如下圖所示,輸入s=11200,執(zhí)行這部分流程后,輸出m和n的值分別是(

A.14
4
B.21
4
C.22
5
D.42
5
答案:C
【解析】
【分析】
【詳解】
本題主要考查循環(huán)結(jié)構(gòu)流程圖的讀取。
第一次循環(huán):m=0
3+11200
mod
10=0+0=0
n=1
s=11200\10=1120
第二次循環(huán):m=0
3+1120
mod
10=0+0=0
n=2
s=1120\10=112
第三次循環(huán):m=0
3+112
mod
10=0+2=2
n=3
s=112\10=11
第四次循環(huán):m=2
3+11
mod
10=6+1=7
n=4
s=11\10=1
第五次循環(huán):m=7
3+1
mod
10=21+1=22
n=5
s=1\10=0
當(dāng)s<>0不成立時,跳出循環(huán),輸出m=22
n=5,因此C選項正確。A、B、D選項均不正確。
3.有兩個VB程序段,如下所示:
已知程序段中①②兩處內(nèi)容相同,數(shù)組元素a(1)到a(10)的值依次為:6,43,21,78,33,16,80,45,12,90,執(zhí)行“程序段1”后,數(shù)組元素a(1)~a(10)的值依次為80,78,90,45
,43,33,21,16,12,6,則下列說法正確的是()
A.①和②處的填空為7
B.兩程序段的比較次數(shù)不一樣,交換次數(shù)一樣
C.執(zhí)行完程序段2后,數(shù)據(jù)6移動到了a(10)
D.兩段程序的得到的運(yùn)行結(jié)果相同
答案:A
詳解本題考查冒泡排序。根據(jù)題干,執(zhí)行“程序段1”后,數(shù)組元素a(1)~a(10)的值依次為80,78,90,45
,43,33,21,16,12,6,可知a(10)-a(4)實現(xiàn)排序,故整個排序執(zhí)行了七趟。根據(jù)程序段1,雙重for循環(huán)的內(nèi)循環(huán)for
j=1
to
10-i,這是一個下沉的排序,對整個程序段總共要執(zhí)行七趟,那么i的變化是1-7,故外循環(huán)填入7。選項A正確。兩個程序段都執(zhí)行七趟,比較次數(shù)一樣。執(zhí)行完程序段2后,數(shù)據(jù)6移動到了a(8)。故本題選A。
4.有如下
VB
程序段:
i
=
1
Do
While
i
<=
5
a(i)
=
(Int(Rnd
6)
+
5)
(i
Mod
2
+
1)
For
j
=
1
To
i
-
1
If
a(j)
=
a(i)
Then
i
=
i
-
1:
Exit
For
Next
j
i
=
i
+
1
Loop
執(zhí)行該程序段后,a(1)到
a(5)各元素的值可能是(
)。
A.18,8,16,6,12
B.11,5,10,6,20
C.14,10,12,10,20
D.5,6,7,8,9
答案:A
【解析】
【分析】
【詳解】
本題考查的是VB循環(huán)語句。首先考慮取值范圍,int(rnd
6)+5
產(chǎn)生隨機(jī)整數(shù)范圍是[5,
10],當(dāng)
i
為奇數(shù)時,
(Int(Rnd
6)
+
5)
(i
Mod
2
+
1)的范圍是{10,12,14,16,18,20};當(dāng)
i
為偶數(shù)時,
(Int(Rnd
6)
+
5)
(i
Mod
2
+
1)的范圍是整數(shù)[5,
10]。接著
a
數(shù)組滿足不重復(fù)的條件。所以選項
BCD
都不對。
5.編寫了一個統(tǒng)計數(shù)組元素a(1)到a(n)中的“升序段”個數(shù)s。例:如圖所示的數(shù)據(jù)序列,其“升序段”的個數(shù)等于3的VB程序:
k=0
s=0
For
i=2
To
n
If
a(i)>a(i-1)
Then
End
If
If
k=1
Then
s=s+1
Nexti
Textl.Text=Str(s)
方框中的代碼由以下三部分組成:
①k=0
②k=k+1
③Else
代碼順序正確的選項是(

A.①③②
B.②③①
C.③②①
D.②①③
答案:B
詳解本題考查的是VB循環(huán)、選擇語句。閱讀程序可知,k表示每個升序段中元素的個數(shù),s是表示升序段的個數(shù)。由If
a(i)>a(i-1)
Then可知,接下來升序段中元素的個數(shù)增加1,否則為統(tǒng)計下一個升序段中元素的個數(shù)做準(zhǔn)備即k=0。故代碼順序為:②③①。選項B正確。
6.有如下
VB
程序段:
Const
n=
10
Dim
a(1
To
n)
As
Integer
,
b(1
To
n)
As
Integer
For
i
=
1
To
n
b(i)
=
i
Next
i
For
i
=
2
To
n
j
=
i
-
1
t
=
b(i)
Do
While
a(b(j))
>
a(t)
b(j
+
1)
=
b(j)
j
=
j
-
1
If
j
=
0
Then
Exit
Do
Loop
b(j
+
1)
=
t
Next
i
若數(shù)組a中的數(shù)據(jù)依次為:69,16,44,17,34,46,10,29,37,51
,執(zhí)行程序后,b(1)~b(10)的值為(

A.3
5
4
10
1
9
8
6
7
2
B.7
2
4
8
5
9
3
6
10
1
C.5
8
2
1
4
7
3
9
10
6
D.1
6
2
4
8
9
7
10
3
5
答案:B
【解析】
【分析】
【詳解】
本題主要考查VB中數(shù)組及循環(huán)結(jié)構(gòu)的使用。“Exit
Do”用以跳出Do循環(huán),Do循環(huán)的循環(huán)條件為“a(b(j))
>
a(t)”,由題意可知為“a(b(i-1))
>
a(b(i))”,程序執(zhí)行中數(shù)組b變化過程為:2,1,3,4,5,6,7,8,9,10—>2,3,1,4,5,6,7,8,9,10—>2,4,3,1,5,6,7,8,9,10—>2,4,5,3,1,6,7,8,9,10—>2,4,5,3,6,1,7,8,9,10,—>7,2,4,5,3,6,1,8,9,10—>7,2,4,8,5,3,6,1,9,10—>7,2,4,8,5,9,3,6,1,10—>7,2,4,8,5,9,3,6,10,1。故B選項正確。其余選項均不符合題意。
二、操作題
7.出列順序有10個人,編號分別為1,2,3……10按順時針方向圍坐成一圈,每次隨機(jī)產(chǎn)生一個數(shù)m,m的范圍為[3,7]的隨機(jī)奇數(shù),從第10個人開始逆時針報數(shù),當(dāng)報到m的人出列,圈內(nèi)剩下的人,重新產(chǎn)生隨機(jī)數(shù)m,重新開始報數(shù),如此下去,直到所有人出列為止。如:若每次參數(shù)的隨機(jī)數(shù)m都為5,從第10個開始報數(shù),依次出列的為6-1-5-9-2-3-10-7-4-8
小李編寫了如下程序求解10個人的出列順序。程序運(yùn)行界面如圖1所示,點擊求解按鈕后,在Textl中輸出出列順序,在Text2中顯示隨機(jī)數(shù)據(jù)的值。
(1)在劃線出填寫正確的代碼
Private
Sub
Command1
_Click()
Dim
ld(1
To
10)
As
Boolean,
i
As
Integer,
j
As
Integer
Dim
rs
As
Integer,
C
As
Integer,
m
As
Integer
Randomize
For
i=1
To
10
ld(i)
=
True'數(shù)組元素為
True表示第i人當(dāng)前在隊列中
Next
i
c=0:rs=10
_______
m
=Int(Rnd
3)
2+3
Do
While
rs
<>
0
If
ld(i)
=
True
Then
_________
If
c=m
Then
ld(i)
=
False
Text1.Text
=
Text1.Text
+
Str(i)
___________
c=0
End
If
End
If
i
=i-1
If
____________Then
i=10
Loop
End
Sub
(2)加框處兩語句互換下順序,會不會對出列順序產(chǎn)生影響______(選填:會/不會)。
答案:①
i=10

c=c+1

rs=rs-1

i=0
不會
詳解本題考查VB綜合能力。(1)初始化i的值,填入i=10。(2)報數(shù)數(shù)量加1,填入c=c+1。(3)出列后總?cè)藬?shù)減1,故填入rs=rs-1。(4)當(dāng)i=0時候,代表轉(zhuǎn)到了最后一人,故i=10。(5)對出列順序沒有影響。
8.求不大于n的五位正整數(shù)中,滿足高兩位與低兩位相同,且能被3除余2的所有數(shù)之和。
(1)本題適用的算法是(
),此算法的基本實現(xiàn)方法是(
)。
A.枚舉算法,循環(huán)中嵌套循環(huán)
B.查找算法,循環(huán)中嵌套分支
C.枚舉算法,循環(huán)中嵌套分支
D.查找算法,循環(huán)中嵌套循環(huán)
(2)設(shè)x為五位正整數(shù),以下檢驗條件的分析,正確的是(
)。
A.x
\
100
=
x
mod
100
and
x
mod
3=2
B.x
\
1000
=
x
mod
100
and
x
mod
3=2
C.x
\
100
=
x
mod
1000
and
x
mod
3=2
D.x
\
1000
=
x
mod
1000
and
x
mod
3=2
(3)請編寫程序,完成題目要求的功能。
答案:(1)
C
(2)
B
(3)
Dim
x
As
Long,
s
As
Double,
n
As
Long
n
=
val(InputBox("輸入"))
s
=
0
For
x
=
10000
To
n
Step
1
If
x
\
1000
=
x
Mod
100
And
x
Mod
3
=
2
Then
s
=
s
+
x
End
If
Next
x
Print
s
詳解本題考查VB綜合能力。(1)求不大于n的五位正整數(shù)中,滿足高兩位與低兩位相同,且能被3除余2的所有數(shù)之和適合采用枚舉算法,枚舉算法是指從所有候選答案中去搜索正確的解,使用該算法需要滿足兩個條件,所以在代碼中需要分支結(jié)構(gòu)。故選C。(2)x
\
1000
=
x
mod
100
and
x
mod
3=2可以判斷高兩位與低兩位相同,且能被3除余2的整數(shù),故選B。(3)根據(jù)題目意思,完成代碼。
9.小奕同學(xué)基于排序算法設(shè)計了一個數(shù)字矩陣排序的程序。程序界面如下圖所示,在文本框中輸入矩陣大小,點擊“生成”按鈕Command1,在左側(cè)列表框List1中輸出一個長寬均為指定大小的隨機(jī)整數(shù)矩陣,隨機(jī)整數(shù)范圍為[1,99]。點擊“排序”按鈕Command2,結(jié)果輸出在右側(cè)列表框List2中,奇數(shù)行從左到右依次遞增,偶數(shù)行從右至左依次遞增,且保持輸出矩陣的長寬不變。
(1)實現(xiàn)上述功能的VB程序如下,顯示數(shù)據(jù)用的additem是一種________(單選,填字母:A.屬性名/B.事件名/C.方法名/D.過程名)。
(2)請在劃線處填入合適的代碼。
(3)程序中加框處代碼有錯,請改正。
Dim
a
(1
To
100)
As
Integer
Dim
n
As
Integer
Function
dq
(s
As
String,L
As
Integer)
As
String
'自定義對齊函數(shù)Rem在輸入的字符串s前加若干空格,輸出長度為L的字符串,代碼略
End
Function
Private
Sub
Command1_Click()'生成數(shù)字矩陣
'隨機(jī)生成n^2個數(shù)字,存儲在數(shù)組a中,代碼略
'以一行n個,共n行的格式顯示在List1中,代碼略
End
Sub
Private
Sub
Command2_Click'數(shù)字矩陣排序
Dim
i
As
Integer,k
As
Integer,j
As
Integer,s
As
String
Dim
f
As
Boolean
List2.Clear
f
=
True
For
i
=
1
To
n^2
Step
n
s=
"
"
For
j
=
i
To
k=n^2
Do
While

If
a(k)
<
a(k-1)
Then
t
=
a(k):a(k)
=
a(k-1):a(k-1)
=
t
End
If
k
=
k-1
Loop
If
f
=
True
Then
s=s+
"
"+dq(Str(a(j)),2)
Else
s=s+
"
"+dq(Str(a(j)),2)+s
End
If
Next
j
List2.AddItems

Next
i
End
Sub
答案:(1)
C
(2)

k>
=
j+1
②f
=
Not
f
(3)
i+n-1
詳解本題考查VB綜合能力。(1)additem是一種方法名。(2)第一空,DO
While循環(huán)是冒泡排序的內(nèi)循環(huán),根據(jù)題干,每次排序排第i行的n個數(shù)據(jù),從a(j)到a(j+n-1)的排序,故填入k>=j+1。(3)第二空,f代表奇偶行,奇數(shù)行f為True,偶數(shù)行反之,故填入f=Not
f。(4)每次排序排第i行的n個數(shù)據(jù),加框處改為i+n-1。
10.求最大連續(xù)子矩陣和。給出一個矩陣,序列元素有正整數(shù)、0、負(fù)整數(shù),在矩陣中限定一塊區(qū)域,并要求找到該限定區(qū)域內(nèi)的一個子矩陣,使得這個子矩陣與限定區(qū)域同寬但可能不同高,且包含的所有元素之和為限定區(qū)域矩陣中最大值,在和最大的前提下還要求該子矩陣包含的元素個數(shù)最多。
算法描述如下:
(1)從第一行開始向下進(jìn)行累加,累加和若大于之前的最大和,則記錄此時的最大和及結(jié)束位置;
(2)若累加和等于之前的最大和,但元素個數(shù)大于之前的最大和的元素個數(shù),則記錄此連續(xù)子矩陣的結(jié)束位置;
(3)若累加和小于
0,則重新開始記錄;
(4)若有符合條件的多個連續(xù)子矩陣,則輸出最先找到的子矩陣。
小俞編寫了一個實現(xiàn)該功能的
VB
程序,窗體加載時生成
m
n個序列數(shù)據(jù),依次存放在數(shù)組
a,并顯示在列表框
List1
中,在文本框
Text1
中輸入該矩陣限定區(qū)域的左上角位置,在文本框
Text2
中輸入右下角位置,單擊“計算”按鈕
Command1
后,找出連續(xù)和最大的子矩陣,在標(biāo)簽
Label3
上顯示最大連續(xù)子矩陣和,在Label4
上顯示該連續(xù)子矩陣的元素個數(shù),在
Label5
上顯示該連續(xù)子矩陣開始與結(jié)束位置。程序運(yùn)行界面如圖所示。
(1)在設(shè)計程序界面時,要清空文本框中的顯示內(nèi)容,應(yīng)修改文本框的___________
屬性
(2)VB
程序代碼如下,請在劃線處填入合適的代碼。
Const
m
=
12:
Const
n
=
6
Dim
a(1
To
m
n)
As
Integer
Private
Sub
Form_Load()
'生成
m
n
個數(shù)據(jù),并顯示在列表框
List1
,代碼略
End
Sub
Private
Sub
Command1_Click()
Dim
i
As
Integer,j
As
Integer,k
As
Integer,temp
As
Integer
Dim
length
As
integer,begin
As
Integer
,sum
As
Integer
Dim
ks
As
String,js
As
String
Dim
xy(1
to
4)
As
Integer
,
hsum(1
to
m
n)
As
Integer
'讀取文本框
Text1
的數(shù)值分別存儲到數(shù)組
xy(1)、xy(2),
讀取文本框
Text2
的數(shù)值分別存儲到數(shù)組
xy(3)、xy(4),xy(1)、xy(3)表示所在行,xy(2)、xy(4)表示所在列,代碼略
For
i
=
1
To
xy(3)
-
xy(1)
+
1
hsum(i)
=
0
Next
i
'求限定區(qū)域內(nèi)每行數(shù)據(jù)之和
For
i
=
1
To
xy(3)
-
xy(1)
+
1
For
j
=
1
To________
hsum(i)
=
hsum(i)
+
a((xy(1)
+
i
-
2)
n
+
xy(2)
+
j
-
1)
Next
j
Next
i
'找出最大連續(xù)之矩陣和
temp
=
0:
sum
=
0:
length
=
0:
begin
=
0
For
i
=
1
To
xy(3)
-
xy(1)
+
1
If
temp
+
hsum(i)
>
sum
Then
sum
=
temp
+
hsum(i)
length
=
i
-
begin
k
=
i
ElseIf
temp
+
hsum(i)
=
sum
And________
Then
length
=
i
-
begin
k
=
i
End
If
If
temp
+
hsum(i)
<
0
Then
begin
=
i
temp
=
0
Else
temp
=
temp
+
hsum(i)
End
If
Next
i
ks
="("
+_________+
","
+
Str(xy(2))
+
")"
'




js
="("
+
Str(k
+
xy(1)
-
1)
+
","
+
Str(xy(4))
+
")"
'結(jié)束位置
Label3.Caption
=
"最大子矩陣和為
:"
+
Str(Sum)
Label4.Caption
=
"子矩陣中的元素個數(shù)為:"
+
Str(length
(xy(4)
-
xy(2)
+
1))
Label5.Caption
=
"子矩陣位置為:"
+
ks
+
","
+
js
End
Sub
答案:text
①xy(4)
-
xy(2)
+
1
②i-begin
>
length
③Str(k
-
length
+
xy(1))
詳解本題考查VB綜合能力。(1)在設(shè)計程序界面時,要清空文本框中的顯示內(nèi)容,應(yīng)修改文本框的text屬性。(2)xy(1)、xy(3)表示所在行,xy(2)、xy(4)表示所在列,內(nèi)循環(huán)表示限定區(qū)域有多少列,故填入xy(4)
-
xy(2)
+
1。(3)根據(jù)題干若累加和等于之前的最大和,但元素個數(shù)大于之前的最大和的元素個數(shù),則記錄此連續(xù)子矩陣的結(jié)束位置,填入i-begin
>
length。(4)開始位置表示為Str(k
-
length
+
xy(1))。
11.使用Python自身提供的IDLE集成開發(fā)環(huán)境錄入以下代碼及調(diào)試
運(yùn)行,檢測結(jié)果。
#
雞兔同籠
for
x
in
range(1,23):
y=35-x
if
4
x+2
y==94:
print("兔子有%s只,雞有%s只"%(x,y))
特別提示:代碼錄入完畢,調(diào)試運(yùn)行,檢測錯誤,討論錯誤原因,上網(wǎng)查找錯誤格式的處置辦法,直至能正確輸出結(jié)果。
答案:錯誤1:兔子4只腿,最多只能是23只,而
range(1,23)只取到22,沒取到23,故應(yīng)改為:
range(1,24)
錯誤2:縮進(jìn)錯誤,y=35-x、if
4
x+2
y==94:是for語句中的語句塊,應(yīng)縮進(jìn)。print("兔子有%s只,雞有%s只"%(x,y))是if語句中的語句塊,應(yīng)縮進(jìn)。
詳解本題考查的是Python調(diào)試。本題程序錯誤如下:
錯誤1:兔子4只腿,最多只能是23只,而
range(1,23)只取到22,沒取到23,故應(yīng)改為:
range(1,24)
錯誤2:縮進(jìn)錯誤,y=35-x、if
4
x+2
y==94:是for語句中的語句塊,應(yīng)縮進(jìn)。print("兔子有%s只,雞有%s只"%(x,y))是if語句中的語句塊,應(yīng)縮進(jìn)。
調(diào)試完最終輸出:兔子有12只,雞有23只。
12.請編寫Python程序,實現(xiàn)如下功能需求:
1)程序運(yùn)行后,給出文字提示:“請輸入一個正整數(shù):”
2)輸入一個整數(shù)n按回車后,程序輸出從1-n所有整數(shù)中既是3的倍數(shù)又是5的倍數(shù)的數(shù)。
3)不要超過5行代碼。
程序運(yùn)行舉例:
答案:n=input("請輸入一個正整數(shù):
")
n=int(n)
For
i
in
range(15,n+1,15)
print(i)
【解析】
【分析】
【詳解】
本題考查的是Python循環(huán)語句。range函數(shù),第一個參數(shù)表示開始,第二個參數(shù)表示停止,第三個參數(shù)表示步長。print缺省的話默認(rèn)是換行輸出。
13.某考試的多選題有“A、B、C、D、E”5個答案選項。閱卷的評分標(biāo)準(zhǔn)為:“全部選對的得2分,選對但不全的得1分,不選或有選錯的得0分”。閱卷算法描述如下:
例如,標(biāo)準(zhǔn)答案為“ABE”,則對應(yīng)得分表如下所示。
學(xué)生答案
ABE
AB
AE
BE
A
B
E
AC
......
字符串
11001
11000
10001
01001
10000
01000
00001
10100
......
十進(jìn)制數(shù)(x)
25
24
17
9
16
8
1
20
......
ans(x)
2
1
1
1
1
1
1
0
0
小溫依據(jù)上述描述設(shè)計了“多選題閱卷”的VB程序,實現(xiàn)如下功能:在文本框Text1中輸入標(biāo)準(zhǔn)答案(大寫字母),先單擊“初始化”按鈕
Command1,在數(shù)組ans中生成所有答案組合對應(yīng)
的分值,然后單擊“閱卷”按鈕Command2,從數(shù)
據(jù)庫中讀取學(xué)生的答案并進(jìn)行閱卷,在列表框List1中顯示得分結(jié)果。程序運(yùn)行界面如圖所示。
(1)若標(biāo)準(zhǔn)答案為“ACD”,則數(shù)組元素ans?(18)的值為
(2)請在劃線處填入合適的代碼。
Dim?ans(0?To?31)?As?Integer
Private?Sub?Command1_Click()
Dim?b(0?To?4)?As?Integer
Dim?s?As?String,?c?As?String,?sum?As?Integer,?k?As?Integer
'初始化數(shù)組ans和數(shù)組b,各元素的初始值均為0。代碼略
s?=?Text1.Text:k?=?Len(s)
???
For?i?=?1?To?k
????????
c?=?Mid(s,?i,?1)
????????
b(Asc(c)?-?65)?=?2?^?(69?-?Asc(c))
????
Next?i
????
For?i?=?0?To?4
????????
If?b(i)?<>?0?Then
????????????
ans(b(i))?=?1
????????????
sum?=

????????
End?If
????
Next?i
???
ans(sum)?=?2
???
'當(dāng)標(biāo)準(zhǔn)答案含3個及以上選項時,學(xué)生答案選其中2個選項可得1分
????
i?=?0
????
Do?While?k?>=?3?And?i?<=?4
????????
For?j?=?i?+?1?To?4
???????????
If?b(i)?
?b(j)?<>?0?Then?ans(b(i)?+?b(j))?=?1
????????
Next?j
????????
i?=?i?+?1
????
Loop
???
'當(dāng)標(biāo)準(zhǔn)答案含4個及以上選項時,學(xué)生答案選其中3個選項可得1分
????
i?=?0
????
Do?While?k?>=?4?And?i?<=?4
????????
For?j?=?i?+?1?To?4
????????????
If?b(i)?
?b(j)
=?0?Or?k?=?5?Then?

????????
Next?j
????????
i?=?i?+?1
???
Loop
???
'當(dāng)標(biāo)準(zhǔn)答案含5個選項時,學(xué)生答案選其中4個選項可得1分。代碼略
?
End?Sub
Private?Sub?Command2_Click()
????
Dim?xh(1?To?1000)?As?String,?answer(1?To?1000)?As?String
??
'從數(shù)據(jù)庫中讀取學(xué)生學(xué)號和答案的數(shù)據(jù)分別存儲在數(shù)組xh和answer中
'記錄總數(shù)存儲在變量n中,代碼略
??
List1.Clear
????
For?i?=?1?To?n
????????
List1.AddItem?xh(i)?+?"???????"?+?answer(i)?+?"???????"?+?Str(ans(f(answer(i))))
????
Next?i
End?Sub
Function?f(s?As?String)?As?Integer
????
Dim?i?As?Integer,?x?As?Integer
???
x?=?0
????
For?i?=?1?To?Len(s)
??????
x?=

????
Next?i
????
f?=?x
End?Function
答案:(1)1
(2)①
sum
+
b(i)
或sum
+
2
^
(4

i)

ans(sum
-
b(i)
-
b(j))
=
1

x
+
Val(Mid(s,
i,
1))
2
^
(Len(s)
-
i)或者x
+
Val(Mid(s,
i,
1))
2
^
(5
-
i)或者
x
+
Val(Mid(s,
Len(s)
-
i
+
1,
1))
2
^
(i
-
1)或者
x
+
Val(Mid(s,
6
-
i,
1))
2
^
(i
-
1)
或者
x
2
+
Val(Mid(s,
i,
1))
詳解標(biāo)題考查VB綜合能力。(1)若標(biāo)準(zhǔn)答案為“ACD”,則數(shù)組元素ans(18)表示選了AD,得1分。(2)代碼第一空,將正確答案轉(zhuǎn)換的十進(jìn)制求和,故填入sum+b(i)。(2)代碼第二空,b(i)和b(j)是錯誤答案,那么反過來就是正確答案之一,故填入ans(sum-b(i)-b(j))=1。(3)代碼第三空,自定義函數(shù)將二進(jìn)制轉(zhuǎn)為十進(jìn)制,位權(quán)相加,故填入x+Val(Mid(s,i,1))
2^(Len(s)-i)。
14.某校老師編寫一個VB程序分析學(xué)生技術(shù)成績,功能如下:在列表框List1中顯示原始學(xué)生信息,單擊“分析”按鈕Command1,統(tǒng)計各班參加考試人數(shù)、高分(97及以上)人數(shù)和均分,并按班級均分從大到小顯示在列表框List2中,程序運(yùn)行界面如圖所示。
實現(xiàn)上述功能的VB程序段如下,請回答下列問題:
(1)學(xué)生成績存儲在數(shù)據(jù)表中,其字段名是
(2)請在劃線處填入合適的代碼。
Dim
recCount
As
Integer
'存放學(xué)生人數(shù)
Dim
sClass(1
To
1000)
As
Integer
'存放學(xué)生班級
Dim
sName(1
To
1000)
As
String
'存放學(xué)生姓名
Dim
sScore(1
To
1000)
As
Integer
'存放學(xué)生成績
Private
Sub
Command1_Click()
Dim
i
As
Integer,
t
As
Integer,
nc
As
Integer
Dim
a(1
To
20)
As
Integer,
b(1
To
20)
As
Integer
'分別存放班級高分人數(shù)和班級參加考試人數(shù)
Dim
sum(1
To
20)
As
Integer,
ave(1
To
20)
As
Single
'分別存放班級總分和班級均分
Dim
c(1
To
20)
As
Integer
For
i
=
1
To
recCount

b(t)
=
b(t)
+
1
If
b(t)
=
1
Then
nc
=
nc
+
1

End
If
If
sScore(i)
>=
97
Then
a(t)
=
a(t)
+
1
sum(t)
=
sum(t)
+
sScore(i)
Next
i
For
i
=
1
To
nc
ave(c(i))
=
Int(sum(c(i))
/
b(c(i))
100
+
0.5)
/
100
Next
i
For
i
=
1
To
nc
-
1
For
j
=
nc
To
i
+
1
Step
-1
If

Then
t
=
c(j):
c(j)
=
c(j
-
1):
c(j
-
1)
=
t
End
If
Next
j
Next
i
For
i
=
1
To
nc
List2.AddItem
Str(c(i))
+
"
"
+
Str(b(c(i)))
+
"
"
+
Str(a(c(i)))
+
"
"
+
Str(ave(c(i)))
Next
i
End
Sub
Private
Sub
Form_Load()
'鏈接數(shù)據(jù)庫,代碼略
recCount
=
0
Do
While
Not
rs.EOF
recCount
=
recCount
+
1
sClass(recCount)
=
rs.Fields("class")
sName(recCount)
=
rs.Fields("name")
sScore(recCount)
=
rs.Fields("score")
rs.MoveNext
Loop
'將數(shù)據(jù)顯示在列表框List1中,代碼略
End
Sub
答案:(1)
score
(2)①t
=
sClass
(i)
②c(nc)=
t或其他相同答案
③ave(c(j))
>
ave(c(j
-1))
【解析】
【分析】
【詳解】
本題考查VB綜合能力,VB連接數(shù)據(jù)庫等(1)根據(jù)sScore(recCount)=rs.Fields(score)這條代碼可知,學(xué)生成績存儲在數(shù)據(jù)表中,其字段名是score。(2)代碼第一空,聯(lián)系上下代碼,可知此處關(guān)于t的賦值,t代表班級,故t=sClass(i)是該空答案。(3)代碼第二空是c數(shù)組賦值,c數(shù)組中存放的是按順尋訪問到的是第幾個班級,故c(nc)=t是該空答案。(4)第三空是冒泡排序內(nèi)循環(huán),根據(jù)平均分降序排序,故填入ave(c(j))
>
ave(c(j-1))。
三、填空題
15.以下流程圖描述的算法,執(zhí)行結(jié)果是_______。
答案:@@@@########
【解析】
【分析】
【詳解】
本題考查的知識點是程序的識讀。
初始值t=0,n=1,執(zhí)行輸出“@@@@”語句,再執(zhí)行判斷n>2表達(dá)式,不符合該條件表達(dá)式,故執(zhí)行輸出“####”,再執(zhí)行n=n+1語句,即n=2,再執(zhí)行判斷t=1表達(dá)式,不符合該條件表達(dá)式,故執(zhí)行判斷n>2表達(dá)式,不符合該條件表達(dá)式,故執(zhí)行輸出“####”,再執(zhí)行n=n+1語句,即n=3,再執(zhí)行判斷t=1表達(dá)式,不符合該條件表達(dá)式,故執(zhí)行判斷n>2表達(dá)式,符合該條件表達(dá)式,故執(zhí)行輸出“”,
再執(zhí)行t=1語句,再執(zhí)行n=n+1語句,即n=4;再執(zhí)行判斷t=1表達(dá)式,符合該條件表達(dá)式,故程序結(jié)束。
所以流程圖的執(zhí)行結(jié)果為:@@@@########。
故答案為@@@@########。
16.如圖所示,這是打印九九乘法表的程序,請你完善程序。
Private
Sub
Form_click()
Dim
i
As
Integer,
j
As
Integer
For
i
=
1
To
①________
For
j
=
1
To
②_________
Print
j;
"
";
i;
"=";
i
j;
Next
j
Print
‘換行
Next
i
End
Sub
答案:9
i
【解析】
【分析】
【詳解】
本題主要考查程序循環(huán)的嵌套。題中外層循環(huán)決定乘法表豎向執(zhí)行的次數(shù),內(nèi)層循環(huán)決定橫向執(zhí)行的次數(shù),因此答案①9②i。
21世紀(jì)教育網(wǎng)
www.21cnjy.com
精品試卷·第
2

(共
2
頁)
21世紀(jì)教育網(wǎng)(www.21cnjy.com)

展開更多......

收起↑

資源列表

<pre id="tfb94"><li id="tfb94"></li></pre>

<bdo id="tfb94"><rt id="tfb94"></rt></bdo>
  • <menu id="tfb94"><dl id="tfb94"></dl></menu><i id="tfb94"><acronym id="tfb94"><sub id="tfb94"></sub></acronym></i>

    1. 主站蜘蛛池模板: 樟树市| 石阡县| 英德市| 久治县| 惠州市| 徐水县| 丽江市| 金塔县| 尉犁县| 吉林省| 永福县| 汤阴县| 湖州市| 屏东县| 临沧市| 潞城市| 靖州| 邵阳市| 北辰区| 伊川县| 博客| 大宁县| 金溪县| 大悟县| 北海市| 汤阴县| 崇明县| 涡阳县| 芜湖县| 静安区| 开平市| 长宁县| 潜江市| 于都县| 西乌珠穆沁旗| 岢岚县| 宁德市| 明溪县| 云浮市| 铜梁县| 苏尼特左旗|