浙教版信息技術(shù)第四章《VB程序設(shè)計初步》教案_第1頁
浙教版信息技術(shù)第四章《VB程序設(shè)計初步》教案_第2頁
浙教版信息技術(shù)第四章《VB程序設(shè)計初步》教案_第3頁
浙教版信息技術(shù)第四章《VB程序設(shè)計初步》教案_第4頁
浙教版信息技術(shù)第四章《VB程序設(shè)計初步》教案_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)浙教版信息技術(shù)第四章VB程序設(shè)計初步教案 VB程序設(shè)計初步一、本章教材分析學(xué)生活動1內(nèi)容框架結(jié)構(gòu) 實踐體驗問題與練習(xí)常量、變量、數(shù)組變量和常用標(biāo)準(zhǔn)函數(shù)的理解直接常量和符號常量變量說明的規(guī)定數(shù)組變量與數(shù)組元素運算符的優(yōu)先級具有多種運算符的綜合表達式的計算根據(jù)給定的三條線段的長度判斷能否構(gòu)成三角形賦值、選擇、循環(huán)語句的格式及功能的理解1.設(shè)計一個計算一元二次方程根的應(yīng)用程序2.使用for語句計算正數(shù)A的算術(shù)根的近似值賦值語句中的賦值符號與條件表達式中等號的區(qū)別行if語句與塊

2、if語句的運用for語句與Do While語句在功能上的區(qū)別過程和函數(shù)的區(qū)別設(shè)計一個計算圓柱體體積的函數(shù)設(shè)計一個命令按鈕上鼠標(biāo)單擊事件的處理過程,要求從輸入框中讀取輸入值經(jīng)變換后并在輸出框中顯示4.1 基本數(shù)據(jù)類型、常量和變量基本數(shù)據(jù)類型:常量、變量、數(shù)組變量和標(biāo)準(zhǔn)函數(shù) VB程序設(shè)計初步4.2 基本運算和表達式算術(shù)運算、關(guān)系運算、邏輯運算和表達式運算符的優(yōu)先級,有多種運算符的綜合表達式4.3 基本語句賦值語句、選擇語句、循環(huán)語句和程序注釋語句的格式4.4 算法的概念和表示方法過程、函數(shù)之間的異同事件處理過程教學(xué)范例:計算一批數(shù)據(jù)的算術(shù)平均值。 2. 教學(xué)目標(biāo) (1)理解VB基本數(shù)據(jù)類型,掌握變

3、量和常量等概念。 (2)掌握基本運算,了解運算的優(yōu)先級,能正確理解和使用表達式。 (3)掌握VB常用語句的使用方法。 (4)會使用VB實現(xiàn)順序、選擇、循環(huán)三種控制結(jié)構(gòu)。 (5)了解“過程”和“函數(shù)”的定義和使用方法。 3. 教材分析 本章主要包括VB的基本數(shù)據(jù)類型、常量和變量、數(shù)組變量、常用的標(biāo)準(zhǔn)函數(shù)、基本運算和表達式、基本語句、過程和函數(shù)的定義和使用等內(nèi)容。數(shù)據(jù)是程序的必要組成部分,也是程序處理的主要對象。在計算機高級語言中,廣泛涉及“數(shù)據(jù)類型”這一概念,數(shù)據(jù)類型決定了數(shù)據(jù)在計算機內(nèi)容的存儲方式。在程序中,不同類型的數(shù)據(jù)既可以以常量的形式出現(xiàn),也可以以變量的形式出現(xiàn)。常量在程序執(zhí)行期間其值是

4、不發(fā)生變化的,而變量的值卻可以改變,它代表內(nèi)存中指定的存儲單元。通過程序的執(zhí)行對數(shù)據(jù)進行加工處理,基本運算是數(shù)據(jù)處理中最常用的手段。VB基本運算包括算術(shù)運算、關(guān)系運算和邏輯運算三大類。把變量、常量、運算符、函數(shù)和圓括號按一定的規(guī)則組合起來,可以用來描述值的計算過程,或可以用來描述對于某種情況下所遇到的條件的判斷。語句是一種用來描述或規(guī)定計算機應(yīng)該完成的一串操作的命令。VB繼承了BASIC語言的一些基本語句,例如,賦值、選擇、循環(huán)等。一段程序代碼就是由一系列語句組合而成。教師如果能夠選擇一些簡單、有針對性的例子來教學(xué)以上這些VB的基本語法,學(xué)生就比較容易理解這些內(nèi)容,否則的話,由于這部分知識概念

5、性強,同時也比較抽象,導(dǎo)致初次接觸程序設(shè)計的學(xué)生不易理解。 在學(xué)生活動方面,教材安排了2個“實踐體驗”活動,用來加深學(xué)生對VB中有關(guān)數(shù)據(jù)類型、基本運算和一些基本語句的理解以及進一步熟悉VB編程環(huán)境、掌握簡單應(yīng)用程序的整個設(shè)計和實現(xiàn)過程。由于本章教材中有關(guān)基本數(shù)據(jù)類型和基本運算的內(nèi)容較多,對學(xué)生了解、掌握相關(guān)知識的要求比較高,然而在此部分教材并沒有安排學(xué)生“實踐體驗”活動,為了提高課堂效率并達到較好的教學(xué)效果,教師在教學(xué)設(shè)計中應(yīng)該設(shè)計份量適中的學(xué)習(xí)任務(wù)單,通過一定的口頭或書面形式的課堂練習(xí),讓學(xué)生通過具體的實例(課堂練習(xí))掌握那些比較抽象的知識。 本章的教學(xué)重點是VB的基本語法,教學(xué)難點是“過程

6、”和“函數(shù)”的定義和使用方法。 通過本章學(xué)習(xí),為第五章算法實例的程序?qū)崿F(xiàn)的學(xué)習(xí)提供知識與技能的準(zhǔn)備。 4. 課時分配建議節(jié)內(nèi)容學(xué)生活動課時4.1基本數(shù)據(jù)類型、常量和變量14.2基本運算和表達式14.3語句實踐體驗:計算一元二次方程的實數(shù)根。實踐體驗:使用For語句,計算正數(shù)A的算術(shù)根的近似值。34.4過程和函數(shù)1合計6 二、各節(jié)教學(xué)要求和教學(xué)設(shè)計建議 第一節(jié) (教材4.1) 基本數(shù)據(jù)類型、常量和變量 1. 教學(xué)要求 (1)理解VB基本數(shù)據(jù)類型。 (2)掌握變量和常量等概念。 (3)了解數(shù)組變量的概念以及說明(定義)數(shù)組的方法。 (4)了解VB中常用的標(biāo)準(zhǔn)函數(shù)。 2. 教學(xué)設(shè)計建議 本節(jié)教材包含

7、4.1.1基本數(shù)據(jù)類型、4.1.2常量、4.1.3變量、4.1.4數(shù)組變量和4.1.5常用的標(biāo)準(zhǔn)函數(shù)等5小節(jié)。 在 Visual Basic 環(huán)境下進行計算時,常常需要存儲臨時或中間數(shù)據(jù)。例如,若想要計算幾個值,將它們進行比較,并根據(jù)比較的結(jié)果對它們進行不同的操作。如果想要比較這些值,就要先存儲它們。像大多數(shù)編程語言那樣,Visual Basic 使用變量來存儲值。每個變量都要有確定的變量名(用來引用該變量所含的值的名詞)和數(shù)據(jù)類型(確定變量的值以何種格式存儲)。教師在教學(xué)中,應(yīng)該介紹VB中一些常用的數(shù)據(jù)類型,以及這些數(shù)據(jù)類型的取值范圍。教師也應(yīng)該向?qū)W生強調(diào),在編程時,應(yīng)根據(jù)需要設(shè)置變量的類型

