填空題:
(1) 在樹結(jié)構(gòu)中,樹根結(jié)點沒有 【1】 。
答案:前件
解析: 在樹結(jié)構(gòu)中,每一個結(jié)點只有一個前件,稱為父結(jié)點,沒有前件的結(jié)點只有一個,稱為樹的根結(jié)點;每一個結(jié)點可以有多個后件,它們都稱為該結(jié)點的子結(jié)點。沒有后件的結(jié)點稱為葉子結(jié)點。
(2) Jackson結(jié)構(gòu)化程序設(shè)計方法是英國的M.Jackson提出的,它是一種面向 【2】 的設(shè)計方法。
答案:數(shù)據(jù)結(jié)構(gòu)
解析: 結(jié)構(gòu)化分析方法主要包括:面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法(SA-Structured analysis),面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法(JSD-Jackson system development method) 和面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開發(fā)方法(DSSD-Data structured system development method)。
(3) 面向?qū)ο蟮哪P椭,最基本的概念是對象?【3】 。
答案:類
解析: 面向?qū)ο竽P椭,最基本的概念是對象和類。對象是現(xiàn)實世界中實體的模型化;將屬性集和方法集相同的所有對象組合在一起,可以構(gòu)成一個類。
(4) 軟件設(shè)計模塊化的目的是 【4】 。
答案:降低復(fù)雜性
解析: 模塊化是指解決一個復(fù)雜問題時自頂向下逐層把軟件系統(tǒng)劃分成若干模塊的過程,由此分解來降低復(fù)雜性。
(5) 數(shù)據(jù)模型按不同應(yīng)用層次分成3種類型,它們是概念數(shù)據(jù)模型、 【5】 和物理數(shù)據(jù)模型。
答案:邏輯數(shù)據(jù)模型
解析:數(shù)據(jù)模型按不同層次分成概念數(shù)據(jù)模型、邏輯數(shù)據(jù)模型和物理數(shù)據(jù)模型三類。
(6) 在Visual Basic的立即窗口內(nèi)輸入以下語句
X=65<CR>
?Chr$(X) <CR>
在窗口中顯示的結(jié)果是 【6】 。
答案:A
解析: Chr$()是求ASCII字符的函數(shù),格式是Chr$(表達(dá)式),其中"表達(dá)式"應(yīng)該是合法的ASCII碼值,Chr$()函數(shù)把"表達(dá)式"的值轉(zhuǎn)換為相應(yīng)的ASCII字符。本題中X=65對應(yīng)的ASCII碼是字符A,所以顯示的結(jié)果應(yīng)該是A。
(7) 下列程序是判斷一個整數(shù)(>=3) 是否為素數(shù),請補(bǔ)充完整。
Dim n As Integer
n=InputBox("請輸入一個整數(shù)(>=3) ")
k=Int(Sqr(n) )
i=2
swit=0
While i <=k And swit=0
If n Mod i=0 Then
【7】
Else
【8】
End If
Wend
If swit=0 Then
Print n; "是一個素數(shù)。"
Else
Print n; "不是一個素數(shù)。"
End If
答案:swit=0
swit=1
解析:素數(shù)是只能被1和本身整除的正整數(shù),在本題的程序中,swit是一個標(biāo)志變量,如果"swit=0",則表示n不能被整除;如果能被一個整數(shù)整除,則swit變?yōu)?;
While循環(huán)執(zhí)行的條件有兩個,一個是"I<=k",另一個是"swit=0",必須兩個條件同時成立才執(zhí)行循環(huán),當(dāng)I>k時,顯然不必再檢查n是否能被I整除;而如果"swit=1",則表示n已被整除,肯定不是素數(shù),也不必檢查了。
只有"I<=k"和"swit=0"兩者同時成立時才需要檢查"n是否為素數(shù)",循環(huán)只有一個判斷操作,即判斷n能否被I整除,如果不能,則I=I+1。以便為下一次判斷作準(zhǔn)備。
(8) 下面程序是用來打印九九乘法表的,請補(bǔ)充完整。
Dim i As Integer, j As Integer, Str1$
Str1=""
For i=1 To 9
For j=1 To 9
If 【9】 Then
Str1=Str1 + Str$(j) + "×" + Str$(i) + "=" + Str$(Val(i j) )
Else
Str1=Str1 & Chr(13)
【10】
End If
Next j
Next i
Print Str1
答案:j<=i
j>i
解析: (1) Exit語句總是出現(xiàn)在If語句或Select Case語句內(nèi)部,而If語句或Select Case語句在循環(huán)內(nèi)嵌套,用Exit語句中斷循環(huán)。函數(shù)首先定義了兩個Integer型變量i、j,并將空格賦給Str1;第一個For循環(huán)的變量I從1到9步長為1,第二個循環(huán)的變量i也是從1到9步長為1,循環(huán)體為選擇結(jié)構(gòu),它是用來輸出i*j的值,所以j的值應(yīng)該小于此時i的值,那么If的判斷語句為j<=i,當(dāng)滿足條件時執(zhí)行Then后面的語句,即輸出i*j的值,如果不滿足執(zhí)行Else后面的語句,并跳出內(nèi)循環(huán)。
(9) 在窗體上有一個命令按鈕,然后編寫如下程序:
Function Trans(ByVal num As Long) As Long
Dim k As Long
k=1
Do While num
k=k * (num Mod 10)
num=num \ 10
Loop
Trans=k
Print Trans
End Function
Private Sub Command1_Click()
Dim m As Long
Dim s As Long
m=InputBox("請輸入一個數(shù)")
s=Trans(m)
End Sub
程序運(yùn)行時,單擊命令按鈕,在輸入對話框中輸入"789",輸出結(jié)果為 【11】 ,在輸入
對話框中輸入"987"輸出 【12】 ,在輸入對話框中輸入"879",輸出結(jié)果為 【13】 。
答案:504
504
解析: 關(guān)鍵字ByVal用來實現(xiàn)傳值,也就是說在定義通用過程時,如果形參前面有關(guān)鍵字Byval,則該參數(shù)用傳值方式傳遞,否則用傳址方式傳遞;在Sub過程中,先將輸入的"456"賦給變量m,m作為參數(shù),調(diào)用Trans過程;在Trans過程中以num作為Do While的循環(huán)條件;在循環(huán)體中,調(diào)用Mod函數(shù),將num的個位數(shù)字與k相乘,然后賦給k,第一次循環(huán)時,num的值是789,所以k的值為9,執(zhí)行num = num \ 10后,num的值為78,循環(huán)三次后,num變?yōu)?,退出循環(huán),k值等于9×8×7=504,并將k的值作為返回值;當(dāng)輸入"987"或"879"時執(zhí)行相同的操作,結(jié)果都為504?梢钥闯,此程序可用于求一個數(shù)值各位上數(shù)值的乘積。
(10) 下面程序的功能是產(chǎn)生10個小于100(不含100) 的隨機(jī)正整數(shù),并統(tǒng)計其中5的倍數(shù)所占比例,但程序不完整,請補(bǔ)充完整。
Sub PR()
Randomize
Dim a(10)
For j=1 To 10
a(i) =Int( 【14】 )
If 【15】 Then k=k + 1
Print a(j)
Next j
Print
Print k / 10
End Sub
答案:(99 * Rnd)+ 1
a(j) Mod 5 = 0
解析: 小于100的隨機(jī)正整數(shù)用(99 * Rnd)+ 1來表示;求倍數(shù)用取模來表示,即a(j) Mod 5 = 0,用k作計數(shù)器,累計計算能被5整除的數(shù)的個數(shù)。
希望與更多計算機(jī)等級考試的網(wǎng)友交流,請進(jìn)入計算機(jī)等級考試論壇
更多信息請訪問:考試吧計算機(jī)等級考試欄目
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |