欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

vb.net龔沛曾 大學(xué)計算機(jī) 龔沛曾

怎么用vb制作俄羅斯方塊游戲啊,簡單點的。

visual basic繼承了basic語言易學(xué)易用的特點,特別適合于初學(xué)者學(xué)習(xí)windows系統(tǒng)編程。隨著21世紀(jì)信息社會的到來,計算機(jī)在人們的工作和生活中的深入,要求我們越來越多地與計算機(jī)打交道,為了使用戶在繁忙的日程工作中得到放松,于是出現(xiàn)了各種各樣的休閑軟件,如聊天工具,游戲等等。于是我們小組著手設(shè)計開始一個這樣的游戲軟件。通過這學(xué)期來Visual Basic的學(xué)習(xí),我初步掌握了Visual Basic語言的最基本的知識,于是在牛榮和李鵬等老師的指導(dǎo)下動手用Visual Basic編寫俄羅斯方塊游戲。

創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比桑日網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式桑日網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋桑日地區(qū)。費用合理售后完善,10多年實體公司更值得信賴。

我們之所以選擇開發(fā)俄羅斯方塊游戲,無可爭議,《俄羅斯方塊》是有史以來最偉大的游戲之一。 在曾經(jīng)發(fā)布過的所有游戲中,《俄羅斯方塊》還被認(rèn)為是僅有的一個能夠真正吸引廣泛人群的作品。誰能說清楚,迄今為止人們究竟花了多少萬個小時在這個游戲上?也許這些時間本來可以被花在更具生產(chǎn)力的活動上。某些批評家也許會聲稱,《俄羅斯方塊》要比過去二十年間出現(xiàn)的任何東西都要浪費人們的時間。至于我們,則要欣然提名它為GameSpot評選出的歷史上最偉大游戲之一。

為了懷念經(jīng)典,也為了能夠給大多的計算機(jī)用戶在工作之余找到一個休閑、娛樂的一個方式,我們小組開始著手用VB語言開發(fā)一個經(jīng)典的俄羅斯方塊游戲。

工程概況

2.1 項目名稱

俄羅斯方塊游戲

2.2 設(shè)計平臺

VB 全稱Visual Basic,它是以Basic語言作為其基本語言的一種可視化編程工具。

Vb是microsoft公司于1991年退出的windows應(yīng)用程序開發(fā)工具visual意思是“可視化的”。在它剛推出來時,自身還存在一些缺陷,功能也相對少一些。但是經(jīng)過多年的開發(fā)研究。最近microsoft公司又推出了VB6.0版本

VB6.0運行環(huán)境:硬件,要求486以上的處理器、16MB以上內(nèi)存,50MB 以上的硬盤,cd-rom驅(qū)動器,鼠標(biāo)。軟件:要求windows 95以上版本。

2.3程序設(shè)計思想

游戲是用來給大家娛樂的,所以要能在使用的過程中給大家?guī)砜鞓罚蠹业钠冢晕覀冊谟螒蛑刑砑恿似恋膱鼍昂蛣勇牭囊魳罚O(shè)置了過關(guān)升級的功能,激發(fā)大家的娛樂激情。

從游戲的基本玩法出發(fā),主要就是俄羅斯方塊的形狀和旋轉(zhuǎn),我們在設(shè)計中在一個圖片框中構(gòu)造了一個4*4的網(wǎng)狀小塊,由這些小塊組合成新的形狀,每四個小塊連接在一起就可以構(gòu)造出一種造型,因此我們總共設(shè)計了7中造型,每種造型又可以通過旋轉(zhuǎn)而變化出2到4種形狀,利用隨機(jī)函數(shù)在一個欲覽窗體中提前展示形狀供用戶參考,然后將展示的形狀復(fù)制到游戲窗體中進(jìn)行擺放,在游戲窗體中用戶就可以使用鍵盤的方向鍵來控制方塊的運動,然后利用遞歸語句對每一行進(jìn)行判斷,如果有某行的方塊是滿的,則消除這行的方塊,并且使上面的方塊自由下落,其中,方塊向下的速度是有時鐘控件控制的,在游戲中,用戶也可以使用向下鍵加快下落速度,定義一個變量,對消除的函數(shù)進(jìn)行記錄,最后就可以得出用戶的分?jǐn)?shù),用if 語句對分?jǐn)?shù)判斷,達(dá)到一定的積分就可以升級到下一個檔次。

俄羅斯方塊游戲設(shè)計的主要步驟為以下10個方面:

(1)游戲界面的設(shè)計。

(2)俄羅斯方塊的造型。

(3)俄羅斯方塊的旋轉(zhuǎn)。

(4)俄羅斯方塊的運動情況(包括向左,向右和向下)。

(5)俄羅斯方塊的自動消行功能。

(6)游戲級別的自由選擇。

(7)游戲速度的自由選擇。

(8)游戲得分的計算。

(9)游戲菜單選項的設(shè)計及功能實現(xiàn)。

(10)游戲的背景音樂及特效。

2.4運用的控件和主要對象

我們在設(shè)計過程中主要用到的控件有:command控件,image控件,picture控件,label控件,timer控件,text控件,windows media player控件等等。

2.5主要實現(xiàn)的功能

我們開發(fā)的俄羅斯方塊游戲,主要實現(xiàn)了以下幾種功能:

1.可以靈活控制方塊在圖形框中運動。

2.游戲過程中方塊可以自由旋轉(zhuǎn)。

3.當(dāng)某一行的方塊排列滿時,將自動將這一行方塊消除,然后將上面所有方塊向下移動,可以支持連續(xù)消行。

4.游戲前可以選擇游戲的速度和游戲的等級,游戲速度既為方塊下落速度,游戲等級為初始游戲時在基層隨機(jī)生成一定行數(shù)的無規(guī)律方塊,生成的行數(shù)由你來選擇,每行至少產(chǎn)生5個以上的無規(guī)律方塊,這樣增加了游戲難度,對于游戲高手來說,無疑不是一個新的挑戰(zhàn)。

5.游戲的得分支持積分,并且按照公式:

得分 = 原來分?jǐn)?shù)+ 100 * (2 ^ 同時消除的行數(shù)-1)

這樣,你同一時間消除的行數(shù)越多,你的得分也就越高,當(dāng)游戲積分到了一定時可以自動升級,這個升級指速度升級。

6.游戲中提供了一個漂亮的場景和動聽的音樂,給你帶來無限激情。

2.6開發(fā)人員

由于這次課程設(shè)計所選的題目太復(fù)雜,而時間又比較緊張,指導(dǎo)老師建議和同學(xué)分工完成。我們小組成員包括組長孫磊周,副組長鄒海星,此游戲由我們兩個人共同開發(fā)而成。

正文

3.1游戲設(shè)計的具體實現(xiàn)

在我們兩個人共同努力下,此次設(shè)計,終于能夠圓滿完成。由于時間的緊促,在設(shè)計中,也許會有一些考慮不周之處,但其功能已經(jīng)能夠滿足大多用戶的需求,相信假以時日,一定能做出一個更經(jīng)典,更完美的俄羅斯方塊游戲,下面我們將對每一步的具體如何實現(xiàn)展示給大家。

3.1.1游戲界面的設(shè)計和背景音樂及特效的實現(xiàn)

俄羅斯方塊游戲主要由兩個界面構(gòu)成,登陸界面和開始游戲界面,在登陸界面中我們可以首先看到圣誕節(jié)的晚上飄梅花的場景,梅花從窗體頂部做函數(shù)曲線的下落運動,在窗體中定義一個Image控件組,在通用中定義梅花X坐標(biāo)變量動態(tài)數(shù)組,Y坐標(biāo)變量動態(tài)數(shù)組,步距X的變量動態(tài)數(shù)組,步距Y的變量動態(tài)數(shù)組,以及振幅變量動態(tài)數(shù)組。然后在窗體form_load中可以定義梅花的數(shù)量,利用隨機(jī)函數(shù)產(chǎn)生隨機(jī)的梅花坐標(biāo),步距和振幅,Image控件在運行時候就調(diào)用梅花圖片,Image控件就可以由時鐘控件控制下落速度,可以自由調(diào)節(jié),梅花按snow(i).Left = xp(i) + am(i) * Sin(dx(i))函數(shù)在做縱向的正玄函數(shù)軌跡運動,豎直方向上為自由下落運動,,有am(i)來控制梅花的左右移動振幅。因此,我們就可以看到一個梅花在空中自由飄舞的畫面了。

背景畫面是用photoshop軟件處理的漂亮圖案,原本畫面中的動畫效果都是由Image控件制作的,還有點擊進(jìn)入游戲的按鈕是由Label控件實現(xiàn)的,因為Image控件沒有置前置后功能,不能將下雪的場景體現(xiàn)完整性,所以將這些圖案全部放在背景上,不影響雪花飄落的效果,當(dāng)點擊畫面的時候一樣可以進(jìn)入游戲界面。

游戲的背景音樂是由一段代碼調(diào)用系統(tǒng)播放器Windows Player播放背景音樂,由于本次設(shè)計主要是針對游戲如何設(shè)計的,所以在這里就不對播放背景音樂的功能做介紹了。

3.1.2俄羅斯方塊的造型

相信朋友們都玩過俄羅斯方塊,對這個游戲的玩法和方塊形狀都比較熟悉。我們這個游戲只選擇了最基本的7中造型,包括長條型,正方型,正S型,反S型,正7型,反7型,T型。如果需要我們可以添加更多的造型。將游戲界面的游戲區(qū)圖片框分割成10*20的小塊,每個小塊放置一個command控件,預(yù)覽區(qū)圖片框按同樣比例分割成4*4的小塊,同樣有command控件構(gòu)成,我們可以把預(yù)覽區(qū)圖片框看作是從游戲區(qū)圖片框中選取的一個部分,游戲區(qū)的小方塊編號和欲覽區(qū)編號如下圖:

0 1 2 3 4 5 6 7 8 9

… … … … … … … … … …

… … … … … … … … … …

90 91 92 93 94 95 96 97 98 99

3 4 5 6

13 14 15 16

23 24 25 26

33 34 35 36

游戲區(qū)編號 欲覽區(qū)編號

利用Select將方塊的7中造型列出,比如長條型的設(shè)計,在欲覽區(qū)中分別有3.4.5.6和5.15.25.35四個方塊構(gòu)成兩中形態(tài),用數(shù)組為:

m(0) = 3: m(1) = 4: m(2) = 5: m(3) = 6: situation2 = 0

m(0) = 5: m(1) = 15: m(2) = 25: m(3) = 35: situation2 = 1

將它的形狀編號為0和1,在后面方便調(diào)用,其他的方塊造型同樣的方法。

3.1.3俄羅斯方塊的旋轉(zhuǎn)

俄羅斯方塊的旋轉(zhuǎn)主要將方塊的位置加以變換得到的,例如上述范例,長條型有兩中樣式,根據(jù)小方塊的編號變動來實現(xiàn)整個造型的旋轉(zhuǎn),比如:

If n(0) - 18 = 2 And n(3) + 9 = 198 Then

If cmdfang(n(0) - 18).Visible = False And _

cmdfang(n(1) - 9).Visible = False And _

cmdfang(n(3) + 9).Visible = False Then

hidefang 0

n(0) = n(0) - 18

n(1) = n(1) - 9

n(3) = n(3) + 9

showfang 0

situation = 1

End If

End If

方塊的造型在旋轉(zhuǎn)的時候存在一個公式,當(dāng)然首先要判斷是否滿足旋轉(zhuǎn)的要求,以上是一個長條型由橫著變成豎立狀態(tài)的旋轉(zhuǎn),我們以它的造型中的第三個小方塊n(3)為中心旋轉(zhuǎn),這樣,在開始運動的時候,長條形要發(fā)生旋轉(zhuǎn)最少要運動到第三行,才能由橫著變成豎立狀態(tài),游戲區(qū)圖形框中第三行的第一個方塊的編號為20,所以長條造型的第一個小方塊的編號n(0)必須要大于20。同樣,長條型方塊在下落到底部的時候也有限制。如果長條下落到最后一行也將無法由橫著變成豎立狀態(tài)。

3.1.4如何實現(xiàn)方塊的運動和自動消除滿行的方塊

我們的這個俄羅斯方塊游戲主要是利用command控件的visible屬性完成效果的,其實在游戲區(qū)圖形框可以看成是由許多的command小方塊組成,方塊運動的過程就是造型里方塊顯示或者隱藏,就像現(xiàn)在的霓虹燈效果一樣,由時鐘控件控制visible屬性改變的速度,上一層的消失,下一層的顯示,這樣,從視覺效果可以看到方塊的下落運動效果。

方塊在下落的過程中會自動判斷每一行方塊的visible屬性,如果全部為true時,就會將這一行小方塊的visible屬性全部變成false,在將上面的小方塊向下移動,利用for語句進(jìn)行循環(huán)判斷,將所有這樣情況的行改變小方塊visible屬性。當(dāng)有多行同時出現(xiàn)這樣情況時使用遞歸調(diào)用,實現(xiàn)連續(xù)消行。具體程序代碼如下:

For i = 190 To 10 Step -10

If cmdfang(i).Visible = True And _

cmdfang(i + 1).Visible = True And _

cmdfang(i + 2).Visible = True And _

cmdfang(i + 3).Visible = True And _

cmdfang(i + 4).Visible = True And _

cmdfang(i + 5).Visible = True And _

cmdfang(i + 6).Visible = True And _

cmdfang(i + 7).Visible = True And _

cmdfang(i + 8).Visible = True And _

cmdfang(i + 9).Visible = True Then

For j = i + 4 To i Step -1

t = 1

cmdfang(j).Visible = False

cmdfang(2 * i + 9 - j).Visible = False

For k = 1 To 4000

DoEvents

Next

t = 0

Next

linenum = linenum + 1

For j = i - 1 To 0 Step -1

If cmdfang(j).Visible = True Then

cmdfang(j).Visible = False

cmdfang(j + 10).Visible = True

End If

Next

clearline '為了實現(xiàn)連消數(shù)行,這里使用遞歸調(diào)用

End If

Next

3.1.5游戲速度和游戲級別自由選擇

游戲速度的自由選擇無非就是改變時鐘控件的頻率,我們在菜單中添加了選擇速度的功能,還有添加了考驗功能,將欲覽窗中的方塊造型隱藏,給玩家提高了難度,如果你不愿意接受考驗也可以點擊顯示還原成原來狀態(tài)。

游戲級別的自由選擇是讓用戶選擇游戲開始時候,游戲區(qū)底部出現(xiàn)一定行數(shù)的隨機(jī)方塊,同樣給玩家增加了難度,功能代碼如下:

For i = 19 To 20 - Val(txthard.Text) Step -1

For j = i * 10 To i * 10 + 9

If Rnd = 0.5 Then cmdfang(j).Visible = True

Next

Next

可以根據(jù)你選擇的難度系數(shù)在底層的每一行隨機(jī)產(chǎn)生超過半數(shù)(即5個以上)以上的小方塊,這樣適合喜歡高難度的玩家。

3.1.6游戲得分的計算和游戲菜單的編輯