8、。當(dāng)變量值的范圍可以使用整數(shù)類型時,就不要使用實數(shù)類型;單精度實數(shù)類型夠用時,就不要使用雙精度實數(shù)類型。這樣不僅可以節(jié)省保存數(shù)據(jù)用的內(nèi)存空間,而且可以提高數(shù)據(jù)處理的速度。 常量,顧名思義,在整個應(yīng)用程序執(zhí)行過程中,它們的值都保持不變。符號常量的使用增加了代碼的可讀性,因為我們看到的是具有含義的名字而不是具體的數(shù)據(jù)。Visual Basic 有許多內(nèi)部常量,也允許建立自定義常量。 數(shù)組變量主要用來存儲一批同類型的數(shù)據(jù)。數(shù)組是由一批同類型的變量構(gòu)成的一個序列,組成數(shù)組的每一個變量被稱為數(shù)組元素,或稱為下標(biāo)變量。下標(biāo)通常是一個整數(shù),用來指出某個元素在數(shù)組中的位置,數(shù)組中每個元素的位置由它的下標(biāo)惟一地

9、確定。 VB提供了大量的標(biāo)準(zhǔn)函數(shù),可供用戶編寫程序時直接使用。教材上介紹了部分常用的數(shù)學(xué)函數(shù)、字符串函數(shù)和類型轉(zhuǎn)換函數(shù)。教師可以列出一些標(biāo)準(zhǔn)函數(shù),例如,Int函數(shù)(取整函數(shù))、Sgn函數(shù)(符號函數(shù))和Rnd函數(shù)(隨機函數(shù))等,讓學(xué)生通過VB聯(lián)機幫助系統(tǒng)MSDN Library來了解這些函數(shù)的作用。本節(jié)教材的主要內(nèi)容是有關(guān)數(shù)據(jù)類型、變量、常量、數(shù)組、函數(shù)等一些新的知識和概念。這些抽象的知識和概念比較難以理解,不過教材上在介紹這些抽象的知識和概念時,都結(jié)合具體的、合適的例子來說明這些知識和概念,使學(xué)生更容易理解。由于這部分教材沒有安排具體的學(xué)生實踐體驗活動,教師可以適當(dāng)?shù)匕才乓恍┯懻摻涣鲗W(xué)生活動,

10、討論交流的主題可以是:使用符號常量的好處、數(shù)組變量的作用、如何確定數(shù)組元素在數(shù)組中的位置等。3.練習(xí)題解答及補充練習(xí) 1) 符號常量的好處是可以使程序具有更好的可閱讀性,方便程序的修改和調(diào)試。 2) 在同一個程序中,不同的變量要用不同的名稱。變量名有字母、數(shù)字和下劃線等字符組成,但必須以字母開頭,在變量名中對大小寫字母是不加區(qū)分的。在使用變量前要對變量的數(shù)據(jù)類型進行說明。 3) 數(shù)組變量主要用來存儲一批同類型的數(shù)據(jù)。用于成批的處理同一類型的數(shù)據(jù)。 4) 利用數(shù)組下標(biāo)確定。第二節(jié) (教材4.2) 基本運算和表達式 1. 教學(xué)要求 (1)掌握算術(shù)類基本運算。 (2)掌握關(guān)系類基本運算。 (3)掌握

11、邏輯類基本運算。 (4)了解運算的優(yōu)先級。 (5)能正確理解和使用表達式。 2. 教學(xué)設(shè)計建議 本節(jié)教材包含4.2.1算術(shù)類基本運算、4.2.2關(guān)系類基本運算、4.2.3邏輯類基本運算和4.2.4表達式等四小節(jié)。 基本運算是數(shù)據(jù)處理中最常用的手段。VB的基本運算包括算術(shù)運算、關(guān)系運算和邏輯運算三大類。把變量、常量、運算符、函數(shù)和圓括號按一定的規(guī)則組合起來,就構(gòu)成了一個表達式,用來描述值的計算過程,或描述對于某種情況下所遇到的條件的判斷。 基本類算術(shù)運算按優(yōu)先級別從高到低排列,依次是:乘冪()、取負(fù)(-)、乘法(*)、實數(shù)除法(/)、整數(shù)除法()、求余數(shù)(Mod)、加法(+)和減法(-)等。其中

