2023年電大VisualBasic程序設(shè)計(jì)形成性考核冊(cè)參考答_第1頁(yè)
2023年電大VisualBasic程序設(shè)計(jì)形成性考核冊(cè)參考答_第2頁(yè)
2023年電大VisualBasic程序設(shè)計(jì)形成性考核冊(cè)參考答_第3頁(yè)
2023年電大VisualBasic程序設(shè)計(jì)形成性考核冊(cè)參考答_第4頁(yè)
2023年電大VisualBasic程序設(shè)計(jì)形成性考核冊(cè)參考答_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

《VisualBasic程序設(shè)計(jì)》形成性考核冊(cè)作業(yè)及答案

2023年《VisualBasic程序設(shè)計(jì)》形成性考核冊(cè)作業(yè)及答案作業(yè)1?一、選擇題?1、在設(shè)計(jì)應(yīng)用程序時(shí),可以查看到應(yīng)用程序工程所有組成部分的窗口是(D)。?

A、窗體設(shè)計(jì)

B、代碼

C、屬性

D、工程資源管理器窗口?2、窗體的load事件的觸發(fā)時(shí)機(jī)是(B)。?

A、用戶單擊窗體時(shí)

B、窗體被加載時(shí)

C、窗體顯示之后

D、窗體卸載時(shí)

3、與傳統(tǒng)的程序設(shè)計(jì)語(yǔ)言相比,VisualBasic最突出的特點(diǎn)是(C)。?

A、結(jié)構(gòu)化程序設(shè)計(jì)

B、程序開(kāi)發(fā)環(huán)境

C、事件驅(qū)動(dòng)編程機(jī)制

D、程序調(diào)試技術(shù)

4、VB6.0集成開(kāi)發(fā)環(huán)境的主窗口中不涉及(C)。?

A、標(biāo)題欄

B、菜單欄

C、狀態(tài)欄

D、工具欄

5、假如對(duì)象的名稱為Mytext,并且對(duì)象有一個(gè)屬性Text,那么在代碼中引用該屬性的對(duì)的格式是(B)。?

A、text.Mytext

B、Mytext.Text

C、Mytext.(Text)

D、Mytext*Text?6、下列可以激活屬性窗口的操作是(D)。?

A、用鼠標(biāo)雙擊窗體的任何部位

B、執(zhí)行“工程“菜單中的”屬性窗口“命令?

C、按Ctrl+F4

D、按F4

7、假定已在窗體上畫(huà)了多個(gè)控件,并有一個(gè)控件是活動(dòng)的,為了在屬性窗口中設(shè)立窗體的屬性,預(yù)先應(yīng)執(zhí)行的操作是(A)。

A、單擊窗體上沒(méi)有控件的地方

B、單擊任一個(gè)控件

C、不執(zhí)行任何操作

D、雙擊窗體的標(biāo)題欄?8、假如要在文本框鍵入字符時(shí),只顯示某個(gè)字符,假如(*),應(yīng)設(shè)立文本框的(B)屬性。

A、Caption

B、PasswordChar

C、Text

D、Char

9、假如想要在文本框中的內(nèi)容在運(yùn)營(yíng)時(shí)不能編輯,需要文本框的(A)屬性設(shè)立為True.?ALocked

B、MultiLine

C、TabStop

DVisible

10對(duì)于定期器(Tiner)控制,設(shè)立其定期是否啟動(dòng)的屬性是(C)?A、Index

B、Tag

C、Enabled

D、Left

11、要在窗口體Fornl內(nèi)顯示“myfrm”使用的語(yǔ)句是(C)

A、Form.caption=“myfrm”B、Fornl.caption=“myfrm”

C、forml.print“myfrm”D、form.print“myfrm”

12、對(duì)象的性質(zhì)和狀態(tài)特性稱為(C)?A、事件

B、方法

C、屬性

D、類

13、下列對(duì)的的賦值語(yǔ)句是(B)

A、x+y=20

B、y=x+20

C、3x=y

D、s=

14、當(dāng)使用上下文相關(guān)的幫助時(shí),選擇要幫助的內(nèi)容,然后按(D)鍵,就可出現(xiàn)MSDN窗口直接顯示所需的幫助信息。?

A、Help

B、F10

C、Ese

D、F1?15、將調(diào)試通過(guò)的工程經(jīng)“文獻(xiàn)”菜單的“生成.exe文獻(xiàn)“編繹成名.exe后,將該可執(zhí)行文獻(xiàn)放到其它機(jī)器上不能運(yùn)營(yíng)的重要因素是(D)。?A、運(yùn)營(yíng)的機(jī)器上無(wú)VB系統(tǒng)

B、缺少.frm窗體文獻(xiàn)

C、該執(zhí)行文獻(xiàn)有病毒

D、以上因素都不對(duì)?二、填空題?1、當(dāng)進(jìn)入VB集成開(kāi)發(fā)環(huán)境后,發(fā)現(xiàn)沒(méi)有顯示“工具箱”窗口。應(yīng)選擇視圖菜單的

工具箱選項(xiàng),使“工具箱”窗口顯示。?2、在VB中,事件過(guò)程名由對(duì)象名和

事件名

構(gòu)成。?3、工程文獻(xiàn)的擴(kuò)展名是

vbp,窗體文獻(xiàn)擴(kuò)展名是

frm

4、對(duì)象時(shí)代碼和數(shù)據(jù)的集合,例如,VisualBasic中的

窗體、

按鈕、

文本框

等都是對(duì)象。

5、對(duì)象的方法用于

實(shí)行某種操作功能

。當(dāng)方法不需要任何參數(shù)并且也沒(méi)有返回值,調(diào)用對(duì)象的方法的格式為

對(duì)象名.方法名

。例如對(duì)窗體Forml使用Show方法,應(yīng)寫(xiě)成

form1.show

。?6、要使文本框顯示滾動(dòng)條,需要將其ScrollBars

屬性設(shè)立為

3

7、欲設(shè)立定期的時(shí)間間隔為4秒,則屬性Interval的值為

4000。?8、要使標(biāo)簽框的大小隨Caption屬性做自動(dòng)調(diào)整,應(yīng)將AutoSize

屬性設(shè)立為

True

。

9、通過(guò)

窗體布局窗口

可以在設(shè)計(jì)時(shí)直觀地調(diào)整窗體在屏幕的位置。

10、要想在代碼中給名為txtshow的文框賦予文本:GOODWORK!時(shí),應(yīng)當(dāng)編寫(xiě)的語(yǔ)句是

txtshow.text=”GOODWORK!”

。?11、若命令按鈕的名稱為Cmdopen,程序規(guī)定單擊以上命令按鈕,打開(kāi)一個(gè)窗口frml,請(qǐng)對(duì)以下事件過(guò)程填空。?PrivateSubCmdopen

click()

?

Frm1.show

EndSud

12、事件就是對(duì)象上所發(fā)生的事情,VisualBasic中的事件如單擊

、

裝入

鼠標(biāo)移動(dòng)等。一個(gè)對(duì)象響應(yīng)的事件可以有

多個(gè),用戶不能建立新的事件。事件過(guò)程是指

響應(yīng)某個(gè)事件后所執(zhí)行的代碼

。假設(shè)某一事件過(guò)程如下:

PrivateSubcmd1_Click()?

Form1.Caption=”VB示例”?EndSub

則響應(yīng)過(guò)程的對(duì)象名是

cmd1

,事件名是

Click

13、對(duì)象的方法用于在對(duì)象上實(shí)行某種操作功能

。當(dāng)方法不需要任何參數(shù)并且也沒(méi)有返回值,調(diào)用對(duì)象的方法格式為

對(duì)象名.方法名

,例如,對(duì)窗體Form1使用Show方法,應(yīng)寫(xiě)成

Form1.Show

14、為了在編寫(xiě)代碼時(shí)能自動(dòng)語(yǔ)法檢查,必須執(zhí)行工具

菜單中的

選項(xiàng)

命令,打開(kāi)

選項(xiàng)

對(duì)話框,然后選擇“編輯器”選項(xiàng)卡中的自動(dòng)語(yǔ)法檢測(cè)。?15、定期器(Timer)控件可辨認(rèn)的事件是Timer,了生該事件的時(shí)間間隔定期由定期器的

Interval屬性設(shè)立,其單位為毫秒。

三、問(wèn)答題?1、什么是可視化編程和事件驅(qū)動(dòng)?

?答:可視化編程是指無(wú)須編程,僅通過(guò)直觀的操作方式即可完畢界面的設(shè)計(jì)工作的這種編程方式。?當(dāng)VB的應(yīng)用程序運(yùn)營(yíng)后,系統(tǒng)處在等待狀態(tài),當(dāng)某個(gè)事件發(fā)生后,程序就去執(zhí)行此事件的事件過(guò)程,當(dāng)這個(gè)事件過(guò)程執(zhí)行完后,系統(tǒng)又處在等待另一個(gè)事件發(fā)生的狀態(tài),這就是事件驅(qū)動(dòng)程序方式。