游戲得分的計算主要是根據(jù)消除的行數(shù)來決定的,當(dāng)然每一次同時消除的行數(shù)不一樣,每一行的得分也不一樣,如果你每次消除的行數(shù)為1,則最后得分是100分,如果同時消除2行,則最后得分是300分,同時消除3行,得分為700分,同時消除4行,得分為1500分,這由公式:得分 = 原來分?jǐn)?shù)+ 100 * (2 ^ 同時消除的行數(shù)-1)。

游戲的編輯,讀者可以參照下面的功能介紹。

3.2 游戲功能的介紹

文件-------開始:開始游戲。

繼續(xù):繼續(xù)游戲。

暫停:暫時停止游戲,點擊繼續(xù)的時候可以繼續(xù)游戲。

退出:退出游戲。

設(shè)置-------選擇游戲級別。

選擇游戲速度。

考驗-------顯示:顯示欲覽去方塊。

隱藏:隱藏欲覽去方塊。

幫助-------操作提示以及版本信息和作者資料。

用戶界面具體如圖:

圖—登陸界面 圖—游戲界面

圖—菜單編輯界面 圖—游戲幫助界面

有關(guān)說明

經(jīng)過兩個多星期的設(shè)計和開發(fā),俄羅斯方塊游戲已經(jīng)成功。其功能基本符合用戶需求,能夠完成游戲的控制,方塊的變換以及消層等功能。并提供游戲設(shè)置,對于一些技術(shù)性比較過硬的玩家,可以調(diào)游戲級別、以及游戲速度,使得玩家能夠充分的發(fā)揮競技游戲的特色,可以不斷的挑戰(zhàn)自我,挑戰(zhàn)極限。

4.1游戲設(shè)計中的不足之處

但是由于課程設(shè)計時間較短,所以該游戲還有許多不盡如人意的地方,比如方塊類型太少,退出游戲不能存儲進(jìn)度等多方面問題。這些都有待進(jìn)一步改善,我們在游戲中還可以更換背景音樂,以適合不同的玩家,在每通過一關(guān)可以給玩家播放一段flash,吸引玩家去挑戰(zhàn)極限,不斷提高玩家的興趣,相信在以后的制作過程中我們將給大家?guī)硪粋€更新功能更全面的游戲。

4.2VB與C語言之間的不同之處

我們這個小游戲也可以用C語言來實現(xiàn),在程序的編程上沒有VB語言方便實用,C語言和VB語言之間存在很多的共同點,雖然語法方面有點差異,但是在編程思路上完全一樣,VB能夠?qū)崿F(xiàn)很多C#不能做到的功能,如When語句、Optional參數(shù)、局部Static變量、對象實例訪問靜態(tài)方法、Handles綁定事件、On Error處理異常、Object直接后期綁定等等。VB和C#語言,編譯出來的是同樣的CIL,但為什么VB支持很多有趣的特性呢。我們一起來探究一下。

4.21局部靜態(tài)變量

VB支持用Static關(guān)鍵字聲明局部變量,這樣在過程結(jié)束的時候可以保持變量的數(shù)值:

Public Sub Test1()

Static i As Integer

i += 1 '實現(xiàn)一個過程調(diào)用計數(shù)器

End Sub

我們實現(xiàn)了一個簡單的過程計數(shù)器。每調(diào)用一次Test,計數(shù)器的數(shù)值就增加1。其實還有很多情況我們希望保持變量的數(shù)值。而C#的static是不能用在過程內(nèi)部的。因此要實現(xiàn)過程計數(shù)器,我們必須聲明一個類級別的變量。這樣做明顯不如VB好。因為無法防止其他過程修改計數(shù)器變量。這就和對象封裝一個道理,本來應(yīng)該是一個方法的局部變量,現(xiàn)在我要被迫把它獨立出來,顯然是不好的設(shè)計。那么VB是怎么生成局部靜態(tài)變量的呢?將上述代碼返匯編,我們可以清楚地看到在VB生成的CIL中,i不是作為局部變量,而是作為類的Field出現(xiàn)的: .field private specialname int32 $STATIC$Test1$2001$i

也就是說,i被改名作為一個類的字段,但被冠以specialname。在代碼中試圖訪問$STATIC$Test1$2001$i是不可能的,因為它不是一個有效的標(biāo)識符。但是在IL中,將這個變量加一的代碼卻與一般的類字段完全一樣,是通過ldfld加載的。我覺得這個方法十分聰明,把靜態(tài)變量變成生命周期一樣的類字段,但是又由編譯器來控制訪問的權(quán)限,讓它成為一個局部變量。同時也解釋了VB為什么要用兩個不同的關(guān)鍵字來聲明靜態(tài)變量——Static和Shared。由于局部靜態(tài)變量的實質(zhì)是類的字段,所以它和真正的局部變量還是有所不同的。比如在多線程條件下,對局部靜態(tài)變量的訪問就和訪問字段相同。

4.2.2Handles和WithEvents

VB除了可以用C#那樣的方法來處理事件響應(yīng)以外,還有從VB5繼承下來的獨特的事件處理方式——WithEvents。

我喜歡稱這種事件處理方式為靜態(tài)的事件處理,書寫響應(yīng)事件的方法時就已經(jīng)決定該方法響應(yīng)的是哪一個事件,而C#則是在代碼中綁定事件的。VB中WithEvents靜態(tài)方法是非常有用的,它可以顯著增強(qiáng)代碼可讀性,同時也讓VB.net中的事件處理非常方便,不像C#那樣離開了窗體設(shè)計器就必須手工綁定事件。

4.2.3類型轉(zhuǎn)換運算符

在Visual Basic 2005中將加入一個新的運算符——TryCast,相當(dāng)于C#的as運算符。我一直希望VB有這樣一個運算符。VB目前的類型轉(zhuǎn)換運算符主要有CType和DirectCast。他們的用法幾乎一樣。我詳細(xì)比較了一下這兩個運算符,得出以下結(jié)論:

1.在轉(zhuǎn)換成引用類型時,兩者沒有什么區(qū)別,都是直接調(diào)用castclass指令,除非重載了類型轉(zhuǎn)換運算符CType。DirectCast運算符是不能重載的。

2.轉(zhuǎn)換成值類型時,CType會調(diào)用VB指定的類型轉(zhuǎn)換函數(shù)(如果有的話),比如將String轉(zhuǎn)換為Int32時,就會自動調(diào)用。

4.2.4默認(rèn)屬性和屬性參數(shù)

在原先的VB6里,有一項奇特的功能——默認(rèn)屬性。在VB6中,對象的名稱可以直接表示該對象的默認(rèn)屬性。

4.2.5可選參數(shù)和按名傳遞

VB從4.0開始支持“可選參數(shù)”這一特性。就是說,函數(shù)或子程序的參數(shù)有些是可選的,調(diào)用的時候可以不輸入。其實VB從1.0開始就有一些函數(shù)帶有可選參數(shù),只不過到了4.0才讓用戶自己開發(fā)這樣的過程。在VB4里,可選參數(shù)可以不帶默認(rèn)值,而在VB里,如果使用可選參數(shù),則必須帶有默認(rèn)值。在調(diào)用的時候,VB若發(fā)現(xiàn)參數(shù)被省略,則自動讀取.param部分的默認(rèn)值,并顯式傳遞給過程。這一部分完全由編譯器處理,而且沒有任何性能損失,和手工傳遞所有參數(shù)是完全一樣的。至于按名傳遞,VB會自動調(diào)整參數(shù)的順序,其結(jié)果與傳統(tǒng)方式的傳遞也沒有任何的不同。這說明我們可以放心地使用這項便利。而且?guī)в锌蛇x參數(shù)的過程拿到C#中,頂多變成不可選參數(shù),也不會造成什么其他的麻煩。

