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

下載本文檔

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

文檔簡介

《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ì)語言相比,VisualBasic最突出的特點(diǎn)是(C)。

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

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

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

D、程序調(diào)試技術(shù)?4、VB6.0集成開發(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、假定已在窗體上畫了多個(gè)控件,并有一個(gè)控件是活動(dòng)的,為了在屬性窗口中設(shè)立窗體的屬性,預(yù)先應(yīng)執(zhí)行的操作是(A)。?

A、單擊窗體上沒有控件的地方

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)營時(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”使用的語句是(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ì)的的賦值語句是(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)試通過的工程經(jīng)“文獻(xiàn)”菜單的“生成.exe文獻(xiàn)“編繹成名.exe后,將該可執(zhí)行文獻(xiàn)放到其它機(jī)器上不能運(yùn)營的重要因素是(D)。

A、運(yùn)營的機(jī)器上無VB系統(tǒng)

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

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

D、以上因素都不對(duì)?二、填空題

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

工具箱選項(xiàng),使“工具箱”窗口顯示。?2、在VB中,事件過程名由對(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ù)并且也沒有返回值,調(diào)用對(duì)象的方法的格式為

對(duì)象名.方法名

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

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、通過

窗體布局窗口

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

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

txtshow.text=”GOODWORK!”

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

PrivateSubCmdopen

click()

Frm1.show

EndSud

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

、

裝入

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

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

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

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

Form1.Caption=”VB示例”

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

cmd1

,事件名是

Click

。

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

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

對(duì)象名.方法名

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

Form1.Show

。

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

菜單中的

選項(xiàng)

命令,打開

選項(xiàng)

對(duì)話框,然后選擇“編輯器”選項(xiàng)卡中的自動(dòng)語法檢測(cè)。

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

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

三、問答題

1、什么是可視化編程和事件驅(qū)動(dòng)?

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

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

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

圖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)營后,用戶按清除按鈕,則清除文本框中顯示的內(nèi)容,按計(jì)算按鈕,則計(jì)算三科平均成績。單擊退出按鈕則退出。

解:command1中的代碼為:text1=””:text2=””:text3=””:text4=””

command2中的代碼為:text4=(val(Text1)+val(Text2)+val(Text3))/3

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

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

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

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

)。

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

B、全局變量、模塊級(jí)變量、過程變量?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),可使用的語句的(D)語句。?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)于語句行,下列說法對(duì)的的是(B)。?A.一行只能寫一條語句B.一條語句可以分多行書寫?C.每行的首字符必須大寫D.長度不能超過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.5A(chǔ)BCDEB.-5A(chǔ)BCDE

C.10

D.0

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

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

C.直接回車

D.一個(gè)空格加一個(gè)字符(-)

10.Sub過程與Function過程最主線的區(qū)別是(D).?A.Sub過程可以使用Call語句或直接使用過程名調(diào)用,而Function過程不可以.?B.Function過程可以有參數(shù),Sub過程不可以.

C.兩種過程參數(shù)的傳遞方式不同.?D.Sub過程的過程名不能返回值,而Function過程可以通過過程名返回值.

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.下列可以用來存儲(chǔ)圖像供其他對(duì)象使用的控件是(C).

A.ToolBar

B.Stat(yī)ursBar

C.ImageList

D.TreeView

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

A.ButtonClick

B.Change

C.Load

D.KeyPress

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

A.ShowPrinter

B.ShowOpen

C.ShowSave

D.ShowColor

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

A.所在窗體的各子程序都可以訪問?B.其他窗體的子程序不能訪問?C.所在窗體發(fā)子程序不能訪問用Private定義的窗體級(jí)變量?D.一定要在所在窗體的通用區(qū)內(nèi)定義

18.從一個(gè)字符串中的第3個(gè)字符開始,獲?。祩€(gè)字符,應(yīng)使用(B)

A.Len函數(shù)

B.Mid函數(shù)

C.Left函數(shù)

D.Right函數(shù)