2、對(duì)象、屬性、事件和文獻(xiàn)之間的關(guān)系如何??答:對(duì)象是代碼和數(shù)據(jù)的封裝體。對(duì)象的操作通過(guò)與該對(duì)象有關(guān)的屬性、事件、方法來(lái)描述。?屬性是一個(gè)對(duì)象的基本特性,每個(gè)對(duì)象都有它自己的屬性。

方法是對(duì)象要執(zhí)行的動(dòng)作。?事件是在對(duì)象上所發(fā)生的事情。?3、簡(jiǎn)述事件驅(qū)動(dòng)機(jī)制與傳統(tǒng)編程方式的不同。?答:傳統(tǒng)的面向過(guò)程的應(yīng)用程序中,應(yīng)用程序自身控制了執(zhí)行那一部分代碼按何種順序執(zhí)行代碼,程序從第一行代碼開(kāi)始執(zhí)行并按應(yīng)用程序中預(yù)定的途徑執(zhí)行,用戶無(wú)法改變程序的執(zhí)行流程。而事件驅(qū)動(dòng)機(jī)制則由用戶來(lái)決定執(zhí)行的路線。這就是兩者的不同。?4、簡(jiǎn)述事件驅(qū)動(dòng)的工作過(guò)程。?答:事件驅(qū)動(dòng)的工作過(guò)程如下:(1)啟動(dòng)應(yīng)用程序,裝載和顯示窗體。(2)窗體或窗體上的控件等待事件的發(fā)生。(3)當(dāng)某個(gè)事件發(fā)生后,執(zhí)行其相應(yīng)的事件過(guò)程代碼。(4)反復(fù)執(zhí)行(2)和(3),直到碰到END語(yǔ)句或單擊“結(jié)束”按鈕停止程序的運(yùn)營(yíng)。?四、程序設(shè)計(jì)題

1、在窗體上添加一個(gè)文本框和兩個(gè)命令按鈕,并把兩個(gè)命令按鈕的標(biāo)題分別設(shè)立為“隱藏文本框”和“顯示文本框”。當(dāng)單擊第一個(gè)命令按鈕時(shí),文本框消失;而當(dāng)單擊第二個(gè)命令按鈕時(shí),文本框重新出現(xiàn),并在文本框中顯示“VB程序設(shè)計(jì)”(字體大小為16)。程序運(yùn)營(yíng)界面如圖所示。

圖1?解:“隱藏文本框”按鈕中的代碼為:Text1.Visible=False?“顯示文本框”按鈕中的代碼為:Text1.Visible=True?

Text1.Text=”VB程序設(shè)計(jì)”?

Text1.FontSize=”16”?2、設(shè)計(jì)一個(gè)計(jì)算程序。該程序用戶界面如圖2所示,由四個(gè)文本框:文本框1(text1)、文本框2(text2)、文本框3(text3)、文本框4(text4),和三個(gè)按鈕:命令按鈕1(command1)、命令按鈕2(command2)、命令按鈕3(command3)組成。程序運(yùn)營(yíng)后,用戶按清除按鈕,則清除文本框中顯示的內(nèi)容,按計(jì)算按鈕,則計(jì)算三科平均成績(jī)。單擊退出按鈕則退出。?解:command1中的代碼為:text1=””:text2=””:text3=””:text4=””?command2中的代碼為:text4=(val(Text1)+val(Text2)+val(Text3))/3

command2中的代碼為:End?3、編寫(xiě)一收款計(jì)算程序。規(guī)定用戶輸入商品的“單價(jià)”、“數(shù)量”和“折扣”后,單擊“計(jì)算”按鈕顯示“應(yīng)付款”,單擊“清除”按鈕,清除文本框中所有的數(shù)據(jù)。程序運(yùn)營(yíng)界面如圖3所示。

答:“計(jì)算”按鈕的代碼:text4=val(Text1)*val(Text2)*val(Text3)/100

“清除”按鈕的代碼:text1=””:text2=””:text3=””:text4=””?作業(yè)2

一、選擇題

1.按照變量的作用域可將變量劃分為(B

)。

A、公有、私有、系統(tǒng)

B、全局變量、模塊級(jí)變量、過(guò)程變量?C、動(dòng)態(tài)、常數(shù)、靜態(tài)

D、Public、Private、Protected?2.可獲得字符的ASCII碼的函數(shù)是(C)。?A、ValB、FixC、Asc

D、Chr?3、要退出Do….Loop循環(huán),可使用的語(yǔ)句的(D)語(yǔ)句。

A、Exit

B、Exit

For

C、EndDo

D、ExitDo?4.把數(shù)值型轉(zhuǎn)換為字符串型需要使用的函數(shù)是(B)。

A、Val

B、Str

C、Asc

D、Chr

5.關(guān)于語(yǔ)句行,下列說(shuō)法對(duì)的的是(B)。?A.一行只能寫(xiě)一條語(yǔ)句B.一條語(yǔ)句可以分多行書(shū)寫(xiě)?C.每行的首字符必須大寫(xiě)D.長(zhǎng)度不能超過(guò)255個(gè)字符

6.表達(dá)式6+10Mod4*2+1的值是(A).?A.9B.11C.1D.3

7.以下可以作為VisualBasic變量名的是(B).?A.SIN

B.CO1

C.COS(X)

D.X(-1)?8.表達(dá)式Abs(-5)+Len(“ABCDE”)的值為(C).

A.5ABCDEB.-5ABCDE

C.10

D.0?9.在代碼編輯器中,假如一條語(yǔ)句太長(zhǎng),無(wú)法在一行內(nèi)寫(xiě)下(不涉及注釋),要折行書(shū)寫(xiě),可以在行末使用續(xù)行字符(A),表達(dá)下一行是當(dāng)前行的繼續(xù).

A.一個(gè)空格加一個(gè)下劃字符(_)B.一個(gè)下劃字符(_)?C.直接回車

D.一個(gè)空格加一個(gè)字符(-)?10.Sub過(guò)程與Function過(guò)程最主線的區(qū)別是(D).

A.Sub過(guò)程可以使用Call語(yǔ)句或直接使用過(guò)程名調(diào)用,而Function過(guò)程不可以.

B.Function過(guò)程可以有參數(shù),Sub過(guò)程不可以.

C.兩種過(guò)程參數(shù)的傳遞方式不同.

D.Sub過(guò)程的過(guò)程名不能返回值,而Function過(guò)程可以通過(guò)過(guò)程名返回值.?11."X是小于80的非負(fù)數(shù)",用VB表達(dá)式表達(dá)對(duì)的的是(C).

A..0≤X<80

B.0<=X<80

C.0<=xandx<80

D.0<=xOrx<80?12.在設(shè)計(jì)菜單時(shí),假如要在菜單中加入一個(gè)菜單分隔條,則菜單分隔條的標(biāo)題必須設(shè)立為(B)?A.加號(hào)(+)

B.減號(hào)(-)

C.星號(hào)(*)

D.感慨號(hào)(!)?13.假如要在程序中顯示一個(gè)彈出式菜單,那么要調(diào)用VisualBasic中提供的方法是(D).?

A.Print

B.Move

C.Refresh

D.PopupMenu

14.下列可以用來(lái)存儲(chǔ)圖像供其他對(duì)象使用的控件是(C).

A.ToolBar

B.StatursBar

C.ImageList

D.TreeView

15.當(dāng)單擊工具攔上的按扭時(shí),會(huì)觸發(fā)的事件是(A).

A.ButtonClick

B.Change

C.Load

D.KeyPress

16.要運(yùn)用公用對(duì)話框控件來(lái)顯示”打開(kāi)文獻(xiàn)”對(duì)話框,需要調(diào)用控件的(B)方法.?

A.ShowPrinter

B.ShowOpen

C.ShowSave

D.ShowColor?17.對(duì)于窗體級(jí)變量,下列說(shuō)法中錯(cuò)誤的是(C).

A.所在窗體的各子程序都可以訪問(wèn)

B.其他窗體的子程序不能訪問(wèn)?C.所在窗體發(fā)子程序不能訪問(wèn)用Private定義的窗體級(jí)變量?D.一定要在所在窗體的通用區(qū)內(nèi)定義?18.從一個(gè)字符串中的第3個(gè)字符開(kāi)始,獲取5個(gè)字符,應(yīng)使用(B)

A.Len函數(shù)

B.Mid函數(shù)

C.Left函數(shù)

D.Right函數(shù)?19.用下面的語(yǔ)句所定義的數(shù)組的元素的個(gè)數(shù)是(D).?

DimA(-3To5)As

Integer

A.6

B.7

C.8

D.9

20.有如下程序段:

DimstrlAsString*5?Strl=”VisualBasic”?當(dāng)該段程序被執(zhí)行完時(shí),變量strl的值為(B).?

A.”Visual”

B.”Visua”

C.”V”

D.”Visual

Basic”

二、填空題?1.菜單一般有_下拉式_和_彈出式__兩種基本類型。

2.通用對(duì)話框控件可顯示的常用對(duì)話框有__打開(kāi)_、_保存_、__顏色_、__字體_、__打印_。?3.組合框具有__文本框_和__列表框_兩種控件的基本功能。?4.要使數(shù)組的默認(rèn)下標(biāo)從“1開(kāi)始,則應(yīng)在窗體或標(biāo)準(zhǔn)模塊代碼的聲明部分使用語(yǔ)句__OptionBase1_。