PS.很多COM組件都使用了默認(rèn)參數(shù),而且有些過程的參數(shù)列表非常長,在VB里可以輕松地處理它們,而在C#中經(jīng)常讓開發(fā)者傳參數(shù)傳到吐血。

4.2.6在經(jīng)過對比之后可得以下一個結(jié)論:

1.目前的主流編程語言沒有簡單的,如果你想學(xué)精通的話。

2.VB的門檻比較低,編程思想較容易接受。

3.學(xué)習(xí)C不能短期內(nèi)見到成效。

4.據(jù)用戶調(diào)查69%的考生覺得VB更容易接受

致謝

在本次課程設(shè)計中,我從指導(dǎo)老師牛榮和李鵬身上學(xué)到了很多東西。老師認(rèn)真負(fù)責(zé)的工作態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神和深厚的理論水平都使我收益匪淺。他無論在理論上還是在實踐中,都給與我很大的幫助,使我得到不少的提高這對于我以后的工作和學(xué)習(xí)都有一種巨大的幫助,感謝他耐心的輔導(dǎo)。

另外,在游戲開發(fā)過程中化希耀老師和杜義君老師也給于我們很大的幫助,幫助解決了不少的難點,使得游戲能及時開發(fā)完成,還有所有的同學(xué)同樣給與我不少幫助,這里一并表示感。

參考文獻(xiàn):

[1]Vsual Basic 程序設(shè)計教程 作者:龔沛曾,陸慰民,楊志強(qiáng) 高等教育出版社出版

[2]Vsual Basic 6.0程序設(shè)計 作者:劉新民,蔡瓊,白糠生 清華大學(xué)出版社出版

[3]80例上手 VB6 編程 作者:唐凱軍,湯惠莉 山東電子音像出版社

[4]Vsual Basic 實例教程 作者:盧毅 科學(xué)出版社出版

[5]Vsual Basic 經(jīng)典范例50講 作者:趙欣勝,亢慧娟,劉晟宏 科學(xué)出版社出版

第三版VB程序設(shè)計教程課后習(xí)題答案 龔沛曾主編的

習(xí)題一

答案在教材上找。

習(xí)題二

1.對象指現(xiàn)實世界中的實體。每個對象有自己的特征(屬性)、行為(方法)和發(fā)生在該對象上的活動(事件)。

類是對同一種對象的集合與抽象。類包含所創(chuàng)建對象的屬性數(shù)據(jù),以及對這些數(shù)據(jù)進(jìn)行操作的方法。封裝和隱藏是類的重要特性,將數(shù)據(jù)結(jié)構(gòu)和對數(shù)據(jù)的操作封裝在一起,類的內(nèi)部實現(xiàn)細(xì)節(jié)對用戶來說是透明的。

VB工具箱中的可視圖標(biāo)是VB系統(tǒng)設(shè)計好的標(biāo)準(zhǔn)控件類。通過將控件類實例化,得到真正的控件對象。在窗體上畫一個控件,就將類轉(zhuǎn)換為對象,創(chuàng)建了一個控件對象。

VB中常用的對象是控件。此外,VB還提供了系統(tǒng)對象。窗體是個特例,它既是類也是對象。當(dāng)向一個工程添加一個新窗體時,實質(zhì)就由窗體類創(chuàng)建了一個窗體對象。

對象的三要素:屬性、事件和方法。

屬性:存放對象的數(shù)據(jù)(決定對象外觀及功能)對象屬性的設(shè)置方法:在設(shè)計階段,利用屬性窗口直接設(shè)置屬性值;程序運行時,通過語句[對象名.]屬性名=屬性值。若屬性只能在設(shè)計階段設(shè)置,在程序運行階段不可改變,稱為只讀屬性。

事件:發(fā)生在對象上的事情。同一事件,對不同的對象,會引發(fā)不同的反應(yīng)。

事件過程:應(yīng)用程序處理事件的步驟。應(yīng)用程序設(shè)計的主要工作就是為對象編寫事件過程的代碼。