19.用下面的語句所定義的數(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.菜單一般有_下拉式_和_彈出式__(dá)兩種基本類型。?2.通用對(duì)話框控件可顯示的常用對(duì)話框有__打開_、_保存_、__顏色_、__字體_、__打印_。

3.組合框具有__文本框_和__列表框_兩種控件的基本功能。?4.要使數(shù)組的默認(rèn)下標(biāo)從“1開始,則應(yīng)在窗體或標(biāo)準(zhǔn)模塊代碼的聲明部分使用語句__(dá)OptionBase1_。?5.調(diào)用Sub過程時(shí),使用__call__語句,語句用于把程序控制傳送到一個(gè)VisualBasic的Sub過程。?6.若已建立了Form1和Form2兩個(gè)窗體,默認(rèn)啟動(dòng)窗體為Form1。通過_工程_菜單__屬性_命令的_通用_選項(xiàng)卡,可將啟動(dòng)窗體設(shè)立為Form2。在程序中若要顯示Form1窗體,則執(zhí)行_Form1.show_語句。

7.列表框中項(xiàng)目的序號(hào)是從_0_開始的。?8.Sub過程與Function過程最主線的區(qū)別是_Sub過程名無返回值,Function過程名有返回值。

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

10.使用Hide方法會(huì)隱藏被調(diào)用的窗體,但是在調(diào)用Hide方法之后不會(huì)把窗體__卸載_,被調(diào)用的窗體中的屬性等已處在_內(nèi)存中_。

11.將下列數(shù)學(xué)式子寫成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é)式子各條件寫成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的值為_False_。

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

15.以下語句的輸出結(jié)果是__3_。?a%=3.14159?Printa%

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

1、PrivateSubForm_Click()?

StaticSumAsInteger?

ForI=1to100

Sum=Sum+I?

NextI

PrintSum

EndSub

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

2、privat(yī)eSubForm_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、購物優(yōu)惠程序。某商場(chǎng)為了加速促成商品流通,采用購物打折的優(yōu)惠辦法,每位顧客一次購物(1)在100元以上者,按九五折優(yōu)惠;(2)在200元以上者,按九折優(yōu)惠;(3)300元以上者,按八折優(yōu)惠;(4)500元以上者按七折優(yōu)惠。在窗體上添加兩個(gè)文本框和一個(gè)命令按鈕,規(guī)定在Text1中輸入購物商品總金額,單擊命令按鈕,在Text2中輸入優(yōu)惠后的價(jià)格。程序運(yùn)營結(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語句的一種形式來實(shí)現(xiàn),程序運(yùn)營結(jié)果如圖5所示。?窗體的裝入事件中加入如下代碼:

Dimaasinteger

A=100?Dowhilea<=200?If(amod3)<>0then?List1.additenstr(a)?Endif

A=a+1

loop?3、編寫程序,打印如下的乘積表:?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)營后,用戶選中單擊選按鈕,則程序作10和2的相應(yīng)計(jì)算,并把計(jì)算結(jié)果在文本框中顯示出來。如用戶選中加法單選按鈕,則程序作10和2的相加,計(jì)算結(jié)果12在文本框中顯示出來。按結(jié)束,則退出。?乘法單選按鈕的單擊事件中添加如下代碼:

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

減法單選按鈕中添加如下代碼:text1=10-2?結(jié)束按鈕中代碼:end或unloadme?5、編寫輸入一個(gè)0~6數(shù)字,顯示漢字對(duì)照輸出星期的Function過程。程序運(yùn)營結(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、編寫一個(gè)程序,當(dāng)鼠標(biāo)移到Picturel控件時(shí),鼠標(biāo)指針改變形狀;當(dāng)在Picturel控件上單擊鼠標(biāo)右鍵時(shí),通過消息框顯示“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)椤靶薷摹薄3绦蜻\(yùn)營結(jié)果如圖9所示。