5.調(diào)用Sub過(guò)程時(shí),使用__(dá)call__語(yǔ)句,語(yǔ)句用于把程序控制傳送到一個(gè)VisualBasic的Sub過(guò)程。?6.若已建立了Form1和Form2兩個(gè)窗體,默認(rèn)啟動(dòng)窗體為Form1。通過(guò)_工程_菜單__(dá)屬性_命令的_通用_選項(xiàng)卡,可將啟動(dòng)窗體設(shè)立為Form2。在程序中若要顯示Form1窗體,則執(zhí)行_Form1.show_語(yǔ)句。

7.列表框中項(xiàng)目的序號(hào)是從_0_開(kāi)始的。

8.Sub過(guò)程與Function過(guò)程最主線的區(qū)別是_Sub過(guò)程名無(wú)返回值,F(xiàn)unction過(guò)程名有返回值。

9.VB的代碼存儲(chǔ)在模塊中。在VB中提供了三種類型的模塊:_類模塊_、_窗體模塊__和_標(biāo)準(zhǔn)模塊_。

10.使用Hide方法會(huì)隱藏被調(diào)用的窗體,但是在調(diào)用Hide方法之后不會(huì)把窗體__卸載_,被調(diào)用的窗體中的屬性等已處在_內(nèi)存中_。?11.將下列數(shù)學(xué)式子寫(xiě)成VisualBasic表達(dá)式。?

答:2*cos(a)*sin(a)/(2*a)

⑵答:sqr(s*(s-a)*(s-b)*(s-c))

⑶sin45°:sin(45*2*3.1415/360)_

12.將下列數(shù)學(xué)式子各條件寫(xiě)成VisualBasic邏輯表達(dá)式。?

⑴1≤x<12:1<=xandx<12?

⑵A+B≥C或a-c≤c:(A+B)>=COR(a-c)<=c?

⑶a和b都為正整數(shù)或同為負(fù)數(shù):(a>=0andb>=0)or(a<=0andb<=0)?13.設(shè)A=2,B=3,C=4,D=5。表達(dá)式NotA<=COr4*B^2AndB<>A+C的值為_(kāi)False_。

14.在VisualBasic語(yǔ)言中有三種形式的循環(huán)結(jié)構(gòu)。其中,若循環(huán)的次數(shù)可以事先擬定,可使用_For…next__(dá)循環(huán);若規(guī)定先判斷循環(huán)進(jìn)行的條件,可使用_Dowhile…loop_循環(huán)或_while…Wend_循環(huán)。?15.以下語(yǔ)句的輸出結(jié)果是__3_。

a%=3.14159

Printa%

三、閱讀下列程序,寫(xiě)出程序運(yùn)營(yíng)結(jié)果。

1、PrivateSubForm_Click()?

StaticSumAsInteger?

ForI=1to100

Sum=Sum+I?

NextI?PrintSum?EndSub

程序運(yùn)營(yíng)結(jié)果為:1+2+…….+99+100=5050?2、privateSubForm_Click()

A=10:b=15:c=20:d=25

PrintA;Spc(5);b;Spc(7);c?

PrintA;Spc(8);b;Space$(5);c?

Printc;Spc(3);”+”;Spc(3);c+d?

EndSub?10(5個(gè)空格)15(7個(gè)空格)20?10(8?jìng)€(gè)空格)15(5個(gè)空格)20

20(三個(gè)空格)+(三個(gè)空格)45

3、PrivateSubForm_click()

Fori%=1to3?

Forj%=1toi?

PrintLTrim(Str(i%))+“*”+LTrim(Str(j%))+“=”;i%*j%;

Nextj%

Print

Nexti%?EndSub

1*1=1

2*1=2

2*2=4?3*1=3

3*2=6

3*3=9?

?4、PrivateSubCommand1_Click()?

Dima,bAsInteger

A=3.4

B=3.4?Text1.Text=a?Text2.Text=b?EndSub?Text1顯示3、4?Text2顯示3?5、PrivateSubForm_Click()

ForI=1to5?

PrintTab(11–I)?

ForJ=1ToI*2–1

Print“*”;?

Next?

Nexti?EndSub?

*?

***

*****?

*******?

*********?

?四、程序設(shè)計(jì)題

1、購(gòu)物優(yōu)惠程序。某商場(chǎng)為了加速促成商品流通,采用購(gòu)物打折的優(yōu)惠辦法,每位顧客一次購(gòu)物(1)在100元以上者,按九五折優(yōu)惠;(2)在200元以上者,按九折優(yōu)惠;(3)300元以上者,按八折優(yōu)惠;(4)500元以上者按七折優(yōu)惠。在窗體上添加兩個(gè)文本框和一個(gè)命令按鈕,規(guī)定在Text1中輸入購(gòu)物商品總金額,單擊命令按鈕,在Text2中輸入優(yōu)惠后的價(jià)格。程序運(yùn)營(yíng)結(jié)果如圖解所示。?

IfVal(text1)>=500thentext2=Val(text1)*0.7?ElseifVal(text1)>=300thentext2=Val(text1)*0.85

ElseifVal(text1)>=200thentext2=val(text1)*0.9?

Elseifval(text1)>=100thentext2=val(text1)*0.95?Endif

?2、輸出100~200之間不能被3整除的的數(shù),規(guī)定用Do語(yǔ)句的一種形式來(lái)實(shí)現(xiàn),程序運(yùn)營(yíng)結(jié)果如圖5所示。

窗體的裝入事件中加入如下代碼:?Dimaasinteger

A=100?Dowhilea<=200?If(amod3)<>0then

List1.additenstr(a)

Endif

A=a+1?loop

3、編寫(xiě)程序,打印如下的乘積表:

DimI,jasinteger

Print”*”:space(5):

Fori=3to12step3?

Printstr(i);space(5);?Nexti

Print?ForI=15to18?Printstr(i);space(3);?Forj=3to12step3?Printstr(i*j);space(4);?Nextj

Print?Nextj

4、設(shè)計(jì)一個(gè)計(jì)算程序。該程序用戶界面如圖7所示。規(guī)定程序運(yùn)營(yíng)后,用戶選中單擊選按鈕,則程序作10和2的相應(yīng)計(jì)算,并把計(jì)算結(jié)果在文本框中顯示出來(lái)。如用戶選中加法單選按鈕,則程序作10和2的相加,計(jì)算結(jié)果12在文本框中顯示出來(lái)。按結(jié)束,則退出。?乘法單選按鈕的單擊事件中添加如下代碼:

Text1=10*2

除法單選按鈕中添加如下代碼:?Text1=10/2

加法單選按鈕中添加如下代碼:?Text1=10+2

減法單選按鈕中添加如下代碼:text1=10-2

結(jié)束按鈕中代碼:end或unloadme?5、編寫(xiě)輸入一個(gè)0~6數(shù)字,顯示漢字對(duì)照輸出星期的Function過(guò)程。程序運(yùn)營(yíng)結(jié)果如圖8所示。?文本框的change事件中代碼如下:?Selectcaseval(text1)

Case0?Label1.caption=”星期天”+chr(13)+”(Sunday)”

Case1

Label1.caption=”星期一”+chr(13)+”(monday)”

Case2

Label1.caption=”星期二”+chr(13)+”(Tuesday)”?Case3?Label1.caption=”星期三”+chr(13)+”(wednesday)”?Case4?Label1.caption=”星期四”+chr(13)+”(thursday)”

Case5?Label1.caption=”星期五”+chr(13)+”(firday)”?Case6?Label1.caption=”星期六”+chr(13)+”(saturday)”

Endselect

?6、編寫(xiě)一個(gè)程序,當(dāng)鼠標(biāo)移到Picturel控件時(shí),鼠標(biāo)指針改變形狀;當(dāng)在Picturel控件上單擊鼠標(biāo)右鍵時(shí),通過(guò)消息框顯示“Youpressedrightbutton”,并再次改變鼠標(biāo)指針的形狀。

Picture1_mouseup?Ifbutton=2then

I=1

Msgbox”youpressedrightbutton”?Endif

Endsub

7、列表框應(yīng)用程序。規(guī)定從文本框中輸入姓名,然后按“添加”按鈕,把姓名添加到列表框中;當(dāng)選擇列表框中某一項(xiàng)時(shí),按“刪除”按鈕,從列表框中刪除;當(dāng)列表框中某一項(xiàng)時(shí),按“修改”按鈕,把列表框中選取的項(xiàng)送往文本框且“修改”按鈕變?yōu)椤靶薷拇_認(rèn)”。在文本框的內(nèi)容修改好后,按“修改確認(rèn)”按鈕,再把文本框中修改后的信息送到列表框且“修改確認(rèn)”按鈕變?yōu)椤靶薷摹?。程序運(yùn)營(yíng)結(jié)果如圖9所示。

添加按鈕代碼:list1.additemtext1.text

Text1.text=””

刪除:iflist1.text<>””then