12、,乘法和除法是同一優(yōu)先級,加法和減法也是同一優(yōu)先級。 教師可以把“立即”窗口的使用方法介紹給學(xué)生,在本節(jié)課中用于觀察表達式中各種運算的特性,在以后的課中也可以用來觀察有些VB語句的運行效果。有時為了驗證一下VB運算的結(jié)果,如果采用設(shè)計窗體、編寫程序的方法就顯得比較麻煩了,這時可以使用VB提供的“立即執(zhí)行”的功能。執(zhí)行菜單“視圖”中的“立即窗口”命令,可以打開“立即”窗口。在“立即”窗口中可以輸入命令,VB系統(tǒng)中的命令行解釋程序?qū)斎氲拿钸M行解釋與執(zhí)行。在“立即”窗口中,使用“Print”或“?”指令,可以當(dāng)場進行各種運算,并返回運算結(jié)果,見圖4.1。圖4.1 使用“立即”窗口 在“立即”窗口

13、中,也可以使用變量,見圖4.2。例如,先把2800賦值給變量x,然后輸出x+200的值。圖4.2 在“立即”窗口中使用變量 需要指出的是,一般總是認(rèn)為參與整數(shù)除法()或求余數(shù)(Mod)運算的對象一定是整數(shù),但是在VB中操作數(shù)卻可以是實數(shù)類型。當(dāng)操作數(shù)帶有小數(shù)部分時,會被四舍五入為整形數(shù)或長整形數(shù),然后進行整除運算。例如,“20.637.48”的運算結(jié)果為3,“26.4 Mod 4.61”的運算結(jié)果為1。 在運算優(yōu)先級方面也有一個特例,就是當(dāng)乘冪()和取負(fù)(-)相鄰時,取負(fù)運算優(yōu)先。例如,“4-2”的結(jié)果是4的負(fù)2次方,即0.0625。 在所有的計算機高級語言中,如何確定兩個浮點數(shù)(即實數(shù)類型的

14、數(shù))是否相等,是一個應(yīng)該引起特別注意的問題。例如,在圖4.3(a)所示的程序代碼中,實數(shù)型的變量s應(yīng)該與實數(shù)型的變量b相等,程序運行結(jié)果似乎應(yīng)該輸出“相等”,然而,程序運行結(jié)果卻如圖4.3(b)所示,輸出的是“不等”。這樣,就會導(dǎo)致程序的運行結(jié)果與編程者原先的設(shè)想完全不一致的情況。 這樣的情況在教學(xué)中經(jīng)常會碰到,尤其會出現(xiàn)在程序設(shè)計初學(xué)者在進行簡單的實數(shù)運算或判斷的時候。當(dāng)出現(xiàn)這種情況時,學(xué)生肯定百思不得其解,只有教師“點”一下,學(xué)生才會理解。由于教材中沒有介紹過數(shù)的浮點表示,所以相關(guān)的內(nèi)容對學(xué)生不作要求,但教師一定要做到心中有數(shù)。 (a) (b)圖4.3 浮點數(shù)的比較 因為,無論是單精度實數(shù)

15、類型還是雙精度實數(shù)類型的變量,都受到精度限制,均采用近似值來表示。所以一定要避免將浮點變量用“=”或“”作比較,應(yīng)該設(shè)法轉(zhuǎn)化成“=”或“=1900 and ( year mod 4 = 0 and year mod 100 0 or year mod 400 = 0 ) (4) This is the correct answer 第三節(jié) (教材4.3) 語句 1. 教學(xué)要求 (1)掌握賦值語句的使用方法。 (2)掌握選擇語句的使用方法。 (3)掌握循環(huán)語句的使用方法。 (4)掌握程序注釋的方法。 (5)會使用VB編寫順序、選擇、循環(huán)三種控制結(jié)構(gòu),實現(xiàn)簡單的算法。 2. 教學(xué)設(shè)計建議 本節(jié)教材