方法:面向?qū)ο蟮某绦蛟O(shè)計語言,為程序設(shè)計人員提供了一種特殊的過程和函數(shù)。方法是面向?qū)ο蟮模{(diào)用時一定要指明對象。

2.窗體和控件具有的基本屬性“

(1) Name屬性:名稱

所創(chuàng)建的對象名稱,在程序中引用。

(2) Caption屬性:標(biāo)題

該屬性決定了對象上顯示的內(nèi)容。

(3) Height、Width、Top和Left屬性

決定對象的大小和位置。

(4) Enabled 屬性:對象是否允許操作

(5) Visible 屬性:對象是否可見

(6) Font 屬性組:文本的外觀

FontName字體、FontSize大小

FontBold粗體、FontItalic斜體

FontStrikethru 刪除線

FontUnderline 下劃線

(7) ForeColor屬性:前景顏色

(8) BackColor屬性:背景顏色

(9) MousePointer屬性:鼠標(biāo)指針類型, 設(shè)置值范圍0~15,由系統(tǒng)指定 。若為99,由用戶提供的圖形文件定義鼠標(biāo)指針形狀。

(10) MouseIcon屬性:在MousePointer屬性值為99時,存放自定義的鼠標(biāo)圖標(biāo)文件(.ico或.cur)。圖標(biāo)庫在Graphics目錄下。

3.窗體的事件:Load事件是在窗體被裝入工作區(qū)時觸發(fā)的事件。當(dāng)應(yīng)用程序啟動,自動執(zhí)行該事件,該事件通常用來在啟動應(yīng)用程序時對屬性和變量進(jìn)行初始化。

窗體的方法:(1)Print方法

用來顯示文本內(nèi)容,格式:[對象.]print 表達(dá)式

(2)Cls方法

清除運行時在窗體或圖形框中產(chǎn)生的文本或圖形, Cls方法不能清除窗體在設(shè)計時的文本和圖形。

格式:[對象.]cls

(3)Move方法

可移動窗體或控件,并可改變其大小。

語法格式如下:

[對象.]Move 左邊距離[,上邊距離[,寬度[,高度]]]

4.標(biāo)簽作用:用于顯示文本(輸出)信息,不能作為輸入信息的界面。其內(nèi)容只能通過Caption屬性設(shè)置或修改,不能直接編輯。

5.文本框是一個文本編輯區(qū)域,可以在該區(qū)域輸入、編輯、修改和顯示正文內(nèi)容。在VB中字符長度以字為單位,也就是一個西文字符與一個漢字都是一個字,長度為1。

重要屬性(1) Text 顯示或輸入的正文內(nèi)容。

(2) Maxlength 設(shè)置文本框可輸入的文字最大長度。默認(rèn)值為0,表示可以輸入任意長字符串。

(3) MultiLine 多行屬性

設(shè)置為True時,文本框可以輸入或顯示多行正文,同時具有文字處理器的自動換行功能,按Enter鍵可插入一空行。

(4) ScrollBars 滾動條屬性

0-None 無滾動條

1-Horizontal 水平滾動條

2-Vertical 垂直滾動條

3-Both 同時加水平和垂直滾動條

注意:當(dāng)MultiLine為True時,ScrollBars才有效

(5) PassWordChar 設(shè)置顯示文本的替代符。例如,當(dāng)設(shè)置為“*”,則在文本框輸入的內(nèi)容均以“*”顯示,而存儲的值是用戶輸入的原文。一般用于設(shè)置口令的輸入。

當(dāng)MultiLine為True時,該屬性不起作用,密碼不允許多行。

(6) Locked 指定文本控件是否可被編輯,默認(rèn)值為False(可編輯),當(dāng)設(shè)置為True時,文本控件相當(dāng)于標(biāo)簽控件的作用。

注意:Locked與Enabled的區(qū)別。

(7)文本內(nèi)容進(jìn)行選擇操作的三個屬性

SelStart 選定的正文開始位置

SelLength 選定的正文長度

SelText 選定的正文內(nèi)容

這3個屬性互相關(guān)聯(lián),例如設(shè)置SelStart、SelLength后,SelText 自動存放指定的文本。

注意:屬性窗口中沒有這三個屬性,只能在程序代碼中使用。

6.文本框的事件:(1) Change事件:當(dāng)Text屬性值發(fā)生改變時引發(fā)該事件

(2) KeyPress事件:按下并且釋放鍵盤上的一個鍵時,引發(fā)焦點所在控件的KeyPress事件,所按鍵的值存放在參數(shù)KeyAscii中。對回車的判斷 KeyAscii=13

7.文本框最有用的方法是SetFocus,把光標(biāo)移到指定的文本框中。

8.命令按鈕 Picture屬性:按鈕可顯示圖片文件(.bmp和.Ico),當(dāng)Style為1時有效。

10. 啟動窗體時將命令按鈕定位在窗體中央的代碼

Private Sub Form_Load()

Command1.Left = Form1.ScaleWidth / 2 - Command1.Width / 2

Command1.Top = Form1.ScaleHeight / 2 - Command1.Height / 2

End Sub

11.vb圖片文件在 C:\Program Files\Microsoft Visual Studio\Common\Graphics 文件夾。

安裝VB時可選擇是否安裝這些圖片文件。

習(xí)題三

1. 合法常量:

(1) Double

(2) 錯誤

(3) Double

(4) Double

(5) 錯誤

(6) Integer

(7) String

(8) String

(9) Date

(10) Double

(11) 錯誤(漢字字符)

(12)Integer(八進(jìn)制)

(13) 錯誤(八進(jìn)制無數(shù)碼8)

(14) Integer

(15) Boolean

(16) 錯誤

(17) 錯誤(十六進(jìn)制無數(shù)碼g)

(18) Single

說明:浮點型變量默認(rèn)為Double類型而非Single。

2. 合法變量名:

(1) √

(2) √

(3) 誤:數(shù)字開頭

(4) 誤:含空格

(5) 誤:關(guān)鍵字

(6) √

(7) 誤:關(guān)鍵字

(8) 誤:有括號

(9) √

(10) √

(11) √

(12) √(漢字字符可作為變量名,但不常用,且此名稱易誤解)

變量命名規(guī)則見P.41-42。

字母(漢字)開頭,字母(漢字)、數(shù)字、下劃線組成,長度為1-255個字符;關(guān)鍵字不可作為變量名,但可在變量名中嵌入關(guān)鍵字;不區(qū)分大小寫。

常量、數(shù)組、類型、函數(shù)、過程、對象命名規(guī)則與此相同。常量名通常全用大寫。

3. 寫VB表達(dá)式

(1) Abs(x + y) + z ^ 5

(2) (1 + x * y) ^ 6

(3) (10 * x + Sqr(3 * y)) / (x * y)

(4) (-b + Sqr(b ^ 2 - 4 * a * c)) / (2 * a)

(5) 1 / (1 / r1 + 1 / r2 + 1 / r3)

(6) Sin(45 * 3.14159 / 180) + (Exp(10) + Log(10)) / Sqr(x + y + 1)

4. 根據(jù)條件寫表達(dá)式

(1) 隨機(jī)產(chǎn)生大寫字母 Chr(Int(Rnd * (Asc("L") - Asc("C") + 1) + Asc("C")))

(2) [100,200]內(nèi)的隨機(jī)數(shù) Int(Rnd * 101) + 100

(3) 點(x,y)位于第一或第三象限 x 0 And y 0 Or x 0 And y 0 或 x * y 0

(4) x是5或7的整數(shù)倍 x Mod 5 = 0 Or Int(x / 7) = x / 7

(5) 將兩位整數(shù)x的個位與十位對換 x \ 10 + (x Mod 10) * 10

(6) 四舍五入取兩位小數(shù) Round(x, 2)

(7) 字符變量C是字母字符(不區(qū)分大小寫)——準(zhǔn)確地說是:字符變量C的第一個字符是字母

C = "A" And C = "Z" Or C = "a" And C "z"

或 UCase(C) = "A" And UCase(C) = "Z"

或 LCase(C) = "a" And LCase(C) = "z"

(8) 字符變量S第5個字符起取6個字符 Mid(S, 5, 6)

(9) 10≤x<20 10 = x And x 20

(10) x,y至少有一個小于z x z Or y z

(11)x,y都大于z x z And y z

5. 寫表達(dá)式的值

(1) 188 ——注意運算的優(yōu)先級順序,以及整除運算“\”的計算

(2) 200100 —— 計算100 + "100"時,由于兩個操作數(shù)類型不同,在可能的情況下自動采用精度較高的類型,即把字符型轉(zhuǎn)換為數(shù)值型,100 +100 得到200;然后進(jìn)行字符串連接運算200 100 ,再自動將兩個數(shù)值轉(zhuǎn)換為字符串,得200100。

(3) 68.56 ——在四舍五入函數(shù)產(chǎn)生之前,這就是四舍五入的計算方法

(4) 876554 ——先進(jìn)行字符串的“+”運算,再轉(zhuǎn)換成數(shù)值。在變量名和函數(shù)名后可加上類型符,以強(qiáng)調(diào)其類型,但不是必須的。

(5) 2000-2-29

(6) 6

6.Shell函數(shù)調(diào)用

i = Shell("mspaint.exe", 1) '啟動畫圖

i = Shell("C:\Program Files\Microsoft Office\OFFICE11\winword.exe", 1) '啟動Word

說明:“畫圖”是Windows本身提供的程序,可以省略路徑。

8. 答:單精度浮點型

第7,9題答案在教材中找。

習(xí)題四

第1,3,5,8題答案在教材中找。

2. 賦值語句的錯誤

(1)10x 不能做變量名。

上機(jī)驗證結(jié)果:VB將10識別為行號,x = Sin(x) + y是為變量x賦值。故無語法錯誤。

(2)Sqr函數(shù)的參數(shù)為負(fù)數(shù)。

上機(jī)驗證結(jié)果:“無效的過程調(diào)用或參數(shù)”

(3)賦值號左邊不是變量名。

上機(jī)驗證結(jié)果:“缺少子程序、函數(shù)或?qū)傩浴?/p>

(4)除數(shù)為0

上機(jī)驗證結(jié)果:“溢出”。

4. [答案略]

說明:小數(shù)位可以使用四舍五入函數(shù)Round或輸出格式函數(shù)Format。例如Round(x, 2)和Format(x, “0.00”)均可使結(jié)果只保留兩位小數(shù)。但如果四舍五入后要進(jìn)行數(shù)值運算,則使用Round函數(shù),例如z=Round(x,2)+Round(y,2)。而Format函數(shù)通常只用于輸出格式設(shè)置。

6.指出錯誤

(1)“≥”應(yīng)改為“=”,前者是中文字符,不具有運算功能。

(2)“10x20”應(yīng)改為“10x And x20”,否則運行結(jié)果錯誤。

7.寫條件語句

(1)

Dim c As String

c = InputBox("c=")

If Mid(c, 3, 1) = "C" Then

MsgBox "Yes"

Else

MsgBox "No"

End If

(2)

# 使用If語句

Dim x As Single, y As Single

x = Val(InputBox("x="))

If x 20 Then

y = x ^ 2 + 3 * x + 2

ElseIf x = 10 Then

y = Sqr(3 * x) - 2

ElseIf x 0 Then

y = 1 / x + Abs(x)

End If

Print "y="; y

# 使用Select Case語句

Dim x As Single, y As Single

x = Val(InputBox("x="))

Select Case x

Case Is 20

y = x ^ 2 + 3 * x + 2