List1.removeitem=list1.listindex?Endif?修改:?Ifcommand3.caption=“修改”then

Text1.text=list1.text?Command3.caption=”修改確認(rèn)”

Else

If

command3.caption=”修改確認(rèn)”then

List1.list=list1.listindex>=text1.text?Command3.caption=”修改”?Endif

Endif?作業(yè)3

一、選擇題?1、VisibleBasic根據(jù)計(jì)算機(jī)訪問(wèn)文獻(xiàn)的方式將文獻(xiàn)提成三類,其中不涉及(B)

A.順序文獻(xiàn)

B.Unix文獻(xiàn)

C.二進(jìn)制文獻(xiàn)

D.隨機(jī)文獻(xiàn)

2、隨機(jī)文獻(xiàn)進(jìn)行文獻(xiàn)讀取的單位是(B)?A.字節(jié)

B。記錄

C。整個(gè)文獻(xiàn)

D。字符

3、為了使目錄途徑列表框Dir1的內(nèi)容符合驅(qū)動(dòng)器列表框Drive1的選擇,應(yīng)當(dāng)(B)。

A.在Dir1_Click事件中加入Dir1.Path=Drive1.Drive?B.在Drive1_Click事件中加入Dir1.Pat(yī)h=Drive1.Drive?C.在Dir1_Click事件中加入Drive1.Path=Dir1.Drive

D.在Dir1_Click事件中加入Drive1.Path=Dir1.Drive?4、為了使drive1驅(qū)動(dòng)器列表框、dir1目錄途徑列表框和file1文獻(xiàn)列表框能同步協(xié)調(diào)工作,需要在(B)?A.drive1的Change事件過(guò)程中加入drive1.Drive=dir1.Path,在dir1的Change事件過(guò)程中加入dir1.Path=file1.Path代碼。

B.drive1的Change事件過(guò)程中加入dir1.Path=drive1.Drive,在dir1的Change事件過(guò)程中加入file1.Pat(yī)h=dir1.Path代碼。

C.dir1的Change事件過(guò)程中加入dir1.Pat(yī)h=drive1.Drive,在file1的Click事件過(guò)程中加入file1.Pat(yī)h=file1.fileName代碼。

D.dir1的Change事件過(guò)程中加入dir1.Path=drive1.Drive,在file1的Click事件過(guò)程中加入file1.Path=dir1.Path代碼。

5、下面關(guān)于順序文獻(xiàn)的描述對(duì)的的是(A)?A.每條記錄的長(zhǎng)度必須相同?B.可通過(guò)編程對(duì)文獻(xiàn)中的某條記錄方便地修改

C.數(shù)據(jù)只能以ASCII碼形式存放在文獻(xiàn)中,所以可通過(guò)文本編輯軟件顯示?D.文獻(xiàn)的組織結(jié)構(gòu)復(fù)雜?6、KILL語(yǔ)句在VB語(yǔ)言中的功能是(C)。

A.清內(nèi)存

B。清病毒

C。刪除磁盤(pán)上的文獻(xiàn)

D。清屏幕?7、可用來(lái)改變坐標(biāo)度量單位的是(D)

A.Drawstyle屬性

B.DrawWidth屬性

C.Scale方法

D.ScaleMode屬性

8、以下的屬性和方法中,可重定義坐標(biāo)系的是(C)?A.Drawstyle屬性

B.DrawWidth屬性

C.Scale

D.

ScaleMode屬性

9、當(dāng)用Line方法畫(huà)直線后,當(dāng)前坐標(biāo)在(C)

A.(0,0)

B.直線起點(diǎn)

C.直線終點(diǎn)

D.容器的中心?10、Line(200,200)-Step(500,500)將在窗體(C)畫(huà)一直線。?A.(200,200)到(500,500)

B.(200,200)到(300,300)?C.(200,200)到(700,700)

D.(300,300)到(500,500)?11、設(shè)立對(duì)象的邊框類型的屬性是(B)。?A.Drawstyle

B.Borderstyle

C.DrawWidth

D.ScaleMode?12、為了清除圖片框Picture1中的圖形,應(yīng)采用的對(duì)的方法是(B)?A.選擇圖片框,然后按Del鍵

B.執(zhí)行語(yǔ)句Picture1.picture=LoadPicture(“”)?C.執(zhí)行語(yǔ)句Picture1.picture=“”

D.選擇圖片框,在屬性窗口中選擇Picture屬性條,然后按回車鍵

13、繪制多種形狀的圖形,需要設(shè)立Shape控件的(A)屬性。?

A.Shape

B.Borderstyle

C.FillStyle

D.Style

14、繪制多種形狀的直線,需要設(shè)立Line控件的(B)屬性。

A.Shape

B.Borderstyle

C.FillStyle

D.Style

15、假如準(zhǔn)備讀文獻(xiàn),打開(kāi)順序文獻(xiàn)“text.dat”的對(duì)的語(yǔ)句是(C)

A.

open“text.dat”forwriteAs#1

B.

open“text.dat”forBinary

As#1

C.

open“text.dat”forInput

As#1?D.

open“text.dat”forRandom

As#1

16、假如準(zhǔn)備向隨機(jī)文獻(xiàn)中寫(xiě)入數(shù)據(jù),對(duì)的的語(yǔ)句是(C)

A.Print#1,rec

B.Write

#1,rec

C.Put#1,rec

D.

Get#1,rec?17、下列“CommandDialog1”控件程序代碼,CommandDialog1.Action=1,代表(B)?A.文獻(xiàn)另存為

B.打開(kāi)文獻(xiàn)

C.色彩

D.打印?18、FileFilter.Pattern=”*.bat”程序代碼執(zhí)行后,會(huì)顯示(A)。

A只包含擴(kuò)展文獻(xiàn)名為”*.bat”的文獻(xiàn)

B。第一個(gè)bat(yī)文獻(xiàn)

C.包含所有的文獻(xiàn)

D。會(huì)顯示磁盤(pán)的途徑?19、下列數(shù)據(jù)對(duì)象模型中采用OLEDB訪問(wèn)數(shù)據(jù)庫(kù)的是(C)。?A.DAO

B.RDO

C.ADO

D.RDO和ADO

20.設(shè)ADOrs為Recordset對(duì)象,從“學(xué)生基本情況表”中獲取所有記錄的語(yǔ)句是(B)

A.ADOrs.New“Select*From學(xué)生基本情況表”

B.ADOrs.Open“Select*From學(xué)生基本情況表”?C.ADOrs.Execute“Select*From學(xué)生基本情況表”

D.ADOrs.Select“Select*From學(xué)生基本情況表”

21、VB中將變量xl聲明為Excel應(yīng)用程序?qū)ο蟮姆椒ㄊ?A)

A.DimxlAsExcel.Application

B.DimxlAsExcel.Wo(hù)rkbook?C.

DimxlAsExcel.Worksheet

D.DimxlAsExcel.Workshee(cuò)ts

二、填空題?1、假如要新建一個(gè)順序文獻(xiàn),用Open語(yǔ)句時(shí),操作方式關(guān)鍵詞是output。

2.在VisualBasic程序中實(shí)現(xiàn)復(fù)制文獻(xiàn)“C:\”到D:盤(pán)根目錄下的語(yǔ)句

為filecopy

“c:\command.com”,”d:\”。

3.在VisualBasic程序中實(shí)現(xiàn)刪除文獻(xiàn)”D:\tem.tmp”的語(yǔ)句為_(kāi)_kill”d:\tem.tmp”。

4.按文獻(xiàn)號(hào)為1打開(kāi)順序文獻(xiàn)SEQNEW.DAT,用于寫(xiě)入數(shù)據(jù),語(yǔ)句?為_(kāi)__(dá)open”SEQNEW.DAT”foroutputas

#1。

5.按文獻(xiàn)號(hào)為2打開(kāi)順序文獻(xiàn)SEQOLD.DAT,用于從該文獻(xiàn)讀出數(shù)據(jù),語(yǔ)句為_(kāi)__(dá)open”SEQOLD.DAT”forinputas#2。?6.若窗體的左上角坐標(biāo)為(-200,250),右下角坐標(biāo)為(300,-150),則X軸的正向向右,Y軸的正向向上_。

7.Stretch屬性設(shè)立為_(kāi)false_時(shí),圖像框可自動(dòng)改變大小以適應(yīng)其中的圖形.

8.在圖片框Picture1中畫(huà)一個(gè)左上角在(500,500),邊長(zhǎng)為500的紅色實(shí)心正方形的語(yǔ)句為_picture1.line(500,500)-step(500,500),vbred,BF。?9.設(shè)

CurrentX=50,CurrentY=100,執(zhí)行指令”line(100,20)-Step(300,500)”后,Current=_(400,520)_.?10.使用ADO模型時(shí),可通過(guò)_ActiveConnect_屬性建立Recordset和Connection對(duì)象的連接.?11.VB中將數(shù)據(jù)庫(kù)分為本地?cái)?shù)據(jù)庫(kù)、遠(yuǎn)程數(shù)據(jù)庫(kù)和__外部數(shù)據(jù)庫(kù)_三種類型.?12.采用ADO模型時(shí),當(dāng)使用Open方法打開(kāi)一個(gè)記錄集后,與ADOrs.Fields(“學(xué)號(hào)”)等效的語(yǔ)句是_ADOrs(“符號(hào)”)_.