16、包含4.3.1賦值語句、4.3.2選擇語句、4.3.3循環(huán)語句和4.3.4注釋等四小節(jié)。 語句是一種用來描述或規(guī)定計算機應(yīng)該完成的一串操作的命令。VB繼承了BASIC語言的一些基本語句類型,例如,賦值、選擇、循環(huán)等。通過使用這些基本語句,就可以編寫出順序、選擇、循環(huán)等控制結(jié)構(gòu),從而實現(xiàn)算法。 賦值語句的作用是把賦值號右邊的表達式的計算結(jié)果存儲到賦值號左邊指定的變量中,或存放到某個對象的指定屬性中。教師可以選擇一些典型的賦值語句,就像下表所示的那樣,介紹它的形式和含義,讓學(xué)生對這些語句的用法和作用增加感性認(rèn)識。賦值語句示例簡要說明a = 3把常數(shù)3賦值給變量aa = b 2 4 * a * c計

17、算出賦值號右邊表達式的值,再賦值給變量ach = Chr(Asc(ch) - 32)實現(xiàn)把ch中存放的小寫字母轉(zhuǎn)換為對應(yīng)的大寫字母r = Val(Text1.Text)把對象Text1的屬性Text的值賦值給變量rText2.Text = Str(2 * 3.14 * r)計算圓周長,轉(zhuǎn)換為字符串后,作為對象Text2的屬性Text的新值。 選擇控制結(jié)構(gòu)可以用選擇語句來表示。選擇語句能使程序在執(zhí)行過程中,根據(jù)不同的判斷結(jié)果,選擇執(zhí)行不同的處理。常用的選擇語句是If語句,有行和塊兩種形式。 行If語句的格式:(1)If 條件表達式 Then 語句序列1(2)If 條件表達式 Then 語句序列1

18、 Else 語句序列2 一條行If語句必須在一行內(nèi)寫完。語句序列表示在該位置可以有一條或幾條語句。如果語句序列部分有幾條語句的話,要使用冒號(:)來分隔語句,使行If語句在一行內(nèi)寫完,不能換行。 塊If語句的格式:If 條件表達式1 Then 語句塊1ElseIf 條件表達式2 Then 語句塊2 ElseIf 條件表達式n Then 語句塊nElse 語句塊0EndIf 條件表達式可以是邏輯表達式、關(guān)系表達式和數(shù)值表達式等形式。 程序中實現(xiàn)重復(fù)控制的方法之一是循環(huán),用循環(huán)語句來表示。在計算機程序設(shè)計中,循環(huán)語句描述了一種重復(fù)計算的過程。VB提供了多種不同風(fēng)格的循環(huán)結(jié)構(gòu),教材中介紹了兩種常用的

19、循環(huán)語句,F(xiàn)or語句和Do語句。 For語句主要用于循環(huán)次數(shù)已知的情況,因此,也被稱為計數(shù)循環(huán)。其一般格式如下:For 循環(huán)變量 = 初值 To 終值 Step 步長 語句塊Next循環(huán)變量 步長是循環(huán)變量的增量,其值可以是正數(shù)(遞增循環(huán))或負(fù)數(shù)(遞減循環(huán)),但不能是0。如果步長為1,則可以連同保留字Step略去不寫。圖4.4 步長為正數(shù)的邏輯流程 圖4.5 步長為負(fù)數(shù)的邏輯流程 從圖4.4和圖4.5中可以看到,當(dāng)步長為正值時,終止循環(huán)的條件是檢查循環(huán)變量是否大于終值;當(dāng)步長為負(fù)值時,終止循環(huán)的條件是檢查循環(huán)變量是否小于終值。 為了準(zhǔn)確地實現(xiàn)計數(shù)循環(huán)的功能,F(xiàn)or-Next循環(huán)不允許在循環(huán)體內(nèi)

20、改變步長。 在某些情況下,循環(huán)的次數(shù)無法預(yù)先知道,但已知在什么條件下應(yīng)該循環(huán)。這時,使用Do語句來描述這樣的循環(huán)比較合適。Do語句的一般格式如下:Do While 條件表達式 語句塊Loop 教材中針對Do語句沒有安排學(xué)生實踐體驗活動,為了加深學(xué)生對此語句的了解,教師可以考慮增加如下這么一個針對Do語句的習(xí)題。此題循環(huán)的次數(shù)無法預(yù)先知道,但已知在什么條件下應(yīng)該循環(huán),本題實際上求的就是循環(huán)的次數(shù)。教師如果采用此題,可以采用直接講解、學(xué)生上機求解、學(xué)習(xí)任務(wù)單上的程序填空、課后習(xí)題等方案。求正整數(shù)n至少為多少時,下列不等式成立,1 / 1 + 1 / 2 + 1 / 3 + + 1 / n 10。本

