![第四部分算法基礎(chǔ)及VB的基本語句教學(xué)ppt課件_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/917bbabf-463b-4a04-817f-85260b19f83e/917bbabf-463b-4a04-817f-85260b19f83e1.gif)
![第四部分算法基礎(chǔ)及VB的基本語句教學(xué)ppt課件_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/917bbabf-463b-4a04-817f-85260b19f83e/917bbabf-463b-4a04-817f-85260b19f83e2.gif)
![第四部分算法基礎(chǔ)及VB的基本語句教學(xué)ppt課件_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/917bbabf-463b-4a04-817f-85260b19f83e/917bbabf-463b-4a04-817f-85260b19f83e3.gif)
![第四部分算法基礎(chǔ)及VB的基本語句教學(xué)ppt課件_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/917bbabf-463b-4a04-817f-85260b19f83e/917bbabf-463b-4a04-817f-85260b19f83e4.gif)
![第四部分算法基礎(chǔ)及VB的基本語句教學(xué)ppt課件_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/917bbabf-463b-4a04-817f-85260b19f83e/917bbabf-463b-4a04-817f-85260b19f83e5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、江蘇省計(jì)算機(jī)等級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)第四章第四章 算法根底及算法根底及VBVB的根本語句的根本語句江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)1 1、了解構(gòu)造化程序設(shè)計(jì)的根本概念、了解構(gòu)造化程序設(shè)計(jì)的根本概念2 2、掌握、掌握VB VB 程序設(shè)計(jì)中的常用語句程序設(shè)計(jì)中的常用語句3 3、掌握順序、選擇、和循環(huán)構(gòu)造及相應(yīng)的語句、掌握順序、選擇、和循環(huán)構(gòu)造及相應(yīng)的語句教學(xué)要求教學(xué)要求江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)教學(xué)內(nèi)容教學(xué)內(nèi)容4.1 4.1 算法及程序設(shè)計(jì)根底算法及程序設(shè)計(jì)根底4.2
2、4.2 賦值語句及賦值語句及InputBoxInputBox、MsgBoxMsgBox函數(shù)函數(shù)4.3 4.3 分支構(gòu)造與分支構(gòu)造語句分支構(gòu)造與分支構(gòu)造語句4.4 4.4 循環(huán)構(gòu)造與循環(huán)構(gòu)造語句循環(huán)構(gòu)造與循環(huán)構(gòu)造語句4.5 4.5 程序例如程序例如江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)4.1 4.1 算法及程序設(shè)計(jì)根底算法及程序設(shè)計(jì)根底 對(duì)數(shù)據(jù)的描畫:指定所用數(shù)據(jù)的類型,作用域和數(shù)據(jù)的對(duì)數(shù)據(jù)的描畫:指定所用數(shù)據(jù)的類型,作用域和數(shù)據(jù)的 組織方式,即數(shù)據(jù)構(gòu)造組織方式,即數(shù)據(jù)構(gòu)造data structure。 對(duì)操作的描畫:即操作步驟,也就是算法對(duì)操作的描畫:
3、即操作步驟,也就是算法algorithm。數(shù)據(jù)構(gòu)造數(shù)據(jù)構(gòu)造+算法算法=程序程序程序程序=算法算法+數(shù)據(jù)構(gòu)造數(shù)據(jù)構(gòu)造+程序設(shè)計(jì)方法程序設(shè)計(jì)方法+言語工具和環(huán)境言語工具和環(huán)境江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)1 1、算法的概念、算法的概念l算法算法l即處理某個(gè)問題或處置某件事的方法和步驟;即處理某個(gè)問題或處置某件事的方法和步驟;“采用什么構(gòu)造,采用什么構(gòu)造,運(yùn)用什么語句以及如何安排這些語句。運(yùn)用什么語句以及如何安排這些語句。l算法分類:算法分類:l數(shù)值計(jì)算算法數(shù)值計(jì)算算法l非數(shù)值計(jì)算算法非數(shù)值計(jì)算算法l算法優(yōu)劣:算法優(yōu)劣: l正確性,效率,占用系統(tǒng)資源
4、,便于了解,易于調(diào)試等。正確性,效率,占用系統(tǒng)資源,便于了解,易于調(diào)試等。江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)1810M N R8108 2 8 2 0 2 0R=8R=2R=0M=2即最大公約數(shù)即最大公約數(shù)求最大公約數(shù)求最大公約數(shù) 標(biāo)題標(biāo)題 :求兩個(gè)自然數(shù)的最大公約數(shù):求兩個(gè)自然數(shù)的最大公約數(shù) 分析分析 :求最大公約數(shù)的常用方法是輾轉(zhuǎn)相除法:求最大公約數(shù)的常用方法是輾轉(zhuǎn)相除法( (歐幾里德算法歐幾里德算法) )。2 2、算法例如、算法例如江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì) 算法描畫算法描畫 :S1 S1
5、 輸入兩個(gè)自然數(shù):輸入兩個(gè)自然數(shù):M M,N N;S2 S2 求求M M除以除以N N的余數(shù)的余數(shù)R R;S3 S3 使使M=NM=N,即用,即用N N代換代換M M;S4 S4 使使N=RN=R,即用,即用R R代換代換N N;S5 S5 假設(shè)假設(shè)R0R0,那么反復(fù)執(zhí)行,那么反復(fù)執(zhí)行S2,S3,S4,S2,S3,S4,否那么轉(zhuǎn)至否那么轉(zhuǎn)至S6S6S6 S6 輸出輸出M M,M M即為即為M M,N N的最大公約數(shù)。的最大公約數(shù)。江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)3 3、算法的特征、算法的特征2 確定性確定性2 可行性可行性2 有窮性有窮性2 輸入
6、性輸入性2 輸出性輸出性江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)4 4、算法的描畫、算法的描畫 l程序流程圖程序流程圖求最大公約數(shù)求最大公約數(shù)江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)程序編碼程序編碼實(shí)現(xiàn)算法實(shí)現(xiàn)算法l算法僅提供解題思緒,計(jì)算機(jī)不可直接執(zhí)行。算法僅提供解題思緒,計(jì)算機(jī)不可直接執(zhí)行。l用某一程序設(shè)計(jì)言語所提供的言語成分,根據(jù)該言語的特用某一程序設(shè)計(jì)言語所提供的言語成分,根據(jù)該言語的特點(diǎn),并利用該言語的各種工具和手段,遵照規(guī)定的語法規(guī)點(diǎn),并利用該言語的各種工具和手段,遵照規(guī)定的語法規(guī)那么去實(shí)現(xiàn)算法,得到原
7、程序代碼,計(jì)算機(jī)可識(shí)別并執(zhí)行。那么去實(shí)現(xiàn)算法,得到原程序代碼,計(jì)算機(jī)可識(shí)別并執(zhí)行。江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)5.5.根本算法構(gòu)造根本算法構(gòu)造1 1. . 順序構(gòu)造順序構(gòu)造語句語句1語句語句2語句塊語句塊構(gòu)造化程序設(shè)計(jì)構(gòu)造化程序設(shè)計(jì)江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)l2選擇構(gòu)造選擇構(gòu)造條件滿足?塊1塊2TrueFalse構(gòu)造化程序設(shè)計(jì)構(gòu)造化程序設(shè)計(jì)江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)l3循環(huán)構(gòu)造循環(huán)構(gòu)造塊塊TrueFalse條件條件構(gòu)造化程序設(shè)計(jì)構(gòu)造化程
8、序設(shè)計(jì)江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)三種根本構(gòu)造的共同特點(diǎn)三種根本構(gòu)造的共同特點(diǎn)l只需單一入口和單一出口;只需單一入口和單一出口;l構(gòu)造中的每一部分都有被執(zhí)行的能夠;構(gòu)造中的每一部分都有被執(zhí)行的能夠;l構(gòu)造內(nèi)不應(yīng)出現(xiàn)永不終止的死循環(huán)。構(gòu)造內(nèi)不應(yīng)出現(xiàn)永不終止的死循環(huán)。江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)4.2 4.2 賦值語句及賦值語句及InputBoxInputBox、MsgBoxMsgBox函數(shù)函數(shù)4.2.1 賦值語句4.2.2 InputBox函數(shù)4.2.3 MsgBox函數(shù)江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)
9、等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)4.2.1 賦值語句 格式:= 功能:先計(jì)算表達(dá)式的值,再將該值賦予左端的變量。 闡明: -賦值號(hào)左端不僅可以是變量名,還可以是對(duì)象的屬性; -表達(dá)式的類型和變量的類型要一致 -賦值語句是按語句出現(xiàn)的先后順序執(zhí)行的順序構(gòu)造 舉例: str1 = Nice to meet you number% = 72 Lable1.Caption = Filename is: Text.FontSize = 12 改動(dòng)字號(hào)改動(dòng)字號(hào)江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)運(yùn)用下面的方法可以獲取一個(gè)對(duì)象的屬性值:運(yùn)
10、用下面的方法可以獲取一個(gè)對(duì)象的屬性值:var = object . Propertyvar = object . Property 例如:例如:Label1.Caption=Text1.TextLabel1.Caption=Text1.Text 式中,式中,varvar是變量名、是變量名、objectobject是對(duì)象名、是對(duì)象名、propertyproperty是該對(duì)是該對(duì)象的某個(gè)屬性名。象的某個(gè)屬性名。特別留意:屬性也存在數(shù)據(jù)類型,所以在獲取對(duì)象的屬性值時(shí),特別留意:屬性也存在數(shù)據(jù)類型,所以在獲取對(duì)象的屬性值時(shí),最好使器具有一樣數(shù)據(jù)類型的變量。最好使器具有一樣數(shù)據(jù)類型的變量。 闡明闡明 江
11、蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)留意:賦值號(hào)留意:賦值號(hào)= =與比較運(yùn)算符與比較運(yùn)算符= =不同不同 賦值是獨(dú)立的一條語句;賦值是獨(dú)立的一條語句; 由運(yùn)算符由運(yùn)算符= =連結(jié)兩個(gè)操作數(shù)的關(guān)系表達(dá)式是語句連結(jié)兩個(gè)操作數(shù)的關(guān)系表達(dá)式是語句的一部分的一部分, , 不可單獨(dú)存在不可單獨(dú)存在 比較運(yùn)算符不會(huì)改動(dòng)操作數(shù)的值;比較運(yùn)算符不會(huì)改動(dòng)操作數(shù)的值; 賦值語句會(huì),改動(dòng)賦值號(hào)左邊的量,所以必需是可以賦值語句會(huì),改動(dòng)賦值號(hào)左邊的量,所以必需是可以被賦值的變量或?qū)傩员毁x值的變量或?qū)傩訢im x As Integer, y As Integer, z As Boo
12、leanx=3 : y=4 : y=xz = x=yPrint x, y, z江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)Private Sub Form_Click() Dim a As Integer,b As Integer a=10 b=3*a Print a,bEnd SubPrivate Sub Form_Click() Dim a As Integer,b As Integer b=3*a a=10 Print a,bEnd Sub例:?jiǎn)螕舸绑w,以下兩段程序的執(zhí)行結(jié)果分別是和。例:?jiǎn)螕舸绑w,以下兩段程序的執(zhí)行結(jié)果分別是和。提示:利用賦值語句給變
13、量賦值后,在未有新的提示:利用賦值語句給變量賦值后,在未有新的賦值語句再次給它賦值前,變量值堅(jiān)持不變。賦值語句再次給它賦值前,變量值堅(jiān)持不變。江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)例:交換兩個(gè)變量的值。例:交換兩個(gè)變量的值。Private Sub Form_Click() Dim a As Integer,b As Integer a=10 : b=2 Print a,b 填入程序代碼填入程序代碼 Print a,bEnd Sub正確答案正確答案Dim Temp As IntegerTemp=a : a=b : b=Temp標(biāo)題闡明標(biāo)題闡明單擊窗體程序
14、執(zhí)行結(jié)果為:?jiǎn)螕舸绑w程序執(zhí)行結(jié)果為: 10 210 2 2 10 2 10 留意留意 變量變量a a和和b b為兩個(gè)不定值的變?yōu)閮蓚€(gè)不定值的變量,因此不能直接用量,因此不能直接用 a=2 : b=10 a=2 : b=10語句來處理這個(gè)問題。語句來處理這個(gè)問題。一旦利用賦值語句給變量賦一旦利用賦值語句給變量賦新值,會(huì)覆蓋原值,所以不能新值,會(huì)覆蓋原值,所以不能直接用直接用 a=b : b=a a=b : b=a語句來處理這個(gè)問題。語句來處理這個(gè)問題。江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)例:求一元一次方程例:求一元一次方程x+5=0 x+5=0的解。的
15、解。Private Sub Form_Click() Dim x As Integer 3*x+5=0 Print “x=;xEnd SubPrivate Sub Form_Click() Dim x As Integerx=(0-)/3 - Print “x=;xEnd Sub 語句語句是該例題的算法。是該例題的算法。錯(cuò)誤程序錯(cuò)誤程序正確程序正確程序總結(jié):總結(jié): 利用程序設(shè)計(jì)言語處置問題,我們首先要知道的是怎樣利用程序設(shè)計(jì)言語處置問題,我們首先要知道的是怎樣處理問題,其次要知道怎樣將處理問題的方法用程序設(shè)計(jì)言處理問題,其次要知道怎樣將處理問題的方法用程序設(shè)計(jì)言語來表達(dá)。語來表達(dá)。江蘇計(jì)算機(jī)等
16、江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)4.2.2 InputBox4.2.2 InputBox函數(shù)函數(shù) 格式格式 :InputBox$(,DefInputBox$(,)ault,) 功能功能 : 彈出對(duì)話框,用戶輸入數(shù)據(jù)后回車或彈出對(duì)話框,用戶輸入數(shù)據(jù)后回車或單擊單擊“確定按鈕后,將輸入內(nèi)容賦值給相確定按鈕后,將輸入內(nèi)容賦值給相應(yīng)的變量;按應(yīng)的變量;按ESCESC鍵或單擊鍵或單擊“取消按鈕,取消按鈕,前往空串。前往空串。江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì) 闡明闡明 1 1promptprompt:必選項(xiàng)。對(duì)話框中的提示
17、信息。:必選項(xiàng)。對(duì)話框中的提示信息。2 2titletitle:可選。對(duì)話框的標(biāo)題。省略那:可選。對(duì)話框的標(biāo)題。省略那么為運(yùn)用程序名。么為運(yùn)用程序名。3 3defaultdefault:可選。顯示在用戶編輯框中:可選。顯示在用戶編輯框中的缺省值,省略為空。的缺省值,省略為空。4 4x,y:x,y:可選。指定對(duì)話框的顯示位置,省可選。指定對(duì)話框的顯示位置,省略那么居中。略那么居中。例:例:i = InputBox(i = InputBox(“輸入數(shù)組元素輸入數(shù)組元素+Chr(10)+Chr(10)+“第一個(gè)元素為第一個(gè)元素為: :, 程序例如程序例如, , 100)100)缺省值缺省值標(biāo)題標(biāo)題提
18、示字符串提示字符串江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)例:用例:用InputBox函數(shù)輸入出生日期,計(jì)算年齡。函數(shù)輸入出生日期,計(jì)算年齡。Option ExplicitOption ExplicitPrivate Sub Form_Click()Private Sub Form_Click() Dim BirthDay As Date, Age As Integer Dim BirthDay As Date, Age As Integer BirthDay = InputBox( BirthDay = InputBox(輸入出生日期輸入出生日期, ,
19、 計(jì)算年齡計(jì)算年齡) Age = Year(Date) - Year(BirthDay) Age = Year(Date) - Year(BirthDay) Print Print 他今年:他今年:; Age; ; Age; 歲歲 End SubEnd Sub江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)假設(shè)賦值號(hào)左端的變量為數(shù)值型或日期型等非字符型變量,假設(shè)賦值號(hào)左端的變量為數(shù)值型或日期型等非字符型變量,輸入字符數(shù)據(jù)輸入字符數(shù)據(jù) 單擊單擊“取消按鈕取消按鈕 不輸入直接按回車鍵,不輸入直接按回車鍵,那么系統(tǒng)都會(huì)提示出錯(cuò):那么系統(tǒng)都會(huì)提示出錯(cuò):Dim x As
20、Integerx = InputBox(輸入數(shù)組元素輸入數(shù)組元素 + Chr(10) + 第一個(gè)元素為:第一個(gè)元素為:, 例如例如, 10, 100, 100) 留意留意 江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)4.2.3 MsgBox4.2.3 MsgBox函數(shù)函數(shù) 格式格式 :MsgBox(Prompt,Button,Title,HelpFMsgBox(Prompt,Button,Title,HelpFile,Context)ile,Context) 功能功能 :向用戶發(fā)布提示信息,并要求用戶:向用戶發(fā)布提示信息,并要求用戶作出必要的呼應(yīng)。作出必要的
21、呼應(yīng)。 闡明闡明 : 1 1Prompt:Prompt:必選項(xiàng)。字符串表達(dá)式,對(duì)話必選項(xiàng)。字符串表達(dá)式,對(duì)話框中的提示信息??蛑械奶崾拘畔?。 2 2Button:Button:指定顯示按鈕的數(shù)目及方式,指定顯示按鈕的數(shù)目及方式,運(yùn)用的圖標(biāo)款式,這是一個(gè)由運(yùn)用的圖標(biāo)款式,這是一個(gè)由4 4個(gè)數(shù)值常量組個(gè)數(shù)值常量組成的式子,方式為成的式子,方式為c1+c2+c3+c4c1+c2+c3+c4,用于決議,用于決議信息框中按鈕的個(gè)數(shù)和類型以及出如今信息信息框中按鈕的個(gè)數(shù)和類型以及出如今信息框中的圖標(biāo)類型,各個(gè)參量的可選值及其功框中的圖標(biāo)類型,各個(gè)參量的可選值及其功能能; ; 詳見詳見P.62P.62表表4
22、.24.2 3 3Title:Title:對(duì)話框標(biāo)題欄的顯示信息。對(duì)話框標(biāo)題欄的顯示信息。江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)MsgBox MsgBox 需求重新來一次需求重新來一次?, 2 + 32 + 256 + 4096, ?, 2 + 32 + 256 + 4096, 訊問訊問 MsgBox MsgBox 數(shù)據(jù)非法,請(qǐng)重輸!數(shù)據(jù)非法,請(qǐng)重輸!,1 + 16 + 0 + 4096, ,1 + 16 + 0 + 4096, 警告警告 舉舉 例例江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)方法一方法一: 發(fā)布提示
23、信息,無須用戶呼應(yīng),在程序中作為獨(dú)立語發(fā)布提示信息,無須用戶呼應(yīng),在程序中作為獨(dú)立語句存在句存在,不加括號(hào);不加括號(hào);例:例: MsgBox 非法數(shù)據(jù)!非法數(shù)據(jù)!, , 警告警告假設(shè)省略其中參數(shù),假設(shè)省略其中參數(shù),逗號(hào)不能省略逗號(hào)不能省略MsgBox函數(shù)的用法函數(shù)的用法方法二方法二: 需求用戶呼應(yīng),和普通函數(shù)調(diào)用方法一樣。需求用戶呼應(yīng),和普通函數(shù)調(diào)用方法一樣。例:例: Response=MsgBox(真的刪除該項(xiàng)嗎?真的刪除該項(xiàng)嗎?,4+48,提示信息提示信息) If Response=vbYes Then Else End If江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic
24、程序設(shè)計(jì)程序設(shè)計(jì)4.3 4.3 分支構(gòu)造與分支構(gòu)造語句分支構(gòu)造與分支構(gòu)造語句4.3.1 If-Then-Else- End If語句語句4.3.2 Select- Case-End Select語句語句江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)1、 If-Then-Else語句語句格式格式1:If Then Else End If4.3.1 If-Then-Else- End If4.3.1 If-Then-Else- End If語句語句邏輯變量、關(guān)系表達(dá)邏輯變量、關(guān)系表達(dá)式、邏輯表達(dá)式式、邏輯表達(dá)式B組語句組語句條件?條件?不成立不成立成立成立A組語句
25、組語句 邏輯框圖邏輯框圖 : 功能功能 : 假設(shè)條件成立,那么執(zhí)行假設(shè)條件成立,那么執(zhí)行A A組語句,組語句,否那么執(zhí)行否那么執(zhí)行B B組語句。組語句。 闡明闡明 :IfIf和和End IfEnd If語句成對(duì)出現(xiàn),缺一不可;語句成對(duì)出現(xiàn),缺一不可;ElseElse和和B B組語句部分可以省略組語句部分可以省略, ,當(dāng)條件不成立時(shí)當(dāng)條件不成立時(shí), ,直接執(zhí)行直接執(zhí)行End IfEnd If的的后繼語句;后繼語句;江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)Private Sub cmdCalculate_Click() Dim x as Single x=V
26、al(text1.text) If x= 0 Then Text2.text = Str(Sqr(x) Else Text2.text = 數(shù)據(jù)小于數(shù)據(jù)小于0,錯(cuò)誤!,錯(cuò)誤! End IfEnd SubPrivate Sub cmdExit_Click() EndEnd SubPrivate Sub cmdClear_Click() Text1.Text = Text2.Text = Text1.SetFocusEnd Sub例:從鍵盤輸入一個(gè)數(shù),求它的平方根。例:從鍵盤輸入一個(gè)數(shù),求它的平方根??s格輸入縮格輸入江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)例
27、:計(jì)算分段函數(shù)例:計(jì)算分段函數(shù)y y的值。的值。0672025xxxexyxPrivate Sub cmdCalculate_Click() Dim x As Single,y As Single x=Val(Text1.Text) If x = 0 Then y = 2*Sqr(x+7)-6 Else y = 5*x+Exp(x)-2 End If Text2.Text=Str(y)End SubcmdCalculate江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì) 格式格式22:?jiǎn)涡校簡(jiǎn)涡蠭f-Then-ElseIf-Then-Else語句語句 If If
28、 Then Then Else Else 2 闡明闡明 :1 1在在A A組語句和組語句和B B組語句都只需一個(gè)語句時(shí),可組語句都只需一個(gè)語句時(shí),可運(yùn)用該格式;運(yùn)用該格式;2 2End IfEnd If語句省略。語句省略。例:上例可改寫為以下程序段。例:上例可改寫為以下程序段。Private Sub cmdCalculate_Click() Dim y As Single,x As Single x=Val(Text1.Text) If x = 0 Then y = 2*Sqr(x+7)-6 Else y = 5*x+Exp(x)-2 Text2.Text=Str(y)End Sub江蘇計(jì)算機(jī)
29、等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)條件滿足條件滿足?塊塊1TrueFalse 格式格式33: If If Then Then 1 End If End If 格式格式4:4: If If Then Then 1 邏輯框圖邏輯框圖江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)2.2.嵌套的嵌套的IfIf構(gòu)造構(gòu)造 在在IfIf語句的語句的“語句塊中包含另一個(gè)語句塊中包含另一個(gè)IfIf語句,語句,叫做嵌套的叫做嵌套的IfIf構(gòu)造。構(gòu)造。If Then 外層外層 If Then 內(nèi)層內(nèi)層 Else If then Else 最內(nèi)層最
30、內(nèi)層 End IfElse If Then End IfEnd If用于處理有多用于處理有多種情況的問題種情況的問題江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)開場(chǎng)開場(chǎng)邊長(zhǎng)邊長(zhǎng)0?能否能組成三角形能否能組成三角形計(jì)算計(jì)算輸出輸出出錯(cuò)信息出錯(cuò)信息終了終了是是否否是是否否例:輸入三角形的三邊例:輸入三角形的三邊a a、b b、c c,求三角形的面積,求三角形的面積P 64 例例4-1a0 and b0 and c0a+bc and b+ca and a+cb江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)Private Sub c
31、mdCalculate_Click() Dim a As Single,b As Single,c As Single,p As Single,s As Single a=Val(Text1.Text) b=Val(Text2.Text) c=Val(Text3.Text) If (1) Then If a+bc And b+ca And c+ab Then p=(a+b+c)/2 s=Sqr(p*(p-a)*(p-b)*(p-c) Text4.Text=Str(s) Else Text4.Text=“不能構(gòu)成三角形不能構(gòu)成三角形 End If Else Text4.Text=“邊長(zhǎng)不能小于邊
32、長(zhǎng)不能小于0 End IfEnd Sub計(jì)算公式:計(jì)算公式:其中:其中:)()(cpbpappS2cbapa0 And b0 And c0江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)例:計(jì)算分段函數(shù)例:計(jì)算分段函數(shù)y y的值。的值。55xlnxx054x3x0 x5x1y2Private Sub cmdCalculate_Click() Dim x As Single,y As Single x=Val(Text1.Text) If x0 Then y=1/(x-5) Else If x5 Then y=3*x2+4*x+5 Else y=Log(x) En
33、d If End If Text2.Text=Str(y)End Sub05江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)例:輸入分?jǐn)?shù)并判別等級(jí)分。計(jì)算規(guī)那么如下:例:輸入分?jǐn)?shù)并判別等級(jí)分。計(jì)算規(guī)那么如下: 分?jǐn)?shù)分?jǐn)?shù) 100-90 89-80 79-70 69-60 60100-90 89-80 79-70 69-60 = 90 And Score = 80 Then Degree = B Else If Score = 70 Then Degree = C Else If Score = 60 Then Degree = D Else Degree = E
34、End If End If End If End If Text2.Text = Degree End IfEnd Sub缺陷:缺陷: 嵌套層次過多,構(gòu)造嵌套層次過多,構(gòu)造不明晰,容易出錯(cuò)。不明晰,容易出錯(cuò)。從文本框取數(shù)據(jù)從文本框取數(shù)據(jù)向文本框放數(shù)據(jù)向文本框放數(shù)據(jù)江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)3 3、多分支、多分支If-Then-ElseIfIf-Then-ElseIf語句語句 格式格式 : If If Then1 Then A1 ElseIf ElseIf Then2 Then A2 ElseIf ElseIf Thenn Then An E
35、lse Else An+1 End If End If 功能功能 :- -對(duì)條件自上而下依次判別對(duì)條件自上而下依次判別, ,假設(shè)條件假設(shè)條件i i成立成立, ,那么執(zhí)行相應(yīng)的那么執(zhí)行相應(yīng)的AiAi組語組語句;句;- -假設(shè)一切條件都不成立,那么執(zhí)行假設(shè)一切條件都不成立,那么執(zhí)行An+1An+1組語句。組語句。- -無論執(zhí)行了哪個(gè)語句塊,都將執(zhí)行無論執(zhí)行了哪個(gè)語句塊,都將執(zhí)行End IfEnd If的后繼語句。的后繼語句。條件條件1條件條件2假假假假真真真真語句塊語句塊1語句塊語句塊2條件條件 n真真假假語句塊語句塊n語句塊語句塊n+1江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basi
36、c 程序設(shè)計(jì)程序設(shè)計(jì)1 1該語句構(gòu)造可以處理多分支問題,只需一個(gè)該語句構(gòu)造可以處理多分支問題,只需一個(gè)End End IfIf語句,語句,防止防止IfIf語句嵌套層數(shù)過多的情況;語句嵌套層數(shù)過多的情況;2 2ElseElse語句可以省略;語句可以省略;3 3該構(gòu)造是一個(gè)單出口的構(gòu)造,即只會(huì)執(zhí)行一組語句,假該構(gòu)造是一個(gè)單出口的構(gòu)造,即只會(huì)執(zhí)行一組語句,假設(shè)條件中有兩個(gè)成立,那么按語句的順序執(zhí)行前面的一組語句。設(shè)條件中有兩個(gè)成立,那么按語句的順序執(zhí)行前面的一組語句。說說 明明江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)Private Sub Text1_KeyP
37、ress(KeyAscii As Integer) Dim Score As Integer, Degree As String If KeyAscii = 13 Then Score = Val(Text1.Text) If Score = 90 And Score = 80 Then Degree = B ElseIf Score = 70 Then Degree = C ElseIf Score = 60 Then Degree = D Else Degree = E End If Text2.Text = Degree End IfEnd Sub特點(diǎn):特點(diǎn):構(gòu)造明晰。構(gòu)造明晰。將上例用
38、將上例用If-Then-ElseIfIf-Then-ElseIf語句改寫:語句改寫:90Score=80 ?江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)格式格式:Select Case Case Case Case Case Else End Select 功能功能 : 計(jì)算測(cè)試表達(dá)式的值,自計(jì)算測(cè)試表達(dá)式的值,自上而下檢查測(cè)試條件上而下檢查測(cè)試條件; ; 假設(shè)表達(dá)式的值符合測(cè)試假設(shè)表達(dá)式的值符合測(cè)試 i i,那么執(zhí)行相應(yīng)的語句塊,那么執(zhí)行相應(yīng)的語句塊 i i; 假設(shè)一切條件都不成立,假設(shè)一切條件都不成立,那么執(zhí)行語句塊那么執(zhí)行語句塊n+1n+1。無論執(zhí)。無
39、論執(zhí)行了哪個(gè)語句塊,都將執(zhí)行行了哪個(gè)語句塊,都將執(zhí)行End SelectEnd Select的后繼語句。的后繼語句。4.3.2 4.3.2 多分支多分支Select-Case-End SelectSelect-Case-End Select語句語句江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)1 1測(cè)試表達(dá)式可以是算術(shù)表達(dá)式或字符表達(dá)式;測(cè)試表達(dá)式可以是算術(shù)表達(dá)式或字符表達(dá)式;2 2測(cè)試條件有四種方式:測(cè)試條件有四種方式: 常量,如常量,如2 2、3 3、“A A等等 閉區(qū)間,如閉區(qū)間,如3 To 783 To 78、“B B To To“H H等等 開區(qū)間,
40、如開區(qū)間,如Is20Is20、 Is Is“P P等等 以上三種方式的組合,以逗號(hào)間隔,條件組合是或的關(guān)系,以上三種方式的組合,以逗號(hào)間隔,條件組合是或的關(guān)系,不能表示與的關(guān)系不能表示與的關(guān)系 3 3Case ElseCase Else語句部分可以省略;語句部分可以省略;4 4以以End SelectEnd Select語句終了;語句終了;5 5該構(gòu)造是一個(gè)單出口的構(gòu)造,即只會(huì)執(zhí)行一個(gè)語句塊,假設(shè)該構(gòu)造是一個(gè)單出口的構(gòu)造,即只會(huì)執(zhí)行一個(gè)語句塊,假設(shè)條件中有兩個(gè)成立,那么按語句的順序執(zhí)行前面的語句塊。條件中有兩個(gè)成立,那么按語句的順序執(zhí)行前面的語句塊。說說 明明江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考
41、試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)例:將上例用例:將上例用Select CaseSelect Case語句改寫。語句改寫。Private Sub Text1_KeyPress(KeyAscii As Integer) Dim Score As Integer, Degree As String If KeyAscii = 13 Then Score = Val(Text1.Text) Select Case Score Case 90 To 100 Degree = A Case 80 To 89 Degree = B Case 70 To 79 Degree = C Case 6
42、0 To 69 Degree = D Case Is60 Degree = E End Select Text2.Text = Degree End IfEnd Sub江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)練習(xí):鍵盤輸入三個(gè)數(shù),將它們從大到小依練習(xí):鍵盤輸入三個(gè)數(shù),將它們從大到小依次陳列輸出。次陳列輸出。Private Sub Form_Click()Dim a As Integer, b As Integer, c As Integer, temp As Integer a = InputBox(輸入輸入a, 順序輸出順序輸出) b = InputB
43、ox(輸入輸入b, 順序輸出順序輸出) c = InputBox(輸入輸入c, 順序輸出順序輸出) If a b Then temp = a a = b b = temp End If If a c Then Print a, b, c Else Print a, c, b End IfEnd Sub保證保證a為為a,b兩數(shù)中的大值兩數(shù)中的大值江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)分支構(gòu)造的適用情況分支構(gòu)造的適用情況l驗(yàn)證用戶輸入數(shù)據(jù)的合法性驗(yàn)證用戶輸入數(shù)據(jù)的合法性l分段函數(shù)計(jì)算分段函數(shù)計(jì)算l用于區(qū)分等級(jí)用于區(qū)分等級(jí)l其他須根據(jù)條件不同執(zhí)行不同操作的情
44、況其他須根據(jù)條件不同執(zhí)行不同操作的情況江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)4.4 4.4 循環(huán)構(gòu)造與循環(huán)構(gòu)造語句循環(huán)構(gòu)造與循環(huán)構(gòu)造語句4.4.1 Do-loop循環(huán)構(gòu)造語句條件循環(huán)循環(huán)構(gòu)造語句條件循環(huán)4.4.2 For-Next 循環(huán)構(gòu)造語句計(jì)數(shù)循環(huán)循環(huán)構(gòu)造語句計(jì)數(shù)循環(huán)4.4.3 循環(huán)嵌套循環(huán)嵌套江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì) 由一定的條件控制,反復(fù)執(zhí)行某個(gè)程序段的程序構(gòu)造稱為循環(huán)構(gòu)造。由一定的條件控制,反復(fù)執(zhí)行某個(gè)程序段的程序構(gòu)造稱為循環(huán)構(gòu)造。 用于處理一些需求反復(fù)進(jìn)展某些操作的問題。用于處理一些需
45、求反復(fù)進(jìn)展某些操作的問題。 循環(huán)要素:循環(huán)要素: & & 循環(huán)控制條件循環(huán)控制條件 條件或邏輯表達(dá)式條件或邏輯表達(dá)式 & & 循環(huán)體循環(huán)體 反復(fù)執(zhí)行的語句塊反復(fù)執(zhí)行的語句塊 & & 為防止死循環(huán),在循環(huán)體內(nèi)必需求有對(duì)應(yīng)語句,使得循環(huán)控為防止死循環(huán),在循環(huán)體內(nèi)必需求有對(duì)應(yīng)語句,使得循環(huán)控制條件會(huì)不滿足,終了循環(huán)運(yùn)轉(zhuǎn)。制條件會(huì)不滿足,終了循環(huán)運(yùn)轉(zhuǎn)。根本概念根本概念江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)例:在窗體上打印例:在窗體上打印10行行“Hello。 循環(huán)控制條件循環(huán)控制條件 能否已打印了能否已打印了10
46、行行 循環(huán)體循環(huán)體在窗體上打印一行在窗體上打印一行“Hello 提示:要設(shè)立一個(gè)變量,用于記錄已打印的提示:要設(shè)立一個(gè)變量,用于記錄已打印的行數(shù),每打印一行,計(jì)數(shù)變量要加行數(shù),每打印一行,計(jì)數(shù)變量要加1,循環(huán)控制,循環(huán)控制條件即計(jì)數(shù)變量小于等于條件即計(jì)數(shù)變量小于等于10江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)一、一、“當(dāng)型循環(huán)當(dāng)型循環(huán)條件成立時(shí),執(zhí)行循環(huán)體條件成立時(shí),執(zhí)行循環(huán)體條件?條件?循環(huán)體循環(huán)體成立成立循環(huán)的后繼語句循環(huán)的后繼語句不成立不成立條件?條件?循環(huán)體循環(huán)體不成立不成立循環(huán)的后繼語句循環(huán)的后繼語句成立成立圖圖2 2:先執(zhí)行一次循環(huán)體,然后再
47、判別條件,決議能否繼續(xù)執(zhí)行循:先執(zhí)行一次循環(huán)體,然后再判別條件,決議能否繼續(xù)執(zhí)行循環(huán),此構(gòu)造至少執(zhí)行一次循環(huán)體。環(huán),此構(gòu)造至少執(zhí)行一次循環(huán)體。圖圖 1圖圖 2圖圖1 1:先判別條件,當(dāng)條件成立那么執(zhí)行循環(huán)體,否那么執(zhí)行循環(huán)構(gòu)造:先判別條件,當(dāng)條件成立那么執(zhí)行循環(huán)體,否那么執(zhí)行循環(huán)構(gòu)造的后續(xù)語句。的后續(xù)語句。江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)二、二、“直到型循環(huán)直到型循環(huán)條件不成立時(shí),執(zhí)行循環(huán)體條件不成立時(shí),執(zhí)行循環(huán)體條件?條件?循環(huán)體循環(huán)體不成立不成立循環(huán)的后繼語句循環(huán)的后繼語句成立成立條件?條件?循環(huán)體循環(huán)體成立成立循環(huán)的后繼語句循環(huán)的后繼語句不
48、成立不成立圖圖3 3:先判別條件,條件不成立那么執(zhí)行循環(huán)體,直到條件不成立,:先判別條件,條件不成立那么執(zhí)行循環(huán)體,直到條件不成立,執(zhí)行循環(huán)構(gòu)造的后續(xù)語句。執(zhí)行循環(huán)構(gòu)造的后續(xù)語句。圖圖 3圖圖 4圖圖4 4:先執(zhí)行一次循環(huán)體,再判別條件,決議能否繼續(xù)執(zhí)行循環(huán)。:先執(zhí)行一次循環(huán)體,再判別條件,決議能否繼續(xù)執(zhí)行循環(huán)。江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì) 4.4.1 Do-Loop 4.4.1 Do-Loop 循環(huán)構(gòu)造語句循環(huán)構(gòu)造語句格式一格式一 Do While Do While Loop Loop條件?條件?循環(huán)體循環(huán)體成立成立Loop的后繼語句的后繼
49、語句不成立不成立執(zhí)行步驟:執(zhí)行步驟:1 判別條件能否成立。假設(shè)條件判別條件能否成立。假設(shè)條件不成立,轉(zhuǎn)向第不成立,轉(zhuǎn)向第4步步2 執(zhí)行循環(huán)體;執(zhí)行循環(huán)體;3 轉(zhuǎn)向執(zhí)行第轉(zhuǎn)向執(zhí)行第1步;步;4 執(zhí)行執(zhí)行Loop語句的后繼語句。語句的后繼語句。當(dāng)型循環(huán)當(dāng)型循環(huán)江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)Private Sub Form_click()Private Sub Form_click() Dim i as integer Dim i as integer i=0 i=0 Do While i10 Do While i10 print print “he
50、llohello i=i+1 i=i+1 Loop LoopEnd SubEnd Sub上例的實(shí)現(xiàn):上例的實(shí)現(xiàn):縮格縮格江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)例例 求求S=1+2+3+4+100Private Sub Form_click() Dim n as Integer,s as Long n=1 s=0 Do While n=100 s=s+n n=n+1 Loop Print “1+2+3+100=;sEnd Sub實(shí)現(xiàn)累加實(shí)現(xiàn)累加江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)格式二:格式二: Do Loop
51、 While 條件?條件?循環(huán)體循環(huán)體不成立不成立Loop的后繼語句的后繼語句成立成立執(zhí)行步驟:執(zhí)行步驟:1 執(zhí)行循環(huán)體;執(zhí)行循環(huán)體; 2 判別條件能否成立。假設(shè)條判別條件能否成立。假設(shè)條件成立,轉(zhuǎn)向第件成立,轉(zhuǎn)向第 1 步步3 條件不成立,那么終了循環(huán),條件不成立,那么終了循環(huán),執(zhí)行執(zhí)行Loop語句的后繼語句。語句的后繼語句。當(dāng)型循環(huán)當(dāng)型循環(huán)江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)格式三格式三 Do Until Loop條件?條件?循環(huán)體循環(huán)體不成立不成立Loop的后繼語句的后繼語句成立成立執(zhí)行步驟:執(zhí)行步驟:1 判別條件能否成立。假設(shè)條判別條件能否成
52、立。假設(shè)條件成立,轉(zhuǎn)向第件成立,轉(zhuǎn)向第4步步2 執(zhí)行循環(huán)體;執(zhí)行循環(huán)體;3 轉(zhuǎn)向執(zhí)行第轉(zhuǎn)向執(zhí)行第 1 步;步;4 執(zhí)行執(zhí)行Loop語句的后繼語句。語句的后繼語句。直到型循環(huán)直到型循環(huán)江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)格式四格式四 Do Loop Until 條件?條件?循環(huán)體循環(huán)體不成立不成立Loop的后繼語句的后繼語句成立成立執(zhí)行步驟:執(zhí)行步驟:1 執(zhí)行循環(huán)體;執(zhí)行循環(huán)體; 2 判別條件能否成立。假設(shè)條判別條件能否成立。假設(shè)條件不成立,轉(zhuǎn)向第件不成立,轉(zhuǎn)向第 1 步,假設(shè)步,假設(shè)條件成立,那么執(zhí)行條件成立,那么執(zhí)行 第第3步步 3 執(zhí)行執(zhí)行Loo
53、p語句的后繼語句。語句的后繼語句。直到型循環(huán)直到型循環(huán)江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)1 1While While 短語總是在條件成立時(shí),繼續(xù)進(jìn)展循環(huán);條件短語總是在條件成立時(shí),繼續(xù)進(jìn)展循環(huán);條件不成立時(shí),終了循環(huán)。因此用于不成立時(shí),終了循環(huán)。因此用于“當(dāng)型循環(huán);當(dāng)型循環(huán);2 2Until Until 短語總是在條件不成立時(shí),執(zhí)行循環(huán)體;條件短語總是在條件不成立時(shí),執(zhí)行循環(huán)體;條件成立時(shí),那么終了循環(huán)。因此稱為成立時(shí),那么終了循環(huán)。因此稱為“直到型循環(huán);直到型循環(huán);3 3上述兩條短語是可以相互轉(zhuǎn)換的。上述兩條短語是可以相互轉(zhuǎn)換的??偪?結(jié)結(jié) Do
54、 While i=10 print “hello i=i+1 Loop江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)格式五特殊方式:格式五特殊方式: Do Loop執(zhí)行過程:反復(fù)執(zhí)行循環(huán)體。執(zhí)行過程:反復(fù)執(zhí)行循環(huán)體。該構(gòu)造稱為該構(gòu)造稱為“死循環(huán)死循環(huán)“,在循環(huán)體內(nèi),在循環(huán)體內(nèi)必需經(jīng)過必需經(jīng)過 Exit Do 語句強(qiáng)迫退出循語句強(qiáng)迫退出循環(huán)體。環(huán)體。Exit Do語句普通與語句普通與If-then語句結(jié)合語句結(jié)合運(yùn)用,即當(dāng)滿足某一條件時(shí),才強(qiáng)運(yùn)用,即當(dāng)滿足某一條件時(shí),才強(qiáng)迫退出循環(huán)。迫退出循環(huán)。 If Then Exit Do循環(huán)體循環(huán)體Loop后續(xù)語句后續(xù)語句
55、 Do print “hello i=i+1 If i=10 then Exit Do Loop江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)1 1DoDo和和LoopLoop為循環(huán)構(gòu)造關(guān)鍵字,必需成對(duì)出現(xiàn),缺一不可;為循環(huán)構(gòu)造關(guān)鍵字,必需成對(duì)出現(xiàn),缺一不可;2 2循環(huán)體為可執(zhí)行語句組成循環(huán)體為可執(zhí)行語句組成, ,可以嵌套分支構(gòu)造和循環(huán)構(gòu)造;可以嵌套分支構(gòu)造和循環(huán)構(gòu)造;3 3語句語句 Exit Do Exit Do 用于無條件退出循環(huán),可在恣意用于無條件退出循環(huán),可在恣意Do-LoopDo-Loop語語句構(gòu)造的循環(huán)體中出現(xiàn)。句構(gòu)造的循環(huán)體中出現(xiàn)。4 4運(yùn)用循環(huán)
56、構(gòu)造,一定要防止死循環(huán)的出現(xiàn)。運(yùn)用循環(huán)構(gòu)造,一定要防止死循環(huán)的出現(xiàn)。 Do-Loop Do-Loop語句運(yùn)用闡明語句運(yùn)用闡明江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì) 算法分析算法分析 :求最大公約數(shù)的常用方法是:求最大公約數(shù)的常用方法是 輾轉(zhuǎn)相除法。輾轉(zhuǎn)相除法。例:求兩個(gè)數(shù)的最大公約數(shù)。例:求兩個(gè)數(shù)的最大公約數(shù)。P 68 例例4-31810M N R8108 2 8 2 0 2 0R=8R=2R=0M=2即最大公約數(shù)即最大公約數(shù)江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì) 在該例中,我們運(yùn)用了三個(gè)變量,分別表示被除數(shù)在
57、該例中,我們運(yùn)用了三個(gè)變量,分別表示被除數(shù)m m、除數(shù)除數(shù)n n及余數(shù)及余數(shù)r r。 Do r=m Mod n m=n n=rLoop Until r=0最大公約數(shù)是最大公約數(shù)是 ?江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì) 由于輸入的數(shù)據(jù)由于輸入的數(shù)據(jù)M M和和N N要求是自然數(shù),在程序中應(yīng)參與對(duì)要求是自然數(shù),在程序中應(yīng)參與對(duì)數(shù)據(jù)的合法性進(jìn)展檢驗(yàn)的部分;數(shù)據(jù)的合法性進(jìn)展檢驗(yàn)的部分; 思索到程序的運(yùn)用范圍,數(shù)據(jù)類型可選用長(zhǎng)整型。思索到程序的運(yùn)用范圍,數(shù)據(jù)類型可選用長(zhǎng)整型。 問題分析及界面設(shè)計(jì)問題分析及界面設(shè)計(jì)江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visua
58、l Basic 程序設(shè)計(jì)程序設(shè)計(jì)Private Sub Command1_Click() Dim m As Long, n As Long, r As Long m = Val(Text1.Text) 取數(shù)據(jù)取數(shù)據(jù)M n = Val(Text2.Text) 取數(shù)據(jù)取數(shù)據(jù)N If m Int(m) Or m 1 Or n Int(n) Or n 1 Then Text3.Text = 數(shù)據(jù)錯(cuò)誤!數(shù)據(jù)錯(cuò)誤! Else Do 求最大公約數(shù)求最大公約數(shù) r = m Mod n m = n n = r Loop Until r = 0 Text3.Text = CStr(m) 輸出最大公約數(shù)輸出最大公約
59、數(shù) End If End Sub Private Sub Command2_Click() Text1.Text = Text2.Text = Text3.Text = End Sub Private Sub Command3_Click() End End Sub檢驗(yàn)數(shù)據(jù)檢驗(yàn)數(shù)據(jù)合法性合法性Mod 前后加空格前后加空格江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)例:將十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制。例:將十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制。 算法分析算法分析 :十進(jìn)制向二進(jìn)制轉(zhuǎn)換,:十進(jìn)制向二進(jìn)制轉(zhuǎn)換, 采取的是除采取的是除2 2取余法。取余法。45222211121222521
60、01001高位高位低位低位4510=1011012處理這類問題必需思索的是如下幾點(diǎn):處理這類問題必需思索的是如下幾點(diǎn):1 1需求反復(fù)運(yùn)轉(zhuǎn)的操作需求反復(fù)運(yùn)轉(zhuǎn)的操作除除2 2取余取余2 2終止循環(huán)的條件終止循環(huán)的條件商為商為0 0a=0?a Mod 2a=a2F終了循環(huán)終了循環(huán)T江蘇計(jì)算機(jī)等江蘇計(jì)算機(jī)等級(jí)考試級(jí)考試 Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)留意:留意:在循環(huán)控制條件中必需出現(xiàn)變量,且該變量在循環(huán)體中一定在循環(huán)控制條件中必需出現(xiàn)變量,且該變量在循環(huán)體中一定要改動(dòng)值,否那么會(huì)呵斥要改動(dòng)值,否那么會(huì)呵斥“死循環(huán),即無休止的循環(huán)。死循環(huán),即無休止的循環(huán)。假設(shè)在運(yùn)轉(zhuǎn)程序過程假設(shè)出現(xiàn)假設(shè)在運(yùn)轉(zhuǎn)程序過程假設(shè)出現(xiàn)“死循環(huán),用死循環(huán),用Ctrl+B
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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年制動(dòng)帶項(xiàng)目可行性研究報(bào)告
- 別墅房屋轉(zhuǎn)讓合同范本
- 產(chǎn)品訂購(gòu)合同范本模板
- 凈化工程合同范本
- 企業(yè)食堂經(jīng)營(yíng)合同范本
- 如何推動(dòng)專家型校長(zhǎng)的成長(zhǎng)
- 農(nóng)村屋瓦收購(gòu)合同范本
- 買汽車有合同范本
- 使用權(quán)銷售合同范例
- 2025年度智能農(nóng)業(yè)管理系統(tǒng)開發(fā)與應(yīng)用合同
- 2022年消防維保招標(biāo)文件
- 加油站項(xiàng)目開辦申報(bào)表
- 單個(gè)軍人隊(duì)列動(dòng)作教學(xué)法教案全(新條令)
- 《德育與班級(jí)管理》課程大綱
- 人教版八年級(jí)下冊(cè)英語全冊(cè)教案完整版教學(xué)設(shè)計(jì)含教學(xué)反思
- 網(wǎng)絡(luò)性能測(cè)試與分析課程教學(xué)大綱
- 國(guó)貨當(dāng)自強(qiáng)精品課件
- 比多少(課件)人教版一年級(jí)上冊(cè)數(shù)學(xué)
- 2021年懷化市會(huì)同縣人民醫(yī)院醫(yī)護(hù)人員招聘筆試試題及答案解析
- 《中華人民共和國(guó)職業(yè)分類大典》電子版
- 即興口語(姜燕)-課件-即興口語第二章PPT-中國(guó)傳媒大學(xué)
評(píng)論
0/150
提交評(píng)論