13.ADO模型中一般可通過(guò)Connection對(duì)象的Execute方法執(zhí)行__增長(zhǎng)_、__刪除_、__修改__等三類不返回結(jié)果集的SQL語(yǔ)句.

14.設(shè)StrSQL、Str1為字符串變量,其中Str1的值為”001”,那么執(zhí)行賦值語(yǔ)句StrSQL=”Select*fromTabel1Where學(xué)號(hào)=’”+Str1+”’”后,StrSQL的值等于_”select.*fromtabel1where學(xué)號(hào)=’001’”_.?15.在VB中,將Foxpro稱為外部數(shù)據(jù)庫(kù),Access稱為__(dá)本地?cái)?shù)據(jù)庫(kù)_,SQLServer稱為_(kāi)_遠(yuǎn)程數(shù)據(jù)庫(kù)__.

三、程序設(shè)計(jì)題?1、在窗體上建立一個(gè)驅(qū)動(dòng)器列表框、目錄列表框、文獻(xiàn)列表框、圖片框。規(guī)定程序運(yùn)營(yíng)后,驅(qū)動(dòng)器列表框Drive1的默認(rèn)驅(qū)動(dòng)器設(shè)立為C盤(pán),選擇File1中所列的確圖片文獻(xiàn)(*.Bmp和*.jpg),則相應(yīng)的圖片顯示在圖片框Picture1中。程序運(yùn)營(yíng)結(jié)果如圖10所示。

解:依據(jù)圖10設(shè)計(jì)界面,文獻(xiàn)列表框的pat(yī)tern屬性設(shè)立為:*.Bmp;*.jpg

驅(qū)動(dòng)器列表框的change事件中添加如下代碼:?chdrivedrive1.drive

dir1.pat(yī)h=drive1.drive

目錄列表框的change事件中添加如下代碼:?chdirdir1.path

file1.path=dir1.pat(yī)h?文獻(xiàn)列表框的click事件中添加如下代碼:

picture1.picture=loadpicturefile1.filename

2.余弦曲線的方程為y=cosx,畫(huà)出x從-2到2的確余弦曲線,并在坐標(biāo)軸上標(biāo)出刻度,如圖11所示。?如圖窗體的單擊事件中添加如下代碼:

Form1.scale(-2*3.14159,1)-(2*3.14159,-1)

Form1.line(-2*3.14159,0)-(2*3.14159,0)

Form1.line(0,1)-(0,-1)

Form1.currentx=0.2:form1.currentY=-0.1:print”0”?Form1.currentx=-3.2:form1.currentY=-0.1:print”-pi”

Form1.currentx=3.3:form1.currentY=-0.1:print”pi”?Form1.currentx=-6.2:form1.currentY=-0.1:print”-2pi”?Form1.currentx=5.7:form1.currentY=-0.1:print”2pi”

Form1.currentx=0.2:form1.currentY=0.5:print”0.5”

Form1.currentx=0.2:form1.currentY=-0.5:print”-0.5”?ForI=-6.282to6.282step0.08?

Form1.pset(I,cos(I))

NextI

3,使用Line控件顯示直線,并且可以顯示直線的線寬和線型.程序運(yùn)營(yíng)界面如圖12所示.

如圖添加代碼如下

復(fù)選框的單擊事件代碼:?Ifcheck1.value=1then?

Line1.borderwidth=4

Else

Line1.borderwidth=1

Endif?實(shí)線、虛線、單選框要弄成一個(gè)option1單選框控件數(shù)組。單選框單擊事件代碼:

Selectcaseindex

Case0?Line1.borderstyle=1

Case1?Line1.borderstyle=2

Case2

Line1.borderstyle=3

Endselect

4.使用Shape控件顯示幾種圖形,并可以設(shè)立圖形的邊框和填充效果等.程序運(yùn)營(yíng)界面如圖13所示.

一方面按圖作出程序界面。形狀框架里的單選框要做成option1控件數(shù)組,邊框類型框架里的單選框最成option2控件數(shù)組,填充風(fēng)格框架里的單選做成option3控件數(shù)組。?Option1單擊事件代碼如下:

Selectcaseindex

Case0?Shape1.shape=0?Case1

Shape1.shape=1

Case2

Shape1.shape=3

Case3

Shape1.shape=4?Endselect?Option2單擊事件代碼如下:

Selectcaseindex?Case0

Shape1.borderstyle=0

Case1?Shape1.borderstyle=2

Case2?Shape1.borderstyle=1?Case3?Shape1.borderstyle=3?

Case4

Shape1.borderstyle=4?Endselect?Option3單擊事件代碼如下:?

?Selectcaseindex?Case0

Shape1.fillstyle=1

Case1

Shape1.fillstyle=1

Case2?Shape1.fillstyle=3

Case3

Shape1.fillstyle=6?Endselect?5.使用SQLServer或Access建立名稱為”學(xué)生的數(shù)據(jù)庫(kù),并在其中創(chuàng)建”students”的數(shù)據(jù)庫(kù)表,其結(jié)構(gòu)及初始記錄如表1所示.使用ADO對(duì)象和MSFlexGrid控件設(shè)計(jì)數(shù)據(jù)庫(kù)列表顯示程序.程序的設(shè)計(jì)界面和運(yùn)營(yíng)結(jié)果如圖14、圖15所示。

表1?學(xué)號(hào)

姓名

專業(yè)

2023001

張紅

軟件專業(yè)?2023003

李強(qiáng)

會(huì)計(jì)專業(yè)

2023002

王麗

軟件專業(yè)?聲名對(duì)象變量ADOcn,用于創(chuàng)建與數(shù)據(jù)庫(kù)的連接?Privat(yī)eADOcnAsconnection?Readfromtable

Privatesubreadfromtable()?DimstrtmpAsstring

DimADOrsAsnewrecordset

ADOrs.activeconnection=ADOcn?ADOrs.open“select*fromstudentsorderby“學(xué)號(hào)”

MSFlexgrid1.clear

MSFlexgrid1.rows=0

MSFlexgrid1.cols=3

Strtmp=“學(xué)號(hào)”+vbtab+“姓名”+vbtab+“專業(yè)”?MSFlexgrid1.additemstrtmp?DowhilenotADOrs.eof

Strtmp=ADOrs(“學(xué)號(hào)”)+vbtab+ADOrs(“姓名”)+vbtab+ADOrs(“專業(yè)”)?MSFlexgrid1.a(chǎn)ddttemstrtmp?ADOrsmovenext?Loop?MSFlexgrid1.fixedcols=0

MSFlexgrid1.fixedrows=1?Endsub

Privatesubform_load()

DimstrDBAsstring?strDB=”provider=SQLOLEDB;LSF;UserID=sa;password=;dat(yī)abase=學(xué)生”?ifADOcnisnothingthen?setADOcn=newconnection

ADOcn.openstrDB

Endif

Readfromtable?Endsub?Privatesubcommand1_click()

Unloadme

Endsub?作業(yè)4

一、選擇題?1、WinsockServer.LocalPort=10001語(yǔ)句的含義是(

A)。?

A、設(shè)立偵聽(tīng)端口

B、設(shè)立計(jì)算機(jī)IP地址

C、設(shè)立中斷地址

D、設(shè)立通訊協(xié)議?2、當(dāng)Winsock控件處在關(guān)閉狀態(tài)時(shí),其Stat(yī)e屬性的值是(

B)。?A、1

B、0

C、2

D、6?3、相對(duì)于UDP協(xié)議而言,TCP協(xié)議是一種(

A)。

A、面向連接的協(xié)議B、無(wú)連接協(xié)議

C、計(jì)算機(jī)間不建立連接

D、合用于傳送少量數(shù)據(jù)?4、VB程序中通常不會(huì)產(chǎn)生錯(cuò)誤提醒的(D

)。

A、編譯錯(cuò)誤

B、實(shí)時(shí)錯(cuò)誤

C、運(yùn)營(yíng)時(shí)錯(cuò)誤

D、邏輯錯(cuò)誤?5、VB程序的編譯錯(cuò)誤一般可通過(guò)VB集成環(huán)境的何種設(shè)立,自動(dòng)檢測(cè)(

B)。

A、規(guī)定變量聲明

B、自動(dòng)語(yǔ)法檢測(cè)

C、自動(dòng)顯示快速信息量

D、主線無(wú)法自動(dòng)檢測(cè)

6、VB程序中設(shè)立斷點(diǎn)的按鍵是(

C

)。?A、F5鍵

B、F6鍵

C、F9鍵

D、F10鍵?7、OnErrorGoToErrLB語(yǔ)句中,ErrLB的含義是(

A

)。?A、行標(biāo)記號(hào)

B、SUB過(guò)程名

C、FUNCTION過(guò)程名

D、錯(cuò)誤號(hào)?8、Err?qū)ο笾?用來(lái)表達(dá)錯(cuò)誤描述的屬性是(B

)。?A、ErrNo

B、Description