21、題答案是12367,參考程序代碼如下:Private Sub Form_Load()Dim i As LongDim s As Double i = 0 s = 0 Do While s 0 Then#08 x1 = (-b + Sqr(d) / (2 * a)#09 x2 = (-b - Sqr(d) / (2 * a)#10 Text4.Text = Str(x1)#11 Text5.Text = Str(x2)#12 Label6.Caption = 有兩個不同的實數(shù)根#13 ElseIf d = 0 Then#14 x1 = (-b) / (2 * a)#15 x2 = x1#16 T

22、ext4.Text = Str(x1)#17 Text5.Text = Str(x2)#18 Label6.Caption = 有兩個相同的實數(shù)根#19 Else#20 Label6.Caption = 沒有實數(shù)根#21 End If#22 End Sub 這里的參考程序使用了塊If語句,用行If語句也同樣可以正確編寫本程序。在活動過程中,對一些能較快完成任務(wù)的學(xué)生,教師應(yīng)該鼓勵他們嘗試不同的解決方案。 活動評價: 學(xué)生使用教材上的學(xué)習(xí)評價表進行自評,然后,教師在參考學(xué)生自評情況的基礎(chǔ)上,根據(jù)學(xué)生活動的完成質(zhì)量和完成效率進行評價。由于本次學(xué)生活動的主要目的,是讓學(xué)生更好地掌握選擇語句,所以,在

23、評價中,著重考察學(xué)生使用If語句編寫程序的能力?;顒又黝}評價指標(biāo)教師評分設(shè)計一個VB應(yīng)用程序,計算一元二次方程的實數(shù)根。程序界面勻稱美觀1分程序代碼設(shè)計合理正確4分按要求正確保存程序1分合計 (2)實踐體驗:使用For語句,計算正數(shù)A的算術(shù)根的近似值。 活動目的: 掌握For語句的作用,并能根據(jù)實際情況正確使用For語句。 活動開展的建議: 計算正數(shù)A的算術(shù)根(近似值)的算法如下: i = 1,2,3, 近似值的初始推測值x0可以是任何正數(shù),例如2。重復(fù)計算n次后的結(jié)果xn是正數(shù)A的算術(shù)根的近似值。 由于本程序有多個輸入和輸出項,為了更方便地對此題進行討論、評判,在本次實踐活動中,應(yīng)該統(tǒng)一程序

24、的界面。按教材的要求,本程序的運行效果見圖4.8。圖4.8 程序運行效果 為了獲得較為一致的運行界面,教師可以提供“界面圖+對象屬性表”給學(xué)生。界面圖上標(biāo)明了控件對象的類型、數(shù)量和位置,見圖4.9。圖4.9 應(yīng)用程序設(shè)計界面圖 下面的“對象屬性表”配合圖4.9所示的界面圖就能完整地表示本程序的界面信息。對象屬性名稱屬性值Form1Caption計算正數(shù)A的算術(shù)根(近似值)Label1Caption輸入(A值)Label2Caption重復(fù)次數(shù)Label3CaptionA的算術(shù)根Text1Text(空白)BackColor&H00C0FFFF&(淺黃色)Text2Text(空白)BackColo

25、r&H00C0FFFF&(淺黃色)Text3Text(空白)BackColor&H00C0FFFF&(淺藍色)Caption計算 參考程序代碼如下:#02 Dim a, x As Double#03 Dim i, n As Long#04 x = 2#05 a = Val(Text1.Text)#06 n = Val(Text2.Text)#07 For i = 1 To n#08 x = (x + a / x) / 2#09 Next i#10 Text3.Text = Str(x)#11 End Sub 活動評價: 學(xué)生使用教材上的學(xué)習(xí)評價表進行自評,然后,教師在參考學(xué)生自評情況的基礎(chǔ)上,

