




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、常見錯(cuò)誤和難點(diǎn)分析1 .在選擇結(jié)構(gòu)中缺少配對(duì)的結(jié)束語句對(duì)多行式的If塊語句中,應(yīng)有配對(duì)的End If語句結(jié)束.否那么,在運(yùn)行時(shí)系統(tǒng)會(huì) 顯示塊If沒有End If的編譯錯(cuò)誤.同樣對(duì) Select Case語句也應(yīng)有與其相對(duì) 應(yīng)的End Select語句.2 .多邊選擇日seIf關(guān)鍵字的書寫和條件表達(dá)式的表示多邊選擇ElseIf子句的關(guān)鍵字ElseIf之間不能寫有空格,即不能寫成Else If在多個(gè)條件表達(dá)式的表示時(shí),應(yīng)從最小或最大的條件依次表示,以防止條件的過 濾.例如,輸入某課程的百分制成績mark,要求顯示對(duì)應(yīng)五級(jí)制的訐定,評(píng)定條件如下:有以下幾種表示方式,語法上都沒有錯(cuò),但執(zhí)行后結(jié)果有所不
2、同,請(qǐng)分析哪些 正確哪些錯(cuò)誤 卜面給出的答案中,方法一、二、五正確,其余錯(cuò)誤,請(qǐng)分析各自的原因方法一:方法二:方法三:方法四:方五:f mark=90Thenf mark=60ThenIf mark=90ThenIf mark=90ThenPrintPrint不及格PrintPrintPr優(yōu)ElseIf mark=80ThenElseIf mark=70ThenElseIf 80=mark90ElseIf 80=mark AndPrintThenmark90 ThenPrint及格Print良中PrintPrElseIf mark=70ThenPrintElselfmark=80ThenEls
3、eIf 70=mark80ElseIf 70=mark AndPrint中PrintThenmark80Then中ElseIf mark-60ThenPrintElselfmark=90Then中中良PrintPrintElseIf 60=mark70ElseIf 60=mark And及格Else優(yōu)Thenmark=90Print 優(yōu)Case mark=80Print 良Casemark=70Print 中Select Case markCase Is=90Print優(yōu)Casels=80Print良 Case Is=70PrinSelect Case markCase Is=90Print優(yōu)
4、Case 80 To 89Print良Case 70 To 79Print中Case 60 TO 69PrinCase mark=60t中t及格PrintCase Is=60Case Else及格PrimPrinCase Else及格t不及格PrintCase ElseEnd Select小及格PrinEnd Selectt不及格End Select(2)在“變量或表達(dá)式中不能出現(xiàn)多個(gè)變量.實(shí)驗(yàn)三第5題對(duì)三門課程獎(jiǎng)學(xué)金的判斷,只能用If語句的多邊選擇,而不能用SelectCase語句實(shí)現(xiàn).例如,有人用如下語句表示:Select Case markl , mark2, mark3Case (ma
5、rkl+mark2+mark3)/3=95Print 一等獎(jiǎng)End Select這樣就會(huì)在Select Case markl,mark2,mark3語句行出現(xiàn)編輯錯(cuò)誤,同時(shí)Case (markl+mark2 +mark3)/3=95 書寫也錯(cuò)誤.第四章常見錯(cuò)誤和難點(diǎn)分析1 .不循環(huán)或死循環(huán)的問題主要是循環(huán)條件、循環(huán)初值、循環(huán)終值、循環(huán)步長的 設(shè)置有問題.例如,以下循環(huán)語句不執(zhí)行循環(huán)體:For i=10 To 20 Step-1 步長為負(fù),初值必須大于等于終值,才能循環(huán)For i=20 To10 步長為正,初值必須小于等于終值,才能循環(huán)Do While False 循環(huán)條件永遠(yuǎn)不滿足,不循環(huán)例如
6、,以下循環(huán)語句死循環(huán):For i=10 To 20 Step 0步長為零,死循環(huán)Do While 1循環(huán)條件永遠(yuǎn)滿足,死循環(huán)2 .循環(huán)結(jié)構(gòu)中缺少配對(duì)的結(jié)束語句For Next語句沒有配對(duì)的Next語句;Do語句沒有一個(gè)終結(jié)的Loop語句等.3 .循環(huán)嵌套時(shí),外循環(huán)交叉For I=1 to 4For j=1 to 5Next iNext j上述循環(huán)的交叉運(yùn)行時(shí)顯示無效的Next限制變量引用.4 .累加、連乘時(shí),存放累加、連乘結(jié)果的變量賦初值問題(1) 一重循環(huán)在一重循環(huán)中,存放累加、連乘結(jié)果的變量初值設(shè)置應(yīng) 在循環(huán)語句前.例如,求1100的3的倍數(shù)和,結(jié)果放入Sum變量中,如下程序段,輸出結(jié)果
7、如何應(yīng)作如何改良Private SubForm_Click()For i=3 To 100 Step 3Sum=0Sum=Sum+iNext iPrint SumEnd Sub(2)多重循環(huán)在多重循環(huán)中,存放累加、連乘結(jié)果的變量初值設(shè)置放在外循環(huán)語句前, 還是循 環(huán)語句前,這要視具體問題分別對(duì)待.例如,期末30位學(xué)生參加三門課程的測試,求每個(gè)學(xué)生的三門課程的平均成績 如下程序能否實(shí)現(xiàn)aver=0For i=1 To 30For j=1 To 3m=InputBox(輸入第&j&門課的成績)aver=aver+mNext j aver=aver/3Print averNext I第五章常見錯(cuò)誤和
8、難點(diǎn)分析1 . Dim數(shù)組聲明有時(shí)用戶為了程序的通用性,聲明數(shù)組的上界用變量來表示,如下程序段:n=InputBox(輸入數(shù)組的上界)程序運(yùn)行時(shí)將在Dim語何處顯示要求常數(shù)表達(dá)式的出錯(cuò)信息.即Dim語句中聲 明的數(shù)組上,下界必須是常數(shù),不能是變量.解決程序通用的問題,一是將數(shù)組聲明的很大,這樣浪費(fèi)一些存儲(chǔ)空間;二是利 用動(dòng)態(tài)數(shù)組,將上例改變?nèi)缦拢篋im a() As Integern=InputBox ( 輸入數(shù)組的上界)ReDim a(1 To n)As Integer2 .數(shù)組下標(biāo)越界引用了不存在的數(shù)組元素,即下標(biāo)比數(shù)組聲明時(shí)的下標(biāo)圍大或小即為越界.例如,要形成有如下30項(xiàng)的斐波那契數(shù)列:
9、1,1,2,3,5,8,13,21,34,317811, 514229, 832040正確的程序段如下:Dim a(1 To 30) As Long, i%假設(shè)將For i=3 To 30 改為For i=1 To 30 ,程序運(yùn)行時(shí)會(huì)顯示下標(biāo)越界的出錯(cuò)信息,由于開始循環(huán)時(shí)i=l ,執(zhí)行到循環(huán)體語句a(i)=a(i-2)+a(i-1),數(shù)組下標(biāo)i-2、i-1均小于下界1.同樣假設(shè)將上例:a(i)+a(i-2)+a(i-1) 語句改為:a(i+2)=a(i)+a(i+1)程序運(yùn)行時(shí)也會(huì)顯示下標(biāo)越界的出錯(cuò)信息,這時(shí)是數(shù)組下標(biāo)大于上界30.3 .數(shù)組維數(shù)錯(cuò)數(shù)組聲明時(shí)的維數(shù)與引用數(shù)組元素時(shí)的維數(shù)不一致
10、.例如,下程序段為形成和顯示3X5的矩陣:Dim a(3,5) As LongFor i=1 To 3For j=1 To 5a(i)=i*jPrint a(i);Next jPrintNext i程序運(yùn)行到a(i)=i*j語句時(shí)出現(xiàn)維數(shù)錯(cuò)誤的信息,由于在Dim聲明時(shí)是二維數(shù)組,引用時(shí)的一個(gè)下標(biāo).4 . Aarry函數(shù)使用問題Aarry函數(shù)可方便地對(duì)數(shù)組整體賦值,但此時(shí)只能聲明Variant的變量或僅由括號(hào)括起的動(dòng)態(tài)數(shù)組.賦值后的數(shù)組大小由賦值的個(gè)數(shù)決定.例如,要將1, 2, 3, 4, 5, 6, 7這些值賦值給數(shù)組a,下表列出了三種錯(cuò)誤及 相應(yīng)正確的賦值方法.Aarry函數(shù)表示方法錯(cuò)誤的A
11、arry函數(shù)賦值,改正的Aarry函數(shù)賦值Dim a(1 To8)a=Array(1,2,3,4,5,6,7,8)Dim a( ) a=Array(1,2,3,4,5,6,7)Dim a Asnteger a=Array(1,2,3,4,5,6,7)Dim aa=Array(1,2,3,4,5,6,7)Dimaa()=Array(1,2,3,4,5,6,7)Dim aa=Array(1,2,3,4,5,6,7)5 .如何獲得數(shù)組的上界、下界Aarry函數(shù)可方便地對(duì)數(shù)組整體賦值,但在程序中如何獲得數(shù)組的 -上界、下 界,以保證訪問的數(shù)組元素在合法的圍, 可使用UBoundffi LBound函數(shù)
12、來決定數(shù) 組訪問.在上例中,假設(shè)要打印a數(shù)組的各個(gè)值,可通過下面程序段實(shí)現(xiàn):For i=Lbound(A) To Ubound(A)Print a(i)Next l6 .給數(shù)組賦值VB6.0提供了可對(duì)數(shù)組整體賦值的新功能,方便了數(shù)組對(duì)數(shù)組的賦值操作.但真 正使用不那么方便,有不少限制.數(shù)組賦值形式如下:數(shù)組名2=數(shù)組名1這里的數(shù)組名2,實(shí)際上在前面的數(shù)組聲明時(shí),只能聲明為 Varian的變量,賦 值后的數(shù)組2的大小、維數(shù)、類型同數(shù)組名1;否那么,假設(shè)聲明成動(dòng)態(tài)或靜態(tài)的數(shù) 組,例如:Dim數(shù)組名2()或Dim數(shù)組名2 (下標(biāo))程序在運(yùn)行到上述賦值語句時(shí)顯示不能給數(shù)組賦值的出錯(cuò)信息.第五章 數(shù)5.
13、1知識(shí)要點(diǎn)1 .數(shù)組的概念數(shù)組:存放具有相同性質(zhì)的一組數(shù)據(jù),也就是數(shù)組中的數(shù)據(jù)必須是同一個(gè)類型和 性質(zhì).數(shù)組元素:數(shù)組中的某一個(gè)數(shù)據(jù)項(xiàng).數(shù)組元素的使用同簡單變量的使用.2 .靜態(tài)數(shù)組的聲明靜態(tài)數(shù)組:在聲明時(shí)已確定了數(shù)組元素個(gè)數(shù).聲明形式:Dim數(shù)組名下界To上界,下界To上界,As類型此語句聲明了數(shù)組名、數(shù)組維數(shù)、數(shù)組大小、數(shù)組類型.注意下界、上界必須為常數(shù),不能為表達(dá)式或變量:省略下界,默認(rèn)為 0, 也可用Option Base語句重新設(shè)置下界的值.3 .動(dòng)態(tài)數(shù)組的聲明聲明形式:Dim數(shù)組名ReDim Preserve 數(shù)組名下界To上界,下界To上界,注意此時(shí)的上界、下界可以是賦了值的變量
14、或表達(dá)式.假設(shè)有 Preserve關(guān)鍵字,表示 當(dāng)改變原有數(shù)組最末尾的大小時(shí),使用此關(guān)鍵字可以保持?jǐn)?shù)組中原來的數(shù)據(jù).4 .控件數(shù)組即相同類型的控件組成的數(shù)組控件數(shù)組的建立:在設(shè)計(jì)時(shí)的窗體上,通過對(duì)某控件的復(fù)制和粘貼操作:在程序運(yùn)行時(shí)通過Load方法實(shí)現(xiàn).控件數(shù)組元素:由控件的Index屬性值表示數(shù)組的F標(biāo).5 .數(shù)組的操作應(yīng)掌握的根本操作有:數(shù)組初始化、數(shù)組輸入、數(shù)組輸出、求數(shù)組中的最大(最小)元素及下標(biāo)、求和、平均值、排序和查找等.5.2常見錯(cuò)誤和難點(diǎn)分析1 . Dim數(shù)組聲明有時(shí)用戶為了程序的通用性,聲明數(shù)組的上界用變量來表示,如下程序段:n=InputBox(輸入數(shù)組的上界)Dim a(
15、1 To n) As Integer程序運(yùn)行時(shí)將在Dim語何處顯示要求常數(shù)表達(dá)式的出錯(cuò)信息.即Dim語句中聲 明的數(shù)組上,下界必須是常數(shù),不能是變量.解決程序通用的問題,一是將數(shù)組聲明的很大,這樣浪費(fèi)一些存儲(chǔ)空間;二是利用動(dòng)態(tài)數(shù)組,將上例改變?nèi)缦拢篋im a() As Integern=InputBox ( 輸入數(shù)組的上界)ReDim a(1 To n)As Integer2 .數(shù)組下標(biāo)越界引用了不存在的數(shù)組元素,即下標(biāo)比數(shù)組聲明時(shí)的下標(biāo)圍大或小即為越界.例如,要形成有如下30項(xiàng)的斐波那契數(shù)列:1,1,2,3,5,8,13,21,34,317811, 514229, 832040正確的程序段如
16、下:Dim a(1 To 30) As Long, i%假設(shè)將For i=3 To 30 改為For i=1 To 30 ,程序運(yùn)行時(shí)會(huì)顯示下標(biāo)越界的出錯(cuò) 信息,由于開始循環(huán)時(shí)i=l ,執(zhí)行到循環(huán)體語句a(i)=a(i-2)+a(i-1),數(shù)組下標(biāo)i-2、i-1均小于下界1.同樣假設(shè)將上例:a(i)+a(i-2)+a(i-1) 語句改為:a(i+2)=a(i)+a(i+1)程序運(yùn)行時(shí)也會(huì)顯示下標(biāo)越界的出錯(cuò)信息,這時(shí)是數(shù)組下標(biāo)大于上界30.3 .數(shù)組維數(shù)錯(cuò)數(shù)組聲明時(shí)的維數(shù)與引用數(shù)組元素時(shí)的維數(shù)不一致.例如,下程序段為形成和顯示3X5的矩陣:Dim a(3,5) As LongFor i=1 To
17、 3For j=1 To 5a(i)=i*jPrint a(i);Next jPrintNext i程序運(yùn)行到a(i)=i*j語句時(shí)出現(xiàn)維數(shù)錯(cuò)誤的信息,由于在Dim聲明時(shí)是二維數(shù)組,引用時(shí)的一個(gè)下標(biāo).4 . Aarry函數(shù)使用問題Aarry函數(shù)可方便地對(duì)數(shù)組整體賦值,但此時(shí)只能聲明Variant的變量或僅由括號(hào)括起的動(dòng)態(tài)數(shù)組.賦值后的數(shù)組大小由賦值的個(gè)數(shù)決定.例如,要將1, 2, 3, 4, 5, 6, 7這些值賦值給數(shù)組a,下表列出了三種錯(cuò)誤及 相應(yīng)正確的賦值方法.Aarry函數(shù)表示方法錯(cuò)誤的Aarry函數(shù)賦值,改正的Aarry函數(shù)賦值Dim a(1 To8)a=Array(1,2,3,4,5,6,7,8)Dim a( ) a=Array(1,2,3,4,5,6,7)Dim a Asnteger a=Array(1,2,3,4,5,6,7)Dim aa=Array(1,2,3,4,5,6,7)Dimaa()=Array(1,2,3,4,5,6,7)Dim aa=Array(1,2,3,4,5,6,7)5 .如何獲得數(shù)組的上界、下界Aarry函數(shù)可方便地對(duì)數(shù)組整體賦值,但在程序中如何獲得數(shù)組的 -上界、下 界,以保證訪問的數(shù)組元素在合法的圍, 可使用UBoundffi LBound函數(shù)來決定數(shù) 組訪問.在上
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年生化免疫制品項(xiàng)目建議書
- 獲取知識(shí)的能力培訓(xùn)課件
- 課題開題報(bào)告:國家教育管理信息系統(tǒng)建設(shè)研究
- 霧化玻璃更換施工方案
- 廣東方樁施工方案
- 2025年機(jī)車車輛檢修設(shè)備項(xiàng)目合作計(jì)劃書
- 工傷事故安全教育
- 防雷接地工程施工方案
- 證券發(fā)放服務(wù)企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 農(nóng)村長途客運(yùn)企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略研究報(bào)告
- 人美版(2024)七年級(jí)上冊美術(shù)第二單元 色彩魅力第1課《自然的色彩》教學(xué)設(shè)計(jì)
- 2024年水利安全員(B證)考試題庫-下(多選、判斷題)
- 酒店室內(nèi)裝修工程施工組織設(shè)計(jì)
- 神經(jīng)病學(xué)專業(yè)英語詞匯
- 2024年高級(jí)纖維檢驗(yàn)員職業(yè)鑒定理論考試題庫(含答案)
- 心肺復(fù)蘇科普課件
- 員工食堂就餐統(tǒng)計(jì)表
- 2024至2030年中國醫(yī)療保險(xiǎn)行業(yè)市場深度分析及投資戰(zhàn)略規(guī)劃報(bào)告
- 小數(shù)除法100道豎式計(jì)算題及答案
- 《婦幼保健學(xué)》課件-第三章 兒童期保健
- 2025數(shù)學(xué)步步高大一輪復(fù)習(xí)講義人教A版復(fù)習(xí)講義含答案
評(píng)論
0/150
提交評(píng)論