C、Number

D、Source?二、填空題。

1、使用Winsock控件時(shí),一旦有數(shù)據(jù)到達(dá),將一方面觸發(fā)該控件的DataArrival事件。而假如要發(fā)送數(shù)據(jù),則通常使用該控件的senddata方法。

2、Winsock控件重要用來(lái)編制或基于TCP/IP經(jīng)UDP協(xié)議的通話程序。?3、ActiveXEX文獻(xiàn)的后綴是exe。

4、COM對(duì)象有兩種類型接口,即標(biāo)準(zhǔn)接口和用戶接口。?5、假如希望得到本地計(jì)算機(jī)的IP地址,可以使用Winsock控件的localIP屬性。

6、Winsock控件的BytesReceived屬性返回接受到的數(shù)據(jù),通常使用getdat(yī)a方法來(lái)獲取這些數(shù)據(jù)了。?7、Winsock1.Listen語(yǔ)句的含義是使服務(wù)程序處在偵聽(tīng)狀態(tài)等待客戶訪問(wèn)。?8、常用中的VB網(wǎng)絡(luò)編程控件重要有Winsock、InternetTransfer、WebBrowser三種。

9、VB中的程序錯(cuò)誤類型重要有編譯錯(cuò)誤、邏輯錯(cuò)誤、實(shí)時(shí)錯(cuò)誤等三種。

10、VB中用于關(guān)閉錯(cuò)誤捕獲機(jī)制的語(yǔ)句是onerrorgoto0。

三、問(wèn)答題。

1、簡(jiǎn)述基于Socket的通信過(guò)程。?

Socket在計(jì)算機(jī)提供了一個(gè)通信端口,可以通過(guò)這個(gè)端口與任何一個(gè)也同時(shí)具有Socket接口的計(jì)算機(jī)進(jìn)行通信,應(yīng)用程序在網(wǎng)絡(luò)上傳輸、接受的信息都通過(guò)這個(gè)Socket接口實(shí)現(xiàn),只需要對(duì)Socket接口進(jìn)行數(shù)據(jù)的讀寫(xiě)操作就可以了。?

?2、簡(jiǎn)要設(shè)計(jì)錯(cuò)誤解決程序的3個(gè)環(huán)節(jié)。

(1)捕獲錯(cuò)誤,并強(qiáng)制程序跳轉(zhuǎn)?(2)編寫(xiě)錯(cuò)誤解決程序,對(duì)所有可預(yù)見(jiàn)的錯(cuò)誤作出反映?(3)退犯錯(cuò)誤解決程序?

?3、簡(jiǎn)述常用的程序調(diào)式技巧?(1)事先做好備份?(2)分離受懷疑的程序

(3)縮小搜索范圍

(4)使用MSGBOX語(yǔ)句?

4、簡(jiǎn)述基于Winsock控件的開(kāi)發(fā)模式。?(1)服務(wù)器程序的開(kāi)發(fā)模式?(A)服務(wù)器程序必須設(shè)立好LOCALPORT,作為偵聽(tīng)端口,該值可設(shè)立成任意一個(gè)整數(shù),只要其他應(yīng)用和諧沒(méi)有使用過(guò)的值均可,但習(xí)慣上應(yīng)大于1000?(B)使用LISTRN方法使用服務(wù)器進(jìn)入偵聽(tīng)狀態(tài),等待客戶機(jī)程序的連接請(qǐng)求。?(C)客戶機(jī)程序發(fā)出連接請(qǐng)求后,將觸發(fā)服務(wù)器程序的CONNECTIONREQUEST事件,該事件得到一個(gè)參數(shù)REQUESTID。?(D)服務(wù)器程序使用ACCEPT方法接受客戶機(jī)程序的REQUESTID請(qǐng)求,至此,服務(wù)器程序就可以使用SRNDDATA方法向客戶機(jī)發(fā)送數(shù)據(jù)了。此時(shí)應(yīng)特別注意兩點(diǎn):一是ACCEPT方法必須用到上一步的REQUESTID作為其參數(shù);二是在執(zhí)行ACCEPT方法前,服務(wù)器仍處在偵聽(tīng)狀態(tài),此時(shí)應(yīng)一方面使用CLOSE方法關(guān)閉服務(wù)器,然后再調(diào)用ACCEPT方法。

(E)當(dāng)服務(wù)器程序接受到數(shù)據(jù)時(shí),會(huì)產(chǎn)生DATAARRIVAL事件。在該事件中可以使用GETDATA方法接受數(shù)據(jù)。

?(2)客戶機(jī)程序的開(kāi)發(fā)模式

(A)客戶程序一方面應(yīng)設(shè)立好REMOTEHOST屬性,用來(lái)指向運(yùn)營(yíng)器程序的主機(jī)名或IP地址

(B)設(shè)立REMOTEPORT屬性,用來(lái)指向服務(wù)器程序和偵聽(tīng)端標(biāo)語(yǔ)。?(C)使用CONNECT方法向服務(wù)器提出連接請(qǐng)求。?(D)假如服務(wù)器接受上述連接請(qǐng)求,客戶機(jī)程序會(huì)產(chǎn)生CONNECT事件??梢愿鶕?jù)需要,在此事件中編寫(xiě)程序,比如使用MSGBOX函數(shù)向用戶提醒“連接已成功”之類的信息。?(E)連接成功之后,就可以根據(jù)需要使用SENDDATA方法向服務(wù)器發(fā)送數(shù)據(jù)了。

(F)當(dāng)客戶機(jī)程序接受到數(shù)據(jù)時(shí),會(huì)產(chǎn)生DATAARRIVAL事件,可以用GETDATA方法接受數(shù)據(jù)。

四、程序設(shè)計(jì)題。?1、運(yùn)用冒泡排序算法開(kāi)發(fā)以下程序,請(qǐng)指出程序中存在的錯(cuò)誤并改正。

PrivateSubCommand1_Click()

DimA(1To20)AsInteger?Dimc,j,TAsInteger

'此處有錯(cuò),應(yīng)為Dimc,j,Tasinteger

?‘隨機(jī)生成一組數(shù)據(jù)

Forc=1To20?

A(c)=Int(Rnd*100)

Nextc?‘排序?Forc=1To20

Forj=c+1To20?

IFA(c)>A(j)Then

T=A(j)?

A(j)=A(c)?

A(j)=T

'此處有錯(cuò),應(yīng)為A(C)=T,實(shí)現(xiàn)

EndIf'A(C)和A(J)的互換?

Next

Next

‘在窗體上輸出結(jié)果?Cls

Forc=1To20

PrintA(i)'此處有錯(cuò),應(yīng)為A(C).下標(biāo)越界.?Nextc?EndSub

2、運(yùn)用Winsock控件開(kāi)發(fā)一個(gè)點(diǎn)對(duì)點(diǎn)聊天系統(tǒng),該系統(tǒng)由一個(gè)服務(wù)器應(yīng)用程序和一個(gè)客戶端應(yīng)用程序組成,可以實(shí)現(xiàn)網(wǎng)絡(luò)中兩臺(tái)計(jì)算機(jī)間的通話任務(wù)。

解:如下界面的設(shè)計(jì)中,若不說(shuō)明,各對(duì)象均采用默認(rèn)的名稱。

服務(wù)器程序的界面設(shè)計(jì)?1、創(chuàng)建一個(gè)“標(biāo)準(zhǔn)EXE”工程。選中“工程”菜單的“部件”選項(xiàng),在控件中找到MicrosoftWinsockControl并將其選中。假如沒(méi)有找到,通常是由于VB安裝不安全的緣故,可以找到安裝盤(pán)并安裝其中的Mswinsck.cad壓縮包。?2、將form1的名稱改為frmSvr,并在其中添加一個(gè)命令按鈕控件,將其Caption屬性修改為“退出”。?3、在窗體上添加三個(gè)添加TextBox控件,分別將其名稱修改為txtServerIP,txtSend和txtReceive,用來(lái)顯示服務(wù)器的IP地址和需收發(fā)的信息。

4、在窗體上添加一個(gè)Winsock控件,將其名稱改為WinsockServer,將Protocol(協(xié)議)屬性設(shè)立為0(即sckTCPProtocol)?各控件及事件代碼如下:

PrivateSubCommand1_Click()?UnloadMe?EndSub?

PrivateSubForm_Load()?txtreceive.Text=""?txtsend.Text=""?Winsockserver.LocalPort=10001?txtserverip.Text=Winsockserver.LocalIP?Winsockserver.Listen

EndSub?

?PrivateSubtxtsend_Change()?Winsockserver.SendDatat(yī)xtsend.Text

EndSub?

?PrivateSubWinsockserver_ConnectionRequest(ByValrequestIDAsLong)?Winsockserver.Close

Winsockserver.AcceptrequestID

EndSub?

PrivateSubWinsockserver_Dat(yī)aArrival(ByValbytesTotalAsLong)

DimmystrAsString

Winsockserver.GetDatamystr

txtreceive.Text=mystr?

EndSub?

?

客戶機(jī)程序的界面設(shè)計(jì)

