【正文】
amp。 i * j。 循環(huán)嵌套 例 三百元買(mǎi)百雞的問(wèn)題 。 Private Sub Form_Click() Dim i%, j%, k% Print Tab(10)。 公雞 。 Tab(20)。 母雞 。 Tab(30)。 小雞 For i = 0 To 100 For j = 0 To 100 For k = 0 To 100 If (i + j + k = 100) And (15 * i + 9 * j + k = 300) Then Print Tab(10)。 i。 Tab(20)。 j。 Tab(30)。 k End If Next k Next j Next i End Sub 循環(huán)嵌套 例 三百元買(mǎi)百雞的問(wèn)題 。 Private Sub Form_Click() Dim i%, j%, k% Print Tab(10)。 公雞 。 Tab(20)。 母雞 。 Tab(30)。 小雞 For i = 0 To 20 For j = 0 To (100 5 * i) \ 3 k = 100 i j If 15 * i + 9 * j + k = 300 Then Print Tab(10)。 i。 Tab(20)。 j。 Tab(30)。 k End If Next j Next i End Sub 循環(huán)嵌套 例 500以內(nèi)的所有素?cái)?shù) 。 Private Sub Form_Click() Dim i%, k%, f% ,n% For i = 2 To 500 f = 1 For k = 2 To Sqr(i) ‘內(nèi)循環(huán)判定 i能否被某數(shù)除盡 If i Mod k = 0 Then f = 0 Exit For End If Next k If f Then ‘如果 i是素?cái)?shù) Print Tab(n * 10)。 i。 n = n + 1 If n = 8 Then n = 0 : Print ‘每輸出 8個(gè)素?cái)?shù)換行 End If Next i End Sub 循環(huán)嵌套 – 循環(huán)體中不僅可以內(nèi)嵌循環(huán)結(jié)構(gòu),也可以內(nèi)嵌選擇結(jié)構(gòu)。 – 同樣選擇結(jié)構(gòu)不僅可以內(nèi)嵌選擇結(jié)構(gòu),也可以內(nèi)嵌循環(huán)結(jié)構(gòu)。 – 所謂內(nèi)嵌是一個(gè)控制結(jié)構(gòu)完全被另一個(gè)控制結(jié)構(gòu)包含在其中。 – VB語(yǔ)言規(guī)定,控制結(jié)構(gòu)可以相互包含, 但不能相交 。例如下面程序段是錯(cuò)誤的(語(yǔ)法錯(cuò)誤): 程序段 1(內(nèi)外循環(huán)交叉): For i = 1 To 9 For j = 1 To 9 Print Tab(j * 12 10)。 i。 *。 j。 =。 i * j。 Next i Next j 其他輔助控制語(yǔ)句 程序段 2(循環(huán)結(jié)構(gòu)和選擇結(jié)構(gòu)交叉): For i = 1 To 9 If i Mod 2 = 0 Then Print i, Next i End If 其他輔助控制語(yǔ)句 Dim I As Integer If I mod 17 =0 then print I end If For I=100 to 200 Next I Exit for 分析: ? 重復(fù)工作:判斷每個(gè)數(shù)除 17的余數(shù)是否為 0 ? 初值、終值和增量: 求出 100~ 200之間的 第一個(gè) 能被 17整除的整數(shù)。 循環(huán)與分支的嵌套 – 通過(guò)測(cè)試,檢驗(yàn)程序的功能; – 通過(guò)調(diào)試發(fā)現(xiàn)和改正程序中的錯(cuò)誤。 – 錯(cuò)誤類(lèi)型 1.編輯時(shí)錯(cuò)誤:用戶在代碼窗口編輯代碼時(shí),每按回車(chē)鍵, VB自動(dòng)進(jìn)行語(yǔ)法檢查。當(dāng)發(fā)現(xiàn)語(yǔ)法錯(cuò)誤時(shí),會(huì)彈出錯(cuò)誤提示對(duì)話框。如果你輸入了一個(gè)明顯的錯(cuò)誤語(yǔ)句,系統(tǒng)沒(méi)有彈出出錯(cuò)提示框,說(shuō)明“自動(dòng)語(yǔ)法檢查”功能沒(méi)有啟用。可執(zhí)行“工具”菜單的“選項(xiàng)”命令,在“編輯器”選項(xiàng)卡中選定相應(yīng)的選項(xiàng)。 2.編譯時(shí)錯(cuò)誤:執(zhí)行“啟動(dòng)”命令后, VB繼續(xù)對(duì)程序進(jìn)行語(yǔ)法檢查,如果發(fā)現(xiàn)語(yǔ)法錯(cuò)誤,則中斷編譯并彈出錯(cuò)誤信息提示框。用戶修改程序中的錯(cuò)誤之后,可以執(zhí)行“繼續(xù)”命令或執(zhí)行“結(jié)束程序”命令。在編譯時(shí)發(fā)現(xiàn)的錯(cuò)誤一般包括結(jié)構(gòu)性錯(cuò)誤 ,如 For和 next 不配對(duì)等。 3.運(yùn)行時(shí)錯(cuò)誤:運(yùn)行時(shí)發(fā)現(xiàn)的錯(cuò)誤不是語(yǔ)法錯(cuò)誤,一般是執(zhí)行了非法 操作引起的錯(cuò)誤,如數(shù)據(jù)類(lèi)型不匹配,試圖打開(kāi)一個(gè)不存在的文件等。 4.邏輯錯(cuò)誤:程序運(yùn)行后得不到預(yù)想的結(jié)果,程序可能存在邏輯錯(cuò)誤。 邏輯錯(cuò)誤不會(huì)產(chǎn)生錯(cuò)誤提示信息,需要程序員自己分析判斷。 程序調(diào)試 – 對(duì)語(yǔ)法錯(cuò)誤,可根據(jù)系統(tǒng)提示信息修改。 – 對(duì)邏輯錯(cuò)誤,以借助于 VB環(huán)境提供的各種調(diào)試手段查找和改正。 – 調(diào)試方法 1. 設(shè)置斷點(diǎn) 2. 逐語(yǔ)句執(zhí)行 3. 立即窗口 程序調(diào)試 – 通過(guò)測(cè)試,檢驗(yàn)程序的功能; – 通過(guò)調(diào)試發(fā)現(xiàn)和改正程序中的錯(cuò)誤。 – 錯(cuò)誤類(lèi)型 1.編輯時(shí)錯(cuò)誤:用戶在代碼窗口編輯代碼時(shí),每按回車(chē)鍵, VB自動(dòng)進(jìn)行語(yǔ)法檢查。當(dāng)發(fā)現(xiàn)語(yǔ)法錯(cuò)誤時(shí),會(huì)彈出錯(cuò)誤提示對(duì)話框。如果你輸入了一個(gè)明顯的錯(cuò)誤語(yǔ)句,系統(tǒng)沒(méi)有彈出出錯(cuò)提示框,說(shuō)明“自動(dòng)語(yǔ)法檢查”功能沒(méi)有啟用。可執(zhí)行“工具”菜單的“選項(xiàng)”命令,在“編輯器”選項(xiàng)卡中選定相應(yīng)的選項(xiàng)。 2.編譯時(shí)錯(cuò)誤:執(zhí)行“啟動(dòng)”命令后, VB繼續(xù)對(duì)程序進(jìn)行語(yǔ)法檢查,如果發(fā)現(xiàn)語(yǔ)法錯(cuò)誤,則中斷編譯并彈出錯(cuò)誤信息提示框。用戶修改程序中的錯(cuò)誤之后,可以執(zhí)行“繼續(xù)”命令或執(zhí)行“結(jié)束程序”命令。在編譯時(shí)發(fā)現(xiàn)的錯(cuò)誤一般包括結(jié)構(gòu)性錯(cuò)誤 ,如 For和 next 不配對(duì)等。 3.運(yùn)行時(shí)錯(cuò)誤:運(yùn)行時(shí)發(fā)現(xiàn)的錯(cuò)誤不是語(yǔ)法錯(cuò)誤,一般是執(zhí)行了非法 操作引起的錯(cuò)誤,如數(shù)據(jù)類(lèi)型不匹配,試圖打開(kāi)一個(gè)不存在的文件等。 4.邏輯錯(cuò)誤:程序運(yùn)行后得不到預(yù)想的結(jié)果,程序可能存在邏輯錯(cuò)誤。 邏輯錯(cuò)誤不會(huì)產(chǎn)生錯(cuò)誤提示信息,需要程序員自己分析判斷。 程序調(diào)試 – 對(duì)語(yǔ)法錯(cuò)誤,可根據(jù)系統(tǒng)提示信息修改。 – 對(duì)邏輯錯(cuò)誤,以借助于 VB環(huán)境提供的各種調(diào)試手段查找和改正。 – 調(diào)試方法 1. 設(shè)置斷點(diǎn) 2. 逐語(yǔ)句執(zhí)行 3. 立即窗口 程序調(diào)試