Case Is = 10

y = Sqr(3 * x) - 2

Case Is 0

y = 1 / x + Abs(x)

End Select

Print "y="; y

(3)

# 使用If語句

Dim x As Single, y As Single, z As Single, Max As Single

x = Val(InputBox("x="))

y = Val(InputBox("y="))

z = Val(InputBox("z="))

Max = x

If y Max Then Max = y

If z Max Then Max = z

Print "Max="; Max

# 使用IIF函數(shù)

x = Val(InputBox("x="))

y = Val(InputBox("y="))

z = Val(InputBox("z="))

Max = IIf(x y, x, y)

Max = IIf(z Max, z, Max)

Print "Max="; Max

9. 計算循環(huán)次數(shù)

(1) 6

(2)19

(3)0

(4)死循環(huán)直至溢出

10. 40號語句執(zhí)行 4次;第50 號語句執(zhí)行12次;

執(zhí)行第90號語句輸出的結(jié)果是: 13,0,2

說明:該程序為嵌套循環(huán),其中外循環(huán)由j值變化(1,4,7,10)控制執(zhí)行4次,當(dāng)j值為13時結(jié)束循環(huán);內(nèi)循環(huán)由k值變化(6,4,2)控制執(zhí)行3次,當(dāng)k值為0時結(jié)束循環(huán)。第40 行是外循環(huán)的循環(huán)體,故執(zhí)行4次;第50 行是內(nèi)循環(huán)的循環(huán)體,故執(zhí)行4*3=12次。

11. 可以定一個較大的循環(huán)次數(shù),在循環(huán)體中根據(jù)條件用Exit For退出。

但這種情況通常用Do While循環(huán)控制。

12. 編程(并非唯一正確答案)

(1)

Dim i As Integer, s As Integer

For i = 1 To 10

s = s + (i + 1) * (2 * i + 1)

Next i

Print "s="; s

(2)

Dim i As Integer, n3 As Integer, n7 As Integer

For i = 1 To 100

If i Mod 3 = 0 Then n3 = n3 + 1

If Int(i / 7) = i / 7 Then n7 = n7 + 1

Next i

Print "1-100中3的倍數(shù)有"; n3; "個"

Print "1-100中7的倍數(shù)有"; n7; "個"

(3)

Dim s1 As String, s2 As String, i As Integer

s1 = InputBox("Input String")

s2 = ""

For i = 1 To Len(s1)

s2 = Mid(s1, i, 1) + s2

Next i

Print "原序:"; s1

Print "反序:"; s2

For i = Len(s1) To 1 Step -1

s2 = s2 + Mid(s1, i, 1)

Next i

13. 輸出字符串“10100”。該程序功能是將十進(jìn)制數(shù)轉(zhuǎn)化為二進(jìn)制。

說明:要理解該程序需要了解數(shù)制轉(zhuǎn)換的計算方法(有興趣者參看百度百科)。48是字符"0"的ASCII碼。

14. 運行時輸出 22 484

該程序功能是求x和y最大公約數(shù)和最小公倍數(shù)。

說明:此算法稱為“輾轉(zhuǎn)相減法”。可對照例4.17的輾轉(zhuǎn)相除(輾轉(zhuǎn)求余)法。

15.[50,100]間的20個隨機(jī)數(shù),求最大值、最小值、平均值。

Dim x As Integer, sum As Integer, aver As Single

Dim n%, i%, max%, min%

Randomize

max = 50: min = 100: n = 20

For i = 1 To n

x = Int(Rnd * 51 + 50)

List1.AddItem x

sum = sum + x

If x max Then max = x

If x min Then min = x

Next i

aver = sum / n

Print "最大值:"; max, "最小值:"; min, "平均值:"; aver

習(xí)題五

1. 指定數(shù)組的默認(rèn)下界 Option Base 1

2.合理的數(shù)組聲明

(1)錯。定義數(shù)組不可用變量(教材99頁)。

(2)正確。該數(shù)組下標(biāo)為0-11。

(3)錯。VB中數(shù)組下標(biāo)用圓括號。

(4)正確。三維數(shù)組三個下標(biāo)分別為0-1,0-1,0-2,共12個元素。

(5)錯誤。非動態(tài)數(shù)組,不可重定義。

(6)錯誤。動態(tài)數(shù)組重定義時不可改變數(shù)據(jù)類型。

(7)正確。二維數(shù)組兩個下標(biāo)分別為0-2,0-3,共12個元素。

(8)語法錯誤,二維數(shù)組定義中漏寫逗號——可能是印刷錯誤,加上此逗號則正確。

3.當(dāng)引用數(shù)組元素時下標(biāo)值小于定義的最小下標(biāo),或大于最大下標(biāo)時,會發(fā)生“下標(biāo)越界”錯誤。

4.?dāng)?shù)組名:a ;數(shù)組類型:Single(單精度浮點型);維數(shù):二維;

各維的上下界:第一維下界(最小下標(biāo))為 -1,上界(最大下標(biāo))為2,

第二維下界(最小下標(biāo))為 0,上界(最大下標(biāo))為3;

數(shù)組的大小:4行4列共16個元素

以矩陣的格式輸出二維數(shù)組:

For i = -1 To 2

For j = 0 To 3

Print a(i, j);

Next j

Print

Next i

或?qū)懗筛油ㄓ玫拇a形式:

For i = LBound(a, 1) To UBound(a, 1)

For j = LBound(a, 2) To UBound(a, 2)

Print Tab(j * 8); a(i, j);

Next j

Print

Next i

6.一維字符數(shù)組

Dim a(1 To 20) As String

Private Sub Command1_Click() '(1)隨機(jī)產(chǎn)生字符串

Dim i As Integer, j As Integer, n As Integer, c As String * 1

Randomize

For i = 1 To 20

a(i) = "" '將第i個元素清空

n = Int(Rnd * 10 + 1) '產(chǎn)生[1,10]的隨機(jī)數(shù)

For j = 1 To n 'a(i)中有n個字符

c = Chr(Int(Rnd * 26 + 97)) '隨機(jī)產(chǎn)生字母97是字母a的ASCII碼

a(i) = a(i) + c

Next j

Next i

End Sub

Private Sub Command2_Click() '(2)輸出字符串

Dim i As Integer

For i = 1 To 20

Print Tab(((i - 1) Mod 5) * 11); a(i);

If i Mod 5 = 0 Then Print

Next i

End Sub

Private Sub Command3_Click() '(3)最長的字符串

Dim i As Integer, imax As Integer

imax = 1

For i = 2 To 20

If Len(a(i)) Len(a(imax)) Then

imax = i

End If

Next i

Print "最長的字符串:"; a(imax)

End Sub

第7,8題答案在教材中找。

第9題“自定義變量”含義不明,暫時無法回答。

第5,10 題 [暫略]

習(xí)題六

第1,2,6-8題答案可在教材中找到。

3.指出過程說明中的錯誤

(1)Sub子過程不應(yīng)該定義類型

(2)函數(shù)與形式參數(shù)不應(yīng)該同名

(3)數(shù)組作為形式參數(shù)時,應(yīng)使用傳地址方式,不可使用傳值(ByVal)

(4)形式參數(shù)應(yīng)該是變量或數(shù)組名,不可以是一個數(shù)組元素

4.指出調(diào)用過程語句的錯誤

(1)無語法錯誤,但因形參sum所對應(yīng)的實參是常量3,故計算結(jié)果無法傳遞給主調(diào)程序。

(2)實參變量c與形參sum的類型不一致。

(3)類似于(1),形參sum所對應(yīng)的實參是表達(dá)式a+b,故計算結(jié)果無法傳遞給主調(diào)程序。