26、根據(jù)學(xué)生活動的完成質(zhì)量和完成效率進行評價。由于本次學(xué)生活動的主要目的,是讓學(xué)生更好地掌握For語句,所以,在評價中,也可以使用以下評價指標(biāo),以著重考察學(xué)生使用For語句編寫程序的能力?;顒又黝}評價指標(biāo)教師評分使用For語句,計算正數(shù)A的算術(shù)根的近似值程序界面勻稱美觀1分程序代碼設(shè)計合理正確4分按要求正確保存程序1分合計3.練習(xí)題解答及補充練習(xí)(1) 前一個是比較運算符,后一個是賦值運算符。 (2) k = d(1) i = 2 Do While i k Then k = d(i) Loop (3)第一個循環(huán)是求公差為1的等比數(shù)列之和,無論n取多少都無法使和等于13,所以退出條件無法滿足。第二個

27、循環(huán)是求一個等差數(shù)列之和,但由于和的極限是6,僅當(dāng)n取無窮大時滿足和為6,所以推出條件無法滿足。(4)Dim n As Interger If n=0(mod 3) Then a=a+1 Else If n=1(mod 3) Then b=b+1 Else If n=2(mod 3) Then c=c+1 End If (5)For i = 1 To 50 b(i) = a(2 * i - 1) + a(2 * i) Next i(6)當(dāng)Y為正數(shù), X等于0時,程序出錯。 第四節(jié) (教材4.4) 過程和函數(shù) 1. 教學(xué)要求 (1)理解模塊化程序設(shè)計的基本思想,初步掌握其基本方法。 (2)了解過

28、程和函數(shù)的定義方法。 2. 教學(xué)設(shè)計建議 本節(jié)教材包含4.4.1事件處理過程和4.4.2函數(shù)。 用VB設(shè)計應(yīng)用程序的代碼時,除了定義常量和變量外,其余的主要工作就是編寫過程。VB中的每一個過程都是程序中的的一個功能模塊。 在前面接觸的VB例子中,每個應(yīng)用程序都使用了事件過程。事件過程是當(dāng)發(fā)生某個事件(例如Click、Load等)時,對該事件作出響應(yīng)的程序段,這種事件過程構(gòu)成了VB應(yīng)用程序的主體。有時候,多個不同的事件過程可能需要使用一段相同的程序代碼,這時,就可以把這一段代碼獨立出來,作為一個過程,這樣的過程叫做“通用過程”(General Procedure),它可以單獨建立,供多個事件過程

29、調(diào)用。 在VB中,通用過程分為子程序過程和函數(shù)過程兩類,前者也可以稱為Sub過程,后者也可以稱為Function過程。 本節(jié)教材把事件過程和函數(shù)過程作為重點,在教材中,函數(shù)過程被稱為函數(shù)。 調(diào)用子程序過程相當(dāng)于執(zhí)行了一條語句,它不返回值。調(diào)用函數(shù)過程時,函數(shù)過程返回一個值,因此可以把函數(shù)過程像內(nèi)部函數(shù)一樣放在表達式中使用。 教材中的例18“求立方體的體積”,與教材前面曾經(jīng)出現(xiàn)過的所有例子一樣,也只包含一個事件過程。本例中的事件是命令按鈕單擊事件,一旦單擊命令按鈕,就執(zhí)行事件過程。由于程序只包含一個事件過程,學(xué)生比較容易理解。教材中的例19“計算一批輸入數(shù)據(jù)(不超過500個)的平均值”,在編程實

30、現(xiàn)時,使用了三個事件過程,程序代碼近30行,顯得略微長了些。因為學(xué)生閱讀和理解這些代碼需要一定的時間,為了提高教學(xué)效率,教師應(yīng)該根據(jù)各校具體情況,簡化此例,或者換掉此例。簡化或者替換后的例子,包含兩個事件過程比較合適。兩個事件過程之間的關(guān)系要比三個事件過程之間的關(guān)系簡單得多,同時也能很好地服務(wù)于掌握“過程的定義方法”這個主要教學(xué)目的。 教材中的例20“設(shè)計一個函數(shù)Leap,判斷y年是否是閏年,若是,就返回1,否則,就返回0”,是一個學(xué)習(xí)函數(shù)定義的比較有效的例子。教材主要從代碼編寫的角度,來介紹這個例子。這里從另外兩個方面補充一下,一是代碼如何輸入、輸入在什么地方,二是如何調(diào)用這個函數(shù)過程Lea