1、與服務(wù)器程序類似,創(chuàng)建一個(gè)新的“標(biāo)準(zhǔn)EXE”工程,并添加Winsock控件。

2、將form1的名稱改為frmClt,并添加兩個(gè)命令按鈕控件,分別將它們的Caption屬性設(shè)立為“退出”和“連接聊天服務(wù)器”。

3、在窗體添加四個(gè)文本框控件,分別將其名修改為txtClientIP,txtSenerIP,txtsend和txtReceive,用來(lái)顯示客戶機(jī)和要連接的服務(wù)器的IP地址以及需收發(fā)的信息。?4、在窗體上添加一個(gè)Winsock控件,將其名稱改為WinsockClient,將(協(xié)議)屬性設(shè)立為0(即sckTCPProtocol)?

各控件及事件代碼如下:?

PrivateSubCommand1_Click()

UnloadMe?

?EndSub?

?PrivateSubCommand2_Click()

Winsockclient.RemoteHost=txtserverIP.Text

Winsockclient.Connect

EndSub

?PrivateSubForm_Load()

txtreceive.Text=""

txtsend.Text=""?Winsockclient.RemotePort=10001

txtclientIP.Text=Winsockclient.LocalIP?

?EndSub?

?PrivateSubtxtsend_Change()?Winsockclient.SendDat(yī)atxtsend.Text?

EndSub

PrivateSubWinsockclient_Connect()?MsgBox"你成功地與聊天室服務(wù)器進(jìn)行了聯(lián)接",vbInformation

EndSub

?PrivateSubWinsockclient_DataArrival(ByValbytesTotalAsLong)?DimmystrAsString

Winsockclient.GetDatamystr

txtreceive.Text=mystr?

EndSubVisualBasic程序設(shè)計(jì)形成性考核冊(cè)作業(yè)作業(yè)1

一、選擇題?1、在設(shè)計(jì)應(yīng)用程序時(shí),可以查看到應(yīng)用程序工程所有組成部分的窗口是(D)。

A、窗體設(shè)計(jì)

B、代碼

C、屬性

D、工程資源管理器窗口

2、窗體的load事件的觸發(fā)時(shí)機(jī)是(B)。

A、用戶單擊窗體時(shí)

B、窗體被加載時(shí)

C、窗體顯示之后

D、窗體卸載時(shí)?3、與傳統(tǒng)的程序設(shè)計(jì)語(yǔ)言相比,VisualBasic最突出的特點(diǎn)是(C)。

A、結(jié)構(gòu)化程序設(shè)計(jì)

B、程序開(kāi)發(fā)環(huán)境

C、事件驅(qū)動(dòng)編程機(jī)制

D、程序調(diào)試技術(shù)

4、VB6.0集成開(kāi)發(fā)環(huán)境的主窗口中不涉及(C)。

A、標(biāo)題欄

B、菜單欄

C、狀態(tài)欄

D、工具欄

5、假如對(duì)象的名稱為Mytext,并且對(duì)象有一個(gè)屬性Text,那么在代碼中引用該屬性的對(duì)的格式是(B)。?

A、text.Mytext

B、Mytext.Text

C、Mytext.(Text)

D、Mytext*Text?6、下列可以激活屬性窗口的操作是(D)。

A、用鼠標(biāo)雙擊窗體的任何部位

B、執(zhí)行“工程“菜單中的”屬性窗口“命令

C、按Ctrl+F4

D、按F4

7、假定已在窗體上畫(huà)了多個(gè)控件,并有一個(gè)控件是活動(dòng)的,為了在屬性窗口中設(shè)立窗體的屬性,預(yù)先應(yīng)執(zhí)行的操作是(A)。?

A、單擊窗體上沒(méi)有控件的地方

B、單擊任一個(gè)控件

C、不執(zhí)行任何操作

D、雙擊窗體的標(biāo)題欄

8、假如要在文本框鍵入字符時(shí),只顯示某個(gè)字符,假如(*),應(yīng)設(shè)立文本框的(B)屬性。

A、Caption

B、PasswordChar

C、Text

D、Char?9、假如想要在文本框中的內(nèi)容在運(yùn)營(yíng)時(shí)不能編輯,需要文本框的(A)屬性設(shè)立為True.?ALocked

B、MultiL(zhǎng)ine

C、TabStop

DVisible

10對(duì)于定期器(Tiner)控制,設(shè)立其定期是否啟動(dòng)的屬性是(C)?A、Index

B、Tag

C、Enabled

D、Left

11、要在窗口體Fornl內(nèi)顯示“myfrm”使用的語(yǔ)句是(C)?A、Form.caption=“myfrm”B、Fornl.caption=“myfrm”

C、forml.print“myfrm”D、form.print“myfrm”

12、對(duì)象的性質(zhì)和狀態(tài)特性稱為(C)?A、事件

B、方法

C、屬性

D、類?13、下列對(duì)的的賦值語(yǔ)句是(B)

A、x+y=20

B、y=x+20

C、3x=y

D、s=

14、當(dāng)使用上下文相關(guān)的幫助時(shí),選擇要幫助的內(nèi)容,然后按(D)鍵,就可出現(xiàn)MSDN窗口直接顯示所需的幫助信息。?

A、Help

B、F10

C、Ese

D、F1

15、將調(diào)試通過(guò)的工程經(jīng)“文獻(xiàn)”菜單的“生成.exe文獻(xiàn)“編繹成名.exe后,將該可執(zhí)行文獻(xiàn)放到其它機(jī)器上不能運(yùn)營(yíng)的重要因素是(D)。?A、運(yùn)營(yíng)的機(jī)器上無(wú)VB系統(tǒng)

B、缺少.frm窗體文獻(xiàn)

C、該執(zhí)行文獻(xiàn)有病毒

D、以上因素都不對(duì)

二、填空題?1、當(dāng)進(jìn)入VB集成開(kāi)發(fā)環(huán)境后,發(fā)現(xiàn)沒(méi)有顯示“工具箱”窗口。應(yīng)選擇視圖菜單的工具箱選項(xiàng),使“工具箱”窗口顯示。

2、在VB中,事件過(guò)程名由對(duì)象名和事件名構(gòu)成。?3、工程文獻(xiàn)的擴(kuò)展名是

vbp,窗體文獻(xiàn)擴(kuò)展名是

frm

。

4、對(duì)象時(shí)代碼和數(shù)據(jù)的集合,例如,VisualBasic中的窗體、按鈕、?文本框等都是對(duì)象。?5、對(duì)象的方法用于實(shí)行某種操作功能。當(dāng)方法不需要任何參數(shù)并且也沒(méi)有返回值,調(diào)用對(duì)象的方法的格式為對(duì)象名.方法名。例如對(duì)窗體Forml使用Show方法,應(yīng)寫(xiě)成

form1.show

。

6、要使文本框顯示滾動(dòng)條,需要將其ScrollBars屬性設(shè)立為

3。?7、欲設(shè)立定期的時(shí)間間隔為4秒,則屬性Interval的值為

4000。

8、要使標(biāo)簽框的大小隨Caption屬性做自動(dòng)調(diào)整,應(yīng)將AutoSize屬性設(shè)立為True。

9、通過(guò)窗體布局窗口可以在設(shè)計(jì)時(shí)直觀地調(diào)整窗體在屏幕的位置。

10、要想在代碼中給名為txtshow的文框賦予文本:GOODWORK!時(shí),應(yīng)當(dāng)編寫(xiě)的語(yǔ)句是

txtshow.text=”GOODWORK!”。?11、若命令按鈕的名稱為Cmdopen,程序規(guī)定單擊以上命令按鈕,打開(kāi)一個(gè)窗口frml,請(qǐng)對(duì)以下事件過(guò)程填空。

PrivateSubCmdopen

click()

Frm1.show?EndSud

12、事件就是對(duì)象上所發(fā)生的事情,VisualBasic中的事件如單擊、裝入、

鼠標(biāo)移動(dòng)等。一個(gè)對(duì)象響應(yīng)的事件可以有多個(gè),用戶不能建立新的事件。事件過(guò)程是指響應(yīng)某個(gè)事件后所執(zhí)行的代碼。假設(shè)某一事件過(guò)程如下:?Privat(yī)eSubcmd1_Click()

Form1.Caption=”VB示例”

EndSub?則響應(yīng)過(guò)程的對(duì)象名是

cmd1,事件名是Click

。

13、對(duì)象的方法用于在對(duì)象上實(shí)行某種操作功能。當(dāng)方法不需要任何參數(shù)并且也沒(méi)有返回值,調(diào)用對(duì)象的方法格式為對(duì)象名.方法名,例如,對(duì)窗體Form1使用Show方法,應(yīng)寫(xiě)成

Form1.Show

。?14、為了在編寫(xiě)代碼時(shí)能自動(dòng)語(yǔ)法檢查,必須執(zhí)行工具菜單中的選項(xiàng)?命令,打開(kāi)選項(xiàng)對(duì)話框,然后選擇“編輯器”選項(xiàng)卡中的自動(dòng)語(yǔ)法檢測(cè)。

15、定期器(Timer)控件可辨認(rèn)的事件是Timer,了生該事件的時(shí)間間隔定期由定期器的