添加按鈕代碼:list1.a(chǎn)dditemtext1.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ī)訪問文獻(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.Path=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事件過程中加入drive1.Drive=dir1.Pat(yī)h,在dir1的Change事件過程中加入dir1.Path=file1.Path代碼。?B.drive1的Change事件過程中加入dir1.Pat(yī)h=drive1.Drive,在dir1的Change事件過程中加入file1.Path=dir1.Pat(yī)h代碼。?C.dir1的Change事件過程中加入dir1.Path=drive1.Drive,在file1的Click事件過程中加入file1.Pat(yī)h=file1.fileName代碼。

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

5、下面關(guān)于順序文獻(xiàn)的描述對(duì)的的是(A)

A.每條記錄的長度必須相同

B.可通過編程對(duì)文獻(xiàn)中的某條記錄方便地修改

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

B。清病毒

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

D。清屏幕?7、可用來改變坐標(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方法畫直線后,當(dāng)前坐標(biāo)在(C)

A.(0,0)

B.直線起點(diǎn)

C.直線終點(diǎn)

D.容器的中心

10、Line(200,200)-Step(500,500)將在窗體(C)畫一直線。?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í)行語句Picture1.picture=LoadPicture(“”)?C.執(zhí)行語句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),打開順序文獻(xiàn)“text.dat”的對(duì)的語句是(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(yī)”forRandom

As#1

16、假如準(zhǔn)備向隨機(jī)文獻(xiàn)中寫入數(shù)據(jù),對(duì)的的語句是(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.打開文獻(xiàn)

C.色彩

D.打印

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

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

B。第一個(gè)bat文獻(xiàn)?C.包含所有的文獻(xiàn)

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

B.RDO

C.ADO

D.RDO和ADO

20.設(shè)ADOrs為Recordset對(duì)象,從“學(xué)生基本情況表”中獲取所有記錄的語句是(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.DimxlAsExcel.Applicat(yī)ion

B.DimxlAsExcel.Wo(hù)rkbook

C.

DimxlAsExcel.Worksheet

D.DimxlAsExcel.Worksheets?二、填空題

1、假如要新建一個(gè)順序文獻(xiàn),用Open語句時(shí),操作方式關(guān)鍵詞是output。?2.在VisualBasic程序中實(shí)現(xiàn)復(fù)制文獻(xiàn)“C:\comman”到D:盤根目錄下的語句

為filecopy

“c:\command.com”,”d:\”。?3.在VisualBasic程序中實(shí)現(xiàn)刪除文獻(xiàn)”D:\tem.tmp”的語句為__kill”d:\tem.tmp”。?4.按文獻(xiàn)號(hào)為1打開順序文獻(xiàn)SEQNEW.DAT,用于寫入數(shù)據(jù),語句?為__(dá)_open”SEQNEW.DAT”foroutputas

#1。

5.按文獻(xiàn)號(hào)為2打開順序文獻(xiàn)SEQOLD.DAT,用于從該文獻(xiàn)讀出數(shù)據(jù),語句為___open”SEQOLD.DAT”forinputas#2。?6.若窗體的左上角坐標(biāo)為(-200,250),右下角坐標(biāo)為(300,-150),則X軸的正向向右,Y軸的正向向上_。?7.Stretch屬性設(shè)立為_false_時(shí),圖像框可自動(dòng)改變大小以適應(yīng)其中的圖形.?8.在圖片框Picture1中畫一個(gè)左上角在(500,500),邊長為500的紅色實(shí)心正方形的語句為_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í),可通過_ActiveConnect_屬性建立Recordset和Connection對(duì)象的連接.?11.VB中將數(shù)據(jù)庫分為本地?cái)?shù)據(jù)庫、遠(yuǎn)程數(shù)據(jù)庫和__外部數(shù)據(jù)庫_三種類型.?12.采用ADO模型時(shí),當(dāng)使用Open方法打開一個(gè)記錄集后,與ADOrs.Fields(“學(xué)號(hào)”)等效的語句是_ADOrs(“符號(hào)”)_.

13.ADO模型中一般可通過Connection對(duì)象的Execute方法執(zhí)行__增長_、__刪除_、__(dá)修改__等三類不返回結(jié)果集的SQL語句.?14.設(shè)StrSQL、Str1為字符串變量,其中Str1的值為”001”,那么執(zhí)行賦值語句StrSQL=”Select*fromTabel1Where學(xué)號(hào)=’”+Str1+”’”后,StrSQL的值等于_”select.*fromtabel1where學(xué)號(hào)=’001’”_.?15.在VB中,將Foxpro稱為外部數(shù)據(jù)庫,Access稱為__本地?cái)?shù)據(jù)庫_,SQLServer稱為__遠(yuǎn)程數(shù)據(jù)庫__.?三、程序設(shè)計(jì)題

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

解:依據(jù)圖10設(shè)計(jì)界面,文獻(xiàn)列表框的pat(yī)tern屬性設(shè)立為:*.Bmp;*.jpg?驅(qū)動(dòng)器列表框的change事件中添加如下代碼:

chdrivedrive1.drive?dir1.path=drive1.drive

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

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

picture1.picture=loadpicturefile1.filename?2.余弦曲線的方程為y=cosx,畫出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)營界面如圖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)營界面如圖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ù)庫,并在其中創(chuàng)建”students”的數(shù)據(jù)庫表,其結(jié)構(gòu)及初始記錄如表1所示.使用ADO對(duì)象和MSFlexGrid控件設(shè)計(jì)數(shù)據(jù)庫列表顯示程序.程序的設(shè)計(jì)界面和運(yùn)營結(jié)果如圖14、圖15所示。