(4)類似于(1)和(2),形參sum所對應(yīng)的實參是表達(dá)式Sqr(c),故計算結(jié)果無法傳遞給主調(diào)程序。另外srq(a)存在語法錯誤(拼寫錯)。

(5)與(2)相同,實參c與形參sum的類型不一致。

5.迭代法求平方根

(1)自定義函數(shù)的定義及調(diào)用

Function FSqr1(a As Single) As Single

Dim x0 As Single, x As Single

x = a

Do

x0 = x

x = (x0 + a / x0) / 2

Loop While Abs(x - x0) 0.00001

FSqr1 = x

End Function

Private Sub Command1_Click()

Dim x!, y!

x = Val(InputBox("x="))

If x = 0 Then

y = FSqr1(x)

Print y

End If

End Sub

(2)自定義子過程的定義及調(diào)用

Sub FSqr2(a As Single, x As Single)

Dim x0 As Single

x = a

Do

x0 = x

x = (x0 + a / x0) / 2

Loop While Abs(x - x0) 0.00001

End Sub

Private Sub Command2_Click()

Dim x!, y!

x = Val(InputBox("x="))

If x = 0 Then

Call FSqr2(x, y)

Print y

End If

End Sub

(3)遞歸函數(shù)及調(diào)用 [略]

習(xí)題七

第1-9題,答案在教材上找;第10,12-14題,略。

11.檢測Ctrl和F3同時按下的代碼:

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)

If Shift = 2 And KeyCode = 114 Then MsgBox "HAHA"

End Sub

習(xí)題八

第1,2,6,7,9題答案可閱讀教材找到。

3.寫Open語句

(1) Open "Seqnew.dat" For Output As #1 '重寫

或 Open "Seqnew.dat" For Append As #1 '添加

(2)Open "Seqold.dat" For Input As #2

(3)Open "Seqappend.dat" For Append As FreeFile

4.編程,將文件Text.dat 讀入變量strTest。

Dim strTest As String

Open "Text.dat" For Input As #2

Do While Not EOF(2)

strTest = strTest + Input(1, #2)

Loop

8.本課程不涉及二進(jìn)制文件。故此處以順序文件讀寫方式編程。另外合并的結(jié)果可以是合并到其中某一個文件,也可以是合并到一個新的文件,此處代碼是合并到其中一個文件F1.txt。

'方法一,在2號文件一次讀一個字符并寫入1號文件

Dim strTemp As String * 1

Open "d:\F1.txt" For Append As #1

Open "d:\F2.txt" For Input As #2

Do While Not EOF(2)

strTemp = Input(1, #2)

Print #1, strTemp; '注意結(jié)尾有分號,否則每個字符一行

Loop

Close

'方法二,在2號文件一次讀一個字符并累加,最后將累加結(jié)果寫入1號文件

Dim strTemp As String '注意方法一變量定義的區(qū)別

Open "d:\F1.txt" For Append As #1

Open "d:\F2.txt" For Input As #2

strTemp = ""

Do While Not EOF(2)

strTemp = strTemp + Input(1, #2)

Loop

Print #1, strTemp

Close

習(xí)題九

答案在教材上找。

習(xí)題十

答案在教材上找

vb.net哪本教材 比較好?

Wrox紅皮的《Visual Basic 2010 入門經(jīng)典》還是不錯的,畢竟是比較權(quán)威的書。不過這個還是要靠興趣和編程量的。我覺得作為教材的書基礎(chǔ)一點就可以了,有深度的可以作為課下資料或者上網(wǎng)查。個人覺得多編一些實際一點的有意思的程序比較好吧

我想自學(xué)vb!需要的條件請大家指點!

你以前若是 一點都沒學(xué)過,確實有困難,有很多名詞是你以前沒有見過的。

有困難的時候必須有人解答才行!!!

想系統(tǒng)學(xué)習(xí)編程(高深),那就去學(xué)習(xí)C

若只是編寫一些小程序,那就去學(xué)VB

現(xiàn)在所用到中小型應(yīng)用程序,VB編寫的占多數(shù)!!

WOrd字處理軟件就是用VB編的 系統(tǒng)是用C編寫的

VB程序設(shè)計簡明教程 高等教育出版社

這本書編寫的相當(dāng)好!!!!

Visual Basic程序設(shè)計簡明教程(第二版)

ISBN:7-04-011549,P334

龔沛曾等,已出版,定價:25.60元

本書是為將Visual Basic作為程序設(shè)計第一語言課程的學(xué)校編寫的。在第一版的基礎(chǔ)上,本書針對初學(xué)者的特點,在內(nèi)容編排、敘述嚴(yán)謹(jǐn)、實驗題選擇等方面做了進(jìn)一步修改,力圖便于教與學(xué)。

本書分為教學(xué)篇和實驗篇。教學(xué)篇從兩個方面即程序設(shè)計語言和可視化界面設(shè)計進(jìn)行介紹,重點在第一方面。對程序設(shè)計的基本知識、基本語法、編程方法和常用算法進(jìn)行了較為系統(tǒng)、詳細(xì)的介紹,讓學(xué)生學(xué)會分析問題、掌握簡單問題編程的能力;而可視化界面設(shè)計是實際應(yīng)用當(dāng)中不可缺少的。本書將兩者有機(jī)地結(jié)合,既可提高學(xué)生學(xué)習(xí)積極性又可提高編程效率和教學(xué)效果,真正達(dá)到學(xué)以致用的目的。

實驗篇根據(jù)教學(xué)篇的布局,安排了相應(yīng)的十一個實驗,每個實驗有若干個題目。根據(jù)教學(xué)規(guī)律和讀者的建議,凡奇數(shù)號的實驗給出了解答,偶數(shù)號實驗答案則在配套的《Visual Basic實驗指導(dǎo)與測試》(第二版)一書中給出,以培養(yǎng)學(xué)生獨立解題的能力。返回

作者介紹:

龔沛曾(GONG PEIZENG),女,1953年8月生,1969年1月參加工作,1982年1月畢業(yè)于華東理工大學(xué)。現(xiàn)任同濟(jì)大學(xué)計算機(jī)系教授,基礎(chǔ)學(xué)科組主任,全國高校計算機(jī)教育研究會常務(wù)理事,上海市計算機(jī)基礎(chǔ)教育協(xié)會秘書長。

長期從事計算機(jī)基礎(chǔ)教學(xué)和科研工作。主講《高級程序設(shè)計語言(C、VB、FORTRAN、PASCAL、COBOL)》、《計算機(jī)文化》、《實用軟件技術(shù)》、《數(shù)據(jù)結(jié)構(gòu)》、《Web技術(shù)》等課程。研究方向計算機(jī)輔助教育。

主編教材10余本、發(fā)表論文20余篇。主要教材有:《計算機(jī)文化基礎(chǔ)》、《Visual Basic程序設(shè)計教程》、《Visual Basic計算機(jī)繪圖》、《C語言程序設(shè)計》等系列教材;發(fā)表的主要論文有:"通用學(xué)分制智能教務(wù)管理系統(tǒng)的研究與實踐"、"研究集教學(xué)、實驗、考試于一體化的CAI課件的有效途徑"、"多媒體CAI課件開發(fā)的技術(shù)和方法"等。承擔(dān)了教育部《基于網(wǎng)絡(luò)環(huán)境的計算機(jī)基礎(chǔ)教學(xué)改革與實踐》等教改項目。

主要成果有:負(fù)責(zé)的《面向21世紀(jì)計算機(jī)基礎(chǔ)教學(xué)改革與實踐》項目2001年獲國家級教學(xué)成果二等獎、上海市教學(xué)成果一等獎;主編的《計算機(jī)文化基礎(chǔ)》、《Visual Basic程序設(shè)計教程》教材2000年分別獲上海市優(yōu)秀教材二、三等獎,其中《計算機(jī)文化基礎(chǔ)》教材列入國家十五規(guī)劃教材,《Visual Basic程序設(shè)計教程》列入教育部面向21世紀(jì)教材;參加的國家七?五攻關(guān)項目"城市環(huán)境噪聲防治系統(tǒng)"1992年獲上海市科技進(jìn)步三等獎;承擔(dān)的《通用學(xué)分制智能智能教務(wù)管理系統(tǒng)》、《計算機(jī)文化CAI課件》兩項目1997年分別獲教育部、全國工科協(xié)作組優(yōu)秀CAI軟件三等獎。返回

專家書評:

探索 創(chuàng)新 實用--評《Visual Basic程序設(shè)計簡明教程》

同濟(jì)大學(xué) 吳啟迪

由龔沛曾編著的《Visual Basic程序設(shè)計簡明教程》已由高等教育出版社出版。從一些使用高校反饋的信息看,這是一本適用于計算機(jī)第二層次教學(xué)的優(yōu)秀教材,它有以下特色。

一、 體現(xiàn)時代特征,選材超前

教育部關(guān)于計算機(jī)基礎(chǔ)教育三個層次的課程體系中的第一層次--計算機(jī)文化教育的重要性,已成為廣大教育工作者的共識。探索改革第二層次中程序設(shè)計語言課程教學(xué),體現(xiàn)21世紀(jì)的時代特征,是深入教育改革的研究內(nèi)容。為此,作者提出了將傳統(tǒng)的程序設(shè)計語言教學(xué)轉(zhuǎn)向反映21世紀(jì)潮流的面向?qū)ο蟮某绦蛟O(shè)計技術(shù),并以VB為環(huán)境進(jìn)行實施。VB不僅具有面向?qū)ο蟆⒖梢暬⑹录?qū)動等特點,而且繼承了 Basic簡單易學(xué)的優(yōu)點,尤其適合于非計算機(jī)專業(yè)學(xué)生的學(xué)習(xí)。教材的出版對探索和推廣面向21世紀(jì)的程序設(shè)計語言教學(xué)改革有著重要的意義。