Interval屬性設(shè)立,其單位為毫秒。

三、問(wèn)答題?1、什么是可視化編程和事件驅(qū)動(dòng)?

?答:可視化編程是指無(wú)須編程,僅通過(guò)直觀的操作方式即可完畢界面的設(shè)計(jì)工作的這種編程方式。

當(dāng)VB的應(yīng)用程序運(yùn)營(yíng)后,系統(tǒng)處在等待狀態(tài),當(dāng)某個(gè)事件發(fā)生后,程序就去執(zhí)行此事件的事件過(guò)程,當(dāng)這個(gè)事件過(guò)程執(zhí)行完后,系統(tǒng)又處在等待另一個(gè)事件發(fā)生的狀態(tài),這就是事件驅(qū)動(dòng)程序方式。?2、對(duì)象、屬性、事件和文獻(xiàn)之間的關(guān)系如何?

答:對(duì)象是代碼和數(shù)據(jù)的封裝體。對(duì)象的操作通過(guò)與該對(duì)象有關(guān)的屬性、事件、方法來(lái)描述。?屬性是一個(gè)對(duì)象的基本特性,每個(gè)對(duì)象都有它自己的屬性。?方法是對(duì)象要執(zhí)行的動(dòng)作。

事件是在對(duì)象上所發(fā)生的事情。?3、簡(jiǎn)述事件驅(qū)動(dòng)機(jī)制與傳統(tǒng)編程方式的不同。?答:傳統(tǒng)的面向過(guò)程的應(yīng)用程序中,應(yīng)用程序自身控制了執(zhí)行那一部分代碼按何種順序執(zhí)行代碼,程序從第一行代碼開(kāi)始執(zhí)行并按應(yīng)用程序中預(yù)定的途徑執(zhí)行,用戶無(wú)法改變程序的執(zhí)行流程。而事件驅(qū)動(dòng)機(jī)制則由用戶來(lái)決定執(zhí)行的路線。這就是兩者的不同。

4、簡(jiǎn)述事件驅(qū)動(dòng)的工作過(guò)程。

答:事件驅(qū)動(dòng)的工作過(guò)程如下:(1)啟動(dòng)應(yīng)用程序,裝載和顯示窗體。(2)窗體或窗體上的控件等待事件的發(fā)生。(3)當(dāng)某個(gè)事件發(fā)生后,執(zhí)行其相應(yīng)的事件過(guò)程代碼。(4)反復(fù)執(zhí)行(2)和(3),直到碰到END語(yǔ)句或單擊“結(jié)束”按鈕停止程序的運(yùn)營(yíng)。?四、程序設(shè)計(jì)題

1、在窗體上添加一個(gè)文本框和兩個(gè)命令按鈕,并把兩個(gè)命令按鈕的標(biāo)題分別設(shè)立為“隱藏文本框”和“顯示文本框”。當(dāng)單擊第一個(gè)命令按鈕時(shí),文本框消失;而當(dāng)單擊第二個(gè)命令按鈕時(shí),文本框重新出現(xiàn),并在文本框中顯示“VB程序設(shè)計(jì)”(字體大小為16)。程序運(yùn)營(yíng)界面如圖所示。

?圖1

解:“隱藏文本框”按鈕中的代碼為:Text1.Visible=False?“顯示文本框”按鈕中的代碼為:Text1.Visible=True?

Text1.Text=”VB程序設(shè)計(jì)”?

Text1.FontSize=”16”

2、設(shè)計(jì)一個(gè)計(jì)算程序。該程序用戶界面如圖2所示,由四個(gè)文本框:文本框1(text1)、文本框2(text2)、文本框3(text3)、文本框4(text4),和三個(gè)按鈕:命令按鈕1(command1)、命令按鈕2(command2)、命令按鈕3(command3)組成。程序運(yùn)營(yíng)后,用戶按清除按鈕,則清除文本框中顯示的內(nèi)容,按計(jì)算按鈕,則計(jì)算三科平均成績(jī)。單擊退出按鈕則退出。?解:command1中的代碼為:text1=””:text2=””:text3=””:text4=””?command2中的代碼為:text4=(val(Text1)+val(Text2)+val(Text3))/3?command2中的代碼為:End?3、編寫(xiě)一收款計(jì)算程序。規(guī)定用戶輸入商品的“單價(jià)”、“數(shù)量”和“折扣”后,單擊“計(jì)算”按鈕顯示“應(yīng)付款”,單擊“清除”按鈕,清除文本框中所有的數(shù)據(jù)。程序運(yùn)營(yíng)界面如圖3所示。

答:“計(jì)算”按鈕的代碼:text4=val(Text1)*val(Text2)*val(Text3)/100

“清除”按鈕的代碼:text1=””:text2=””:text3=””:text4=””

?作業(yè)2一、選擇題?1.按照變量的作用域可將變量劃分為(B

)。?A、公有、私有、系統(tǒng)

B、全局變量、模塊級(jí)變量、過(guò)程變量?C、動(dòng)態(tài)、常數(shù)、靜態(tài)

D、Public、Private、Protected?2.可獲得字符的ASCII碼的函數(shù)是(C)。?A、ValB、FixC、Asc

D、Chr?3、要退出Do….Loop循環(huán),可使用的語(yǔ)句的(D)語(yǔ)句。?A、Exit

B、Exit

For

C、EndDo

D、ExitDo

4.把數(shù)值型轉(zhuǎn)換為字符串型需要使用的函數(shù)是(B)。?A、Val

B、Str

C、Asc

D、Chr

5.關(guān)于語(yǔ)句行,下列說(shuō)法對(duì)的的是(B)。?A.一行只能寫(xiě)一條語(yǔ)句B.一條語(yǔ)句可以分多行書(shū)寫(xiě)

C.每行的首字符必須大寫(xiě)D.長(zhǎng)度不能超過(guò)255個(gè)字符?6.表達(dá)式6+10Mod4*2+1的值是(A).

A.9B.11C.1D.3

7.以下可以作為VisualBasic變量名的是(B).

A.SIN

B.CO1

C.COS(X)

D.X(-1)

8.表達(dá)式Abs(-5)+Len(“ABCDE”)的值為(C).?A.5ABCDEB.-5ABCDE

C.10

D.0

9.在代碼編輯器中,假如一條語(yǔ)句太長(zhǎng),無(wú)法在一行內(nèi)寫(xiě)下(不涉及注釋),要折行書(shū)寫(xiě),可以在行末使用續(xù)行字符(A),表達(dá)下一行是當(dāng)前行的繼續(xù).

A.一個(gè)空格加一個(gè)下劃字符(_)B.一個(gè)下劃字符(_)

C.直接回車

D.一個(gè)空格加一個(gè)字符(-)?10.Sub過(guò)程與Function過(guò)程最主線的區(qū)別是(D).?A.Sub過(guò)程可以使用Call語(yǔ)句或直接使用過(guò)程名調(diào)用,而Function過(guò)程不可以.?B.Function過(guò)程可以有參數(shù),Sub過(guò)程不可以.?C.兩種過(guò)程參數(shù)的傳遞方式不同.

D.Sub過(guò)程的過(guò)程名不能返回值,而Function過(guò)程可以通過(guò)過(guò)程名返回值.

11."X是小于80的非負(fù)數(shù)",用VB表達(dá)式表達(dá)對(duì)的的是(C).?

A..0≤X<80

B.0<=X<80

C.0<=xandx<80

D.0<=xOrx<80

12.在設(shè)計(jì)菜單時(shí),假如要在菜單中加入一個(gè)菜單分隔條,則菜單分隔條的標(biāo)題必須設(shè)立為(B)

A.加號(hào)(+)

B.減號(hào)(-)

C.星號(hào)(*)

D.感慨號(hào)(!)

13.假如要在程序中顯示一個(gè)彈出式菜單,那么要調(diào)用VisualBasic中提供的方法是(D).?

A.Print

B.Move

C.Refresh

D.PopupMenu?14.下列可以用來(lái)存儲(chǔ)圖像供其他對(duì)象使用的控件是(C).?

A.ToolBar

B.StatursBar

C.ImageList

D.TreeView?15.當(dāng)單擊工具攔上的按扭時(shí),會(huì)觸發(fā)的事件是(A).?

A.ButtonClick

B.Change

C.Load

D.KeyPress?16.要運(yùn)用公用對(duì)話框控件來(lái)顯示”打開(kāi)文獻(xiàn)”對(duì)話框,需要調(diào)用控件的(B)方法.

A.ShowPrinter

B.ShowOpen

C.ShowSave

D.ShowColor

17.對(duì)于窗體級(jí)變量,下列說(shuō)法中錯(cuò)誤的是(C).?A.所在窗體的各子程序都可以訪問(wèn)?B.其他窗體的子程序不能訪問(wèn)?C.所在窗體發(fā)子程序不能訪問(wèn)用Private定義的窗體級(jí)變量?D.一定要在所在窗體的通用區(qū)內(nèi)定義?18.從一個(gè)字符串中的第3個(gè)字符開(kāi)始,獲取5個(gè)字符,應(yīng)使用(B)?

A.Len函

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論