表1

學(xué)號(hào)

姓名

專業(yè)

2023001

張紅

軟件專業(yè)

2023003

李強(qiáng)

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

王麗

軟件專業(yè)

聲名對(duì)象變量ADOcn,用于創(chuàng)建與數(shù)據(jù)庫的連接

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.addttemstrtmp

ADOrsmovenext

Loop?MSFlexgrid1.fixedcols=0

MSFlexgrid1.fixedrows=1?Endsub?Privatesubform_load()?DimstrDBAsstring

strDB=”provider=SQLOLEDB;LSF;UserID=sa;password=;database=學(xué)生”?ifADOcnisnothingthen

setADOcn=newconnection

ADOcn.openstrDB

Endif

Readfromtable?Endsub?Privatesubcommand1_click()

Unloadme

Endsub

作業(yè)4

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

A)。

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

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

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

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

B)。?A、1

B、0

C、2

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

A)。

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

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

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

)。

A、編譯錯(cuò)誤

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

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

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

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

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

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

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

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

C

)。

A、F5鍵

B、F6鍵

C、F9鍵

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

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

B、SUB過程名

C、FUNCTION過程名

D、錯(cuò)誤號(hào)

8、Err對(duì)象中,用來表達(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控件重要用來編制或基于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ù),通常使用getdata方法來獲取這些數(shù)據(jù)了。

7、Winsock1.Listen語句的含義是使服務(wù)程序處在偵聽狀態(tài)等待客戶訪問。

8、常用中的VB網(wǎng)絡(luò)編程控件重要有Winsock、InternetTransfer、WebBrowser三種。

9、VB中的程序錯(cuò)誤類型重要有編譯錯(cuò)誤、邏輯錯(cuò)誤、實(shí)時(shí)錯(cuò)誤等三種。?10、VB中用于關(guān)閉錯(cuò)誤捕獲機(jī)制的語句是onerrorgoto0。?三、問答題。

1、簡述基于Socket的通信過程。?

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

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

(1)捕獲錯(cuò)誤,并強(qiáng)制程序跳轉(zhuǎn)

(2)編寫錯(cuò)誤解決程序,對(duì)所有可預(yù)見的錯(cuò)誤作出反映

(3)退犯錯(cuò)誤解決程序?

3、簡述常用的程序調(diào)式技巧?(1)事先做好備份?(2)分離受懷疑的程序?(3)縮小搜索范圍?(4)使用MSGBOX語句?