二、 結(jié)構(gòu)合理,層次清楚,適用性強(qiáng)

該書兼顧到讀者的不同程度,從打好基礎(chǔ)和培養(yǎng)學(xué)生應(yīng)用計算機(jī)的能力角度出發(fā),分為基礎(chǔ)篇、提高篇和實驗篇。 基礎(chǔ)篇分為8章。針對程序設(shè)計的初學(xué)者,注重VB的基礎(chǔ)知識。對VB的程序設(shè)計語言基礎(chǔ)做了較詳細(xì)的介紹,列舉了一般程序設(shè)計語言教學(xué)中必須掌握的常用算法,同時介紹了VB的控件、菜單、文件、圖形設(shè)計等。此篇可作為大學(xué)生的程序設(shè)計語言的必修課教學(xué)內(nèi)容。

提高篇分四章。對已掌握了程序設(shè)計的學(xué)生,注重VB與當(dāng)前新技術(shù)應(yīng)用的結(jié)合,包括與數(shù)據(jù)庫、OLE、API函數(shù)、WEB等相結(jié)合,這些可作為選修課或自學(xué)內(nèi)容。

實驗篇提供了15個單元的實驗和自我測試題。通過針對性的上機(jī)實踐,使讀者掌握程序設(shè)計與調(diào)試的方法,提高動手能力,鞏固所學(xué)的知識。

三、 兩個結(jié)合,注重應(yīng)用

教材始終貫穿了兩個結(jié)合,即將面向?qū)ο蟪绦蛟O(shè)計方法和結(jié)構(gòu)化程序設(shè)計方法有機(jī)結(jié)合,計算機(jī)文化基礎(chǔ)和計算機(jī)技術(shù)基礎(chǔ)兩個層次有機(jī)結(jié)合。

面向?qū)ο蟮某绦蛟O(shè)計方法還是要以結(jié)構(gòu)化程序設(shè)計為基礎(chǔ)。因此,該書與其他同類VB教材不同之處在于加強(qiáng)了結(jié)構(gòu)化程序設(shè)計和常用算法的訓(xùn)練,并與VB中的對象屬性和方法相聯(lián)系,使讀者既掌握了程序設(shè)計的基本方法,更加深了對面向?qū)ο蟾拍畹睦斫狻@纾诜治鰯?shù)組排序算法的同時,也介紹了利用VB列表框的SORT屬性可實現(xiàn)數(shù)據(jù)的有序,同時指出兩者的特點和利弊。

利用學(xué)生已在計算機(jī)文化基礎(chǔ)課程中對Windows圖形界面及軟件熟練使用的基礎(chǔ),在該書中,大量的實例都圍繞著第一層次中已學(xué)過的軟進(jìn)行剖析,如對計算器、圖形瀏覽器、文本編輯器、數(shù)據(jù)庫管理等的分析。通過實例分析,并加以編程實現(xiàn),使學(xué)生既掌握了VB內(nèi)容的學(xué)習(xí),進(jìn)行了開發(fā)實用軟件的訓(xùn)練,更激發(fā)了探索VB奧妙的興趣,達(dá)到事半功倍的效果。

四、 在精字上下功夫,有創(chuàng)新

為了解決內(nèi)容多、學(xué)時少的矛盾,作者花費了大量的創(chuàng)造性勞動,在精字上下功夫。表現(xiàn)在:精練的文筆簡述基本語法的使用規(guī)則,淡化繁瑣的語法規(guī)則。短小精悍的實例引路,通過問題的展開導(dǎo)出對象屬性和方法,加深讀者對新知識的理解。精心設(shè)置了思考題并留有余地,給學(xué)生提供較多的獨立思考的機(jī)會,鞏固學(xué)習(xí)內(nèi)容。精選了與實際生活密切相關(guān)的問題作為實例或?qū)嶒瀮?nèi)容,既調(diào)動了學(xué)生的學(xué)習(xí)積極性,又使得學(xué)與用密切結(jié)合,增強(qiáng)了學(xué)生運用知識的能力。提供了與教材配套的CAI課件,構(gòu)成了立體化教材,利用大屏幕投影,真正貫徹精講多練的原則,提高了教學(xué)的質(zhì)量和效率。提供了與教材配套的教學(xué)網(wǎng)站,并提供了網(wǎng)絡(luò)化VB考試與評分系統(tǒng),隨時可進(jìn)行相關(guān)測評。教材結(jié)構(gòu)緊湊,層次清楚、圖文并茂、好教易學(xué)。

這些特色在同類計算機(jī)基礎(chǔ)教材改革中具有一定的創(chuàng)新意義,使學(xué)生通過該書的學(xué)習(xí),提高獲取知識的能力、分析問題和解決問題的能力以及開發(fā)實用軟件的能力。這在一般程序設(shè)計語言課程教學(xué)中難以完全兼顧到。

Visual Basic 2010入門書籍哪一本好?

我已經(jīng)買了你說的這本書,好像就從亞馬遜買的,現(xiàn)在已經(jīng)看得差不多了。這本書的例子不太好,用圖片查看器開發(fā)作為例子。整本書講得比較淺,不過寫書的比較有經(jīng)驗,翻譯比較口語化,比vb.net入門經(jīng)典第6版容易懂一些。

vb.net入門經(jīng)典第6版是必看書,建議你買一本

網(wǎng)站標(biāo)題:vb.net龔沛曾 大學(xué)計算機(jī) 龔沛曾
標(biāo)題來源:http://chinadenli.net/article26/doophjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作全網(wǎng)營銷推廣關(guān)鍵詞優(yōu)化標(biāo)簽優(yōu)化品牌網(wǎng)站制作軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計