31、p。由于教材已經(jīng)提供了函數(shù)過程Leap的代碼,所以建議教師安排學(xué)生通過一個完整的程序“閏年判斷”來調(diào)用一下函數(shù)過程Leap。 程序“閏年判斷”的運行效果見圖4.10。 圖4.10 “閏年判斷”運行效果 圖4.11 界面圖 圖4.11是程序的界面圖,包括各個控件對象的類型和位置。下面的“對象屬性表”配合圖4.11所示的界面圖就能完整地表示本程序的界面信息。對象屬性名稱屬性值Form1Caption閏年判斷Label1Caption輸入年份Label2Caption(空白)Text1Text(空白)BackColor&H00C0FFFF&(淺黃色)Caption判斷 為了輸入函數(shù)過程Leap的代碼

32、,應(yīng)該打開代碼窗口。在代碼窗口中,左上方的對象下拉列表中選取“通用”,在右上方的過程下拉列表中選取“聲明”,見圖4.12,然后在下方的代碼輸入?yún)^(qū)域輸入函數(shù)過程Leap的代碼。圖4.12 選取“通用”和“聲明” 另外,也可以直接在其他事件過程或通用過程的前面或后面輸入新的子程序過程或函數(shù)過程的代碼,各個過程代碼之間,VB會自動加上分割線,見圖4.13。在這個例子中,函數(shù)過程Leap,可以放在調(diào)用Leap的事件過程的前面或后面。在VB中,事件過程、通用過程的代碼位置,可以前后隨意安排,不像有些計算機高級語言中有嚴(yán)格規(guī)定的前后次序。圖4.13 程序代碼通過以上這個例子,能加深學(xué)生對函數(shù)過程定義方法和

33、使用方法的感性認(rèn)識,在一定程度上提升教學(xué)效果。3.練習(xí)題解答及補充練習(xí) (1) Dim n As Integer Dim t As Integer n = Val(Text1.Text) Text2.Text = Str(n) t = Sqr(n) If (t * t = n) Then Text2.BackColor = vbRed Else Text2.BackColor = vbYellow End Sub (2) Function f(r As Double, h As Double) As Double f = 2 * 3.14 * r * h End Function本章練習(xí)參考答

34、案 1. (1)-13, (2)0.7962, (3)8, (4)28, (5)-5,(6) -27 2. (1)n Mod 3 =0, (2)a b And a c, (3)a 0 And b 0, (4)a * b 0 Then c1 = c1 + 1 If d(i) 100 Then y = (2 * x * x + 1) / (3 * x - 2) ElseIf x 10 Then y = Abs(x) Else y = Sqr(3 * x * x - 2 * x + 1) End If 4.(1) Dim i As Integer Dim s As String Dim ch As

35、String Dim c1 As Integer Dim c2 As Integer Dim c3 As Integer s = Text1.Text c1 = 0 c2 = 0 c3 = 0 For i = 1 To Len(s) ch = Mid(s, i, 1) If Asc(ch) = Asc(0) Then c2 = c2 + 1ElseIf Asc(ch) = Asc(a) Or Asc(ch) = Asc(A) Then c1 = c1 + 1 Else c3 = c3 + 1 End If Next i Text2.Text = Str(c1) Text3.Text = Str(c2) Text4.Text = Str(c3) End Sub (2) Dim i As Integer Dim s As String Dim ch As String Dim ch1 As String s = Text1.Text For i = 1 To Len(s) ch = Mid(s, i, 1) ch1 = Chr(Asc(ch) - Asc( ) + i) Mod 95 + Asc( ) Mid(s, i, 1) = ch1 Next i Text2.Text = s End Sub (2) Dim i As Integer

溫馨提示

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

評論

0/150

提交評論