?4、簡述基于Winsock控件的開發(fā)模式。?(1)服務(wù)器程序的開發(fā)模式

(A)服務(wù)器程序必須設(shè)立好LOCALPORT,作為偵聽端口,該值可設(shè)立成任意一個(gè)整數(shù),只要其他應(yīng)用和諧沒有使用過的值均可,但習(xí)慣上應(yīng)大于1000?(B)使用LISTRN方法使用服務(wù)器進(jìn)入偵聽狀態(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à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ī)程序的開發(fā)模式

(A)客戶程序一方面應(yīng)設(shè)立好REMOTEHOST屬性,用來指向運(yùn)營器程序的主機(jī)名或IP地址?(B)設(shè)立REMOTEPORT屬性,用來指向服務(wù)器程序和偵聽端標(biāo)語。?(C)使用CONNECT方法向服務(wù)器提出連接請(qǐng)求。?(D)假如服務(wù)器接受上述連接請(qǐng)求,客戶機(jī)程序會(huì)產(chǎn)生CONNECT事件。可以根據(jù)需要,在此事件中編寫程序,比如使用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)用冒泡排序算法開發(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控件開發(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ì)中,若不說明,各對(duì)象均采用默認(rèn)的名稱。?

服務(wù)器程序的界面設(shè)計(jì)

1、創(chuàng)建一個(gè)“標(biāo)準(zhǔn)EXE”工程。選中“工程”菜單的“部件”選項(xiàng),在控件中找到MicrosoftWinsockControl并將其選中。假如沒有找到,通常是由于VB安裝不安全的緣故,可以找到安裝盤并安裝其中的Mswinsck.cad壓縮包。?2、將form1的名稱改為frmSvr,并在其中添加一個(gè)命令按鈕控件,將其Caption屬性修改為“退出”。?3、在窗體上添加三個(gè)添加TextBox控件,分別將其名稱修改為txtServerIP,txtSend和txtReceive,用來顯示服務(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

Privat(yī)eSubWinsockserver_Dat(yī)aArrival(ByValbytesTotalAsLong)?DimmystrAsString

Winsockserver.GetDat(yī)amystr

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,用來顯示客戶機(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.SendDatatxtsend.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ì)語言相比,VisualBasic最突出的特點(diǎn)是(C)。?

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

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

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

D、程序調(diào)試技術(shù)?4、VB6.0集成開發(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、假定已在窗體上畫了多個(gè)控件,并有一個(gè)控件是活動(dòng)的,為了在屬性窗口中設(shè)立窗體的屬性,預(yù)先應(yīng)執(zhí)行的操作是(A)。

A、單擊窗體上沒有控件的地方

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)營時(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”使用的語句是(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ì)的的賦值語句是(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)試通過的工程經(jīng)“文獻(xiàn)”菜單的“生成.exe文獻(xiàn)“編繹成名.exe后,將該可執(zhí)行文獻(xiàn)放到其它機(jī)器上不能運(yùn)營的重要因素是(D)。?A、運(yùn)營的機(jī)器上無VB系統(tǒng)

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

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

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

二、填空題?1、當(dāng)進(jìn)入VB集成開發(fā)環(huán)境后,發(fā)現(xiàn)沒有顯示“工具箱”窗口。應(yīng)選擇視圖菜單的工具箱選項(xiàng),使“工具箱”窗口顯示。?2、在VB中,事件過程名由對(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ù)并且也沒有返回值,調(diào)用對(duì)象的方法的格式為對(duì)象名.方法名。例如對(duì)窗體Forml使用Show方法,應(yīng)寫成

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、通過窗體布局窗口可以在設(shè)計(jì)時(shí)直觀地調(diào)整窗體在屏幕的位置。?10、要想在代碼中給名為txtshow的文框賦予文本:GOODWORK!時(shí),應(yīng)當(dāng)編寫的語句是

txtshow.text=”GOODWORK!”。

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

PrivateSubCmdopen

click()?Frm1.show

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

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

PrivateSubcmd1_Click()

Form1.Caption=”VB示例”?EndSub

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

cmd1,事件名是Click

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

Form1.Show

。

14、為了在編寫代碼時(shí)能自動(dòng)語法檢查,必須執(zhí)行工具菜單中的選項(xiàng)

命令,打開選項(xiàng)對(duì)話框,然后選擇“編輯器”選項(xiàng)卡中的自動(dòng)語法檢測(cè)。

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

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

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

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

2、對(duì)象、屬性、事件和文獻(xiàn)之間的關(guān)系如何?

答:對(duì)象是代碼和數(shù)據(jù)的封裝體。對(duì)象的操作通過與該對(duì)象有關(guān)的屬性、事件、方法來描述。

屬性是一個(gè)對(duì)象的基本特性,每個(gè)對(duì)象都有它自己的屬性。

方法是對(duì)象要執(zhí)行的動(dòng)作。

事件是在對(duì)象上所發(fā)生的事情。?3、簡述事件驅(qū)動(dòng)機(jī)制與傳統(tǒng)編程方式的不同。

答:傳統(tǒng)的面向過程的應(yīng)用程序中,應(yīng)用程序自身控制了執(zhí)行那一部分代碼按何種順序執(zhí)行代碼,程序從第一行代碼開始執(zhí)行并按應(yīng)用程序中預(yù)定的途徑執(zhí)行,用戶無法改變程序的執(zhí)行流程。而事件驅(qū)動(dòng)機(jī)制則由用戶來決定執(zhí)行的路線。這就是兩者的不同。?4、簡述事件驅(qū)動(dòng)的工作過程。?答:事件驅(qū)動(dòng)的工作過程如下:(1)啟動(dòng)應(yīng)用程序,裝載和顯示窗體。(2)窗體或窗體上的控件等待事件的發(fā)生。(3)當(dāng)某個(gè)事件發(fā)生后,執(zhí)行其相應(yīng)的事件過程代碼。(4)反復(fù)執(zhí)行(2)和(3),直到碰到END語句或單擊“結(jié)束”按鈕停止程序的運(yùn)營。?四、程序設(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)營界面如圖所示。??圖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)營后,用戶按清除按鈕,則清除文本框中顯示的內(nèi)容,按計(jì)算按鈕,則計(jì)算三科平均成績。單擊退出按鈕則退出。

解:command1中的代碼為:text1=””:text2=””:text3=””:text4=””

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

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

)。

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

B、全局變量、模塊級(jí)變量、過程變量?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),可使用的語句的(D)語句。

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)于語句行,下列說法對(duì)的的是(B)。

A.一行只能寫一條語句B.一條語句可以分多行書寫?C.每行的首字符必須大寫D.長度不能超過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.在代碼編輯器中,假如一條語句太長,無法在一行內(nèi)寫下(不涉及注釋),要折行書寫,可以在行末使用續(xù)行字符(A),表達(dá)下一行是當(dāng)前行的繼續(xù).

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

C.直接回車

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

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

B.Function過程可以有參數(shù),Sub過程不可以.?C.兩種過程參數(shù)的傳遞方式不同.

D.Sub過程的過程名不能返回值,而Function過程可以通過過程名返回值.?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.下列可以用來存儲(chǔ)圖像供其他對(duì)象使用的控件是(C).?

A.ToolBar

B.StatursBar

C.ImageList

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

A.ButtonClick

B.Change

C.Load

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

A.ShowPrinter

B.ShowOpen

C.ShowSave

D.ShowColor?17.對(duì)于窗體級(jí)變量,下列說法中錯(cuò)誤的是(C).?A.所在窗體的各子程序都可以訪問

B.其他窗體的子程序不能訪問

C.所在窗體發(fā)子程序不能訪問用Privat(yī)e定義的窗體級(jí)變量

D.一定要在所在窗體的通用區(qū)內(nèi)定義

18.從一個(gè)字符串中的第3個(gè)字符開始,獲取5個(gè)字符,應(yīng)使用(B)?

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論