6[單選題] 窗體上有兩個水平滾動條HV、I-IT,還有一個文本框Textl和一個標題為“計算”的命令按鈕Commandl,并編寫了以下程序.
運行程序,單擊“計算”按鈕,可根據速度與時間計算出距離,并顯示計算結果。對以上程序,下列敘述中正確的是( )。
A.過程調用語句不對,應為calc(HV。HT)
B.過程定義語句的形式參數不對,應為Sub calc(x As Control。Y As Contr01)
C.計算結果在文本框中顯示出來
D.程序不能正確運行
參考答案:C
參考解析:訪問滾動條控件的值,可以直接使用控件的名稱,也可以在名稱后面指明Value屬性。滾動條位置是用數值來表示的,因此定義Calc過程時參數應該定義為Inte.ger類型。程序中,Textl.Text=x+Y語句說明計算的結果在文本框中顯示出來。
7[單選題]
A.Sqr((a+b/a*b)
B.Sqr((a+b/a)*b
C.((a+b/(a·b)^/2
D.((a+b/a*b^(1/2)
參考答案:A
參考解析:算術運算符優先級從高到低依次是乘方,取負,乘法和除法運算符。整除運算符,加法和減法運算符;數學函數的平方根(Square)函數是sqr(x),返回值為自變量x的平方根。從表達式上看首先a,b之和除以a,b的乘積,最后求其平方根。故首先將(a+B.,然后是(a+B.,接著是求商,即(a+B./(a*B.,最后求平方根,因為平方根的優先級比乘除法高,故應為Sqr((a+B./a*B.,故B選項正確。A項中表達式與數學式不大對應,A項是先求a、b之和,接著除以a,再接著乘以b,這和題目意思不對應,故A項錯誤。平方根函數是sqr(x),故c項和D項錯誤。
8[單選題] 設有如圖所示窗體和以下程序:
程序運行時,在Textl文本框中輸入“Basic”(如圖所示),然后單擊Commandl按鈕,則產生的結果是( )。
A.文本框中無內容,焦點在文本框中
B.文本框中為“Basic”,焦點在文本框中
C.文本框中為“Basic'’,焦點在按鈕上
D.文本框中為“Visual Basic”,焦點在按鈕上
參考答案:A
參考解析:題目程序的功能為,當單擊命令按鈕時,Textl失去焦點,激發Textl的LostFocus事件,在此事件中,程序判斷文本框中字符串是否為“BASIC”,如果是則退出事件過程,繼續執行命令按鈕的單擊事件過程,文本框中顯示“VisualBasic”,如果不是則文本框內容置空,焦點返回剄文本框中等待輸入,不會執行命令按鈕的單擊事件過程。題目中輸入了“Basic”,與“BASIC”不符,因此文本框置空,焦點回到文本框中。
9[簡答題]以下數列:1,1,2,3,5,8,13,21…的規律是從第3個數開始,每個數都是其前面兩個數之和。
在考生文件夾下有一個工程文件sjt5.vbp。窗體中已經給出了所有控件,如圖所示。請編寫適當的事件過程完成如下功能:選中一個單選按鈕后,單擊“計算”按鈕,則計算出上述數列第n項的值,并在文本框中顯示,n是選中的單選按鈕后面的數值(提示:因計算結果較大,應使用長整型變量)。
注意:不能修改已經給出的程序和已有的控件的屬性;在結束程序運行之前,必須選中一個單選按鈕,并單擊“計算”按鈕以獲得一個結果;必須使用窗體右上角的關閉按鈕結束程序,否則無成績。最后把修改后的文件按原文件名存盤。
參考解析:
【考點分析】本題考點有:文本框的Text屬性,單選按鈕的Name、Caption和Value屬性,單選按鈕控件數組,For循環語句,If條件判斷語句以及內部函數Val()。
【解題思路】單選按鈕數組常用于提供唯一選擇,Value屬性值決定每個單選按鈕的選中狀態:Fise為未選中,True為選中,Caption屬性用于設置單選按鈕的標題。本題在For循環語句(循環變量k的初值為0,終值應為3)中逐一檢查每個單選按鈕是否被選中,用變量n記錄選中單選按鈕的索引號。然后取消對當前選中單選按鈕的選擇,使單選按鈕數組中的下一個按鈕被選中。如果當前已經選中最后一個單選按鈕,則將n賦值為0,重新從單選按鈕數組的第一個元素開始。
【操作步驟】
步驟1:打開本題工程文件。
步驟2:打開代碼編輯窗口,在指定位置編寫如下代碼。
參考答案
Private Sub Command1_Click()
Dim a () As Long
Dim i As Integer
Dim n As Integer
´Op1.Count是單選按鈕數目,這里用的是控件數組
For i=0 To Op1.Count-l
´判斷哪一項被選擇,把它后面的數值賦給n,確定n值
If Op1(i).Value=True Then
n=Val(Op1(i).Caption)
Exit For
End If
Next
ReDim a(n)´重新申請空間,這里是動態申請
a(1)=1
a(2)=1´數列第一項、第--4值確定
For i=3 To n
a(i)=a(i-1)+a(i-2)’后一項值是
前兩項值之和
Next
Text1.Text=a(n)
End Sub
步驟3:調試并運行程序,關閉程序后按題目要求存盤。
【易錯提示】在定義數組a的時候,要注意定義為長整型Long,可以防止溢出;單選按鈕數組的Index屬性分別為0,1,2,在編寫循環語句的時候要注意循環變量Opl.Count-1。
10[簡答題]在考生文件夾下有一個工程文件sjt5.vbp,相應的窗體文件為sjt5.fem,此外還有一個名為datain.txt的文本文件,其內容如下:.
32 43 78 58 28 12 98 57 31 42 53 64
75 86 97 13 24 35 46 57 68 79 80 59 37
程序運行后,單擊窗體,將把文件datain.txt中的數據輸入到二維數組Mat中,按5行、5列的矩陣形式顯示在窗體上,并輸出矩陣左上一右下對角線上的數據,如圖所示。在窗體的代碼窗口中,已給出了部分程序,·這個程序不完整,請把它補充完整,并能正確運行。
要求:去掉程序中的注釋符,把程序中的?改為正確的內容,使其實現上述功能,但不能修改程序中的其他部分。最后將修改后的文件按原文件名存盤。
參考解析:
7rab函數常與Prim#語句或Print方法一起使用,對輸出進行定位,其語法為:
Tab[(n)]
其中,可選的參數n表示在顯示或打印下一個表達式之前移動的列數。在使用數組時,應先定義。Input#語句用于讀取順序文件中一項(或多項)數據給一個變量(或多個變量),其語法格式為:
Input#FileNumber.Varlist
其中:FileNumber參數表示打開文件的句柄,Varlist為變量列表。語句“Option Base l”用于限定數組下標的下限默認為1。
本題中文件以Input方式打開,使用一個5行、5列的二維數組Mat來存放數據,并使用一個嵌套的For循環顯示矩陣,對于5 * 5的矩陣來說,位于左上到右下對角線上的元素具有行號等于列號的特點。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |