第四章程序設計基礎_第1頁
第四章程序設計基礎_第2頁
第四章程序設計基礎_第3頁
第四章程序設計基礎_第4頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第四章 程序設計基礎教學目的及要求:使學生掌握順序結構、分支結構、循環(huán)結構的語法規(guī)則和具體應用,程序調試的步驟和方法。重點與難點:1、熟練掌握表達式、賦值語句及邏輯表達式等的書寫約定2、掌握InputBox和MsgBox函數(shù)的用法3、掌握單分支和多分支條件語句4、熟練掌握For語句和While語句的使用5、難點是多重循環(huán)的程序設計主要外語詞匯:context 、prompt、msgbox、inputbox授課內容:1、三種基本結構:順序結構、選擇結構、循環(huán)結構2、流程圖:(1)傳統(tǒng)的流程圖 (2)N-S流程圖第一節(jié) 順序結構程序設計特點:按書寫時的順序依次執(zhí)行。一、VB中的語句及書寫約定:1、

2、自動語法檢測2、格式化處理3、續(xù)行符:下劃線,一條語句寫在多行上。 下劃線與其前面的字符之間至少要有一個空格。4、復合語句行:冒號,多條語句寫在一行上。二、賦值語句:1、可以給一個變量或某一個對象的屬性賦值。格式1:變量名 = 表達式格式2:對象名.屬性名 = 屬性值若省略對象名,則默認是當前窗體。方向性:從右向左賦值。2、最終的結果是最后一次的賦值。3、數(shù)據(jù)類型要匹配,注意相容現(xiàn)象:(1)邏輯型 -> 數(shù)值型:True -> -1,F(xiàn)alse -> 0數(shù)值型 -> 邏輯型:非0 -> True,0 -> False(2)實型 -> 整型:四舍五入原則

3、,不是去尾原則整型 -> 實型:擴展小數(shù)位數(shù)4、不管表達式是什么數(shù)據(jù)類型,都可以賦給一個Variant變量。5、系統(tǒng)提供的默認初始值:(1)數(shù)值型:0 (2)貨幣型:0 (3)字符型:空字符串(4)邏輯型:False (5)日期型:0:00:00(6)可變型:Empty (7)對象型:Nothing6、不能連續(xù)賦值:例:Dim a As Integer,b As Integer,c As Integera=b=c=1 錯誤a=1: b=1:c=1 正確7、交換兩個變量中的數(shù)據(jù):例:a=b:b=a 錯誤 t=a:a=b:b=t 正確,t是中間變量注意:VB中的數(shù)字和只包含數(shù)字的字符串可以方

4、便地互換類型,例:(1)隱式轉換:Private Sub Command1_Click( ) Dim x As Integer,y As String y = “100.23” :x = y 隱式轉換 Print xEnd Sub(2)顯式轉換字符型 -> 數(shù)值型:利用Val函數(shù):Private Sub Command1_Click( ) Dim x As Integer Text1.Text = “100.23”x = Val(Text1.Text) 顯式轉換 Print xEnd Sub(3)顯式轉換數(shù)值型 -> 字符型:利用Str函數(shù):Private Sub Command1

5、_Click( ) Dim x As Integer x = 100.23Text1.Text = Str(x) 顯式轉換 Print Text1.TextEnd Sub三、注釋、暫停、結束語句:1、注釋語句:非執(zhí)行語句(1)格式1:Rem 注釋語句(2)格式2:注釋語句(常用)(3)塊注釋:視圖-> 工具欄 -> 編輯 -> 設置注釋塊、解除注釋塊2、暫停語句:格式:Stop暫停程序的運行,但不關閉所有已打開的文件,相當于在程序代碼中設置斷點,主要用于調試程序。3、結束語句:格式:End停止程序的運行,關閉所有已打開的文件。還可以用來結束一些模塊的操作。例:Private

6、Sub Command2_Click( )EndEnd Sub四、輸入函數(shù)InputBox:在一對話框中顯示提示,等待用戶輸入內容,并返回包含文本框內容的字符串。1、格式:InputBox (prompt , title , default , xpos, ypos , helpfile, context )(1)prompt:對話框的消息提示文字。(2)title:對話框的標題,標題省略取默認值“工程1”。(3)default:文本框的默認輸入信息。2、InputBox函數(shù)的返回值是字符型的。3、每運行一次InputBox函數(shù)只能給一個變量賦值??偨Y:輸入數(shù)據(jù)的方法:1、在程序代碼中直接指定

7、: 優(yōu)點:代碼簡單缺點:缺少靈活性2、利用TextBox文本框輸入數(shù)據(jù): 優(yōu)點:可以輸入任意值缺點:要添加多個文本框,界面復雜3、利用InputBox函數(shù)輸入數(shù)據(jù): 優(yōu)點:界面簡單,可以輸入任意值缺點:代碼復雜,參數(shù)較多五、消息函數(shù)和語句MsgBox:在一對話框中顯示消息,等待用戶單擊按鈕,并返回包含文本框內容的字符串。1、MsgBox函數(shù):(1)格式:MsgBox (prompt , buttons , title , helpfile, context )prompt:對話框的消息提示文字。buttons:a) 組合值,每組只能取一個數(shù)字,數(shù)字間用“+”連接。b) 進行相加(只有唯一的分解

8、方式)。c) 使用VB常數(shù)。(表4-1)d) 方式a)和方式c)可以結合起來使用。e)把“+”換成“Or”例:3 + 32 + 035vbYesNoCancel + vbQuestion + vbDefaultButton1vbYesNoCancel + 32 + vbDefaultButton1title:對話框的標題,標題省略取默認值“工程1”。(2)MsgBox函數(shù)的返回值是整型的:1-7(表4-2)例:Private Sub Form_Load( ) Dim a As Integer Show a=MsgBox("請你選擇:",3+32+0,"Button

9、s參數(shù)組合舉例") If a=6 Then Unload Form1 Form2.Show End If If a=7 Then Unload Form1 Form3.Show End If If a=2 Then End End IfEnd Sub2、MsgBox語句:僅僅用于顯示一些簡單的信息而不需要返回值。格式:MsgBox prompt , buttons , title , helpfile, context參數(shù)含義:同上不用寫小括號,沒有返回值,可以單獨作為一個語句來使用。六、數(shù)據(jù)輸出:Print方法的缺省輸出:從窗體的第1行第1列開始輸出。1、Tab函數(shù):格式:Tab(

10、n),參數(shù)n是絕對列數(shù)值。(1)Tab函數(shù)與表達式之間用分號分隔。(2)如果當前行的打印位置大于n,則Tab將打印位置移動到下一行的第n列上。(3)如果n小于1,則Tab將打印位置移動到該行的第1列。(4)如果n大于輸出行的寬度,則Tab函數(shù)用以下公式計算下一個打印位置:n Mod 行寬。2、Spc函數(shù):格式:Spc(n),參數(shù)n是相對列數(shù)值。(1)Spc函數(shù)與表達式之間用分號分隔。(2)如果n小于輸出行的寬度,則下一個打印位置將緊接在數(shù)個已打印的空白之后。(3)如果n大于輸出行的寬度,則Spc函數(shù)用以下公式計算下一個打印位置:當前打印位置+(n Mod 行寬)。3、Space函數(shù):格式:Sp

11、ace(n),輸出n個空格注:Spc函數(shù)與Space函數(shù)作用相同,但Space函數(shù)可以使用字符串運算符&和+??偨Y:輸出行的控制:Print后面不跟表達式,只輸出一行空行。 輸出列的控制:用Tab、Spc或Space函數(shù)調整。七、輸出到打印機:1、直接輸出:格式:Printer.Print 表達式只能打印文本信息,不能打印圖形圖像信息。(1)Page屬性:用來設置頁碼,默認缺省值為1。(2)NewPage方法:強制打印機跳到下一頁打印。(3)EndDoc方法:用來結束文件的打印。2、窗體輸出:格式:窗體.PrintForm既將信息輸出到窗體,又將信息輸出到打印機。預覽作用(1)窗體.A

12、utoRedraw=True(2)可以打印窗體上的文本、任何可見的控件及圖形信息。附:方法與函數(shù)的區(qū)別:(1)方法可以單獨作為語句使用,函數(shù)不可以。(2)方法沒有返回值,函數(shù)有返回值。(3)方法的格式:對象.方法 參數(shù)列表 函數(shù)的調用格式:函數(shù)名(參數(shù)列表)(4)方法是隸屬于某一個對象的,函數(shù)存在于VB自帶的函數(shù)庫。第二節(jié) 選擇結構程序設計特點:根據(jù)指定的條件進行判斷,根據(jù)判斷的結果在兩條分支或多條分支路徑中選取其中的一條執(zhí)行。一、行If語句:單行形式,雙分支結構格式1:If 條件 Then 語句組1格式2:If 條件 Then 語句組1 Else 語句組2語句組中的多個語句之間用冒號分隔。二

13、、塊If語句:多行形式,雙分支結構格式3:If 條件 Then 格式4:If 條件 Then語句組1 語句組1 End If Else 語句組2 End If1、Else必須單獨一行。2、IfEnd If必須成對出現(xiàn)。行If語句中不需要End If。3、最好采用縮進形式。4、如果語句組1、語句組2中含有多條語句時,最好使用塊If語句。三、If語句的嵌套:多分支結構四、ElseIf語句:多分支結構格式:If 條件1 Then 語句組1ElseIf 條件2 Then 語句組2ElseIf 條件n Then 語句組nElse 語句組n+1End If1、VB首先測試條件1,如果它為False,VB就

14、測試條件2,依次類推,直到找到一個為True的條件。此時,VB就會執(zhí)行相應的語句組,然后執(zhí)行End If后面的語句。2、不能交叉嵌套,只能完全嵌套。3、可以使用任意數(shù)量的ElseIf語句。4、只有一個End If與If相對應。例題4-5:方法一:If cj >= 0 And cj < 60 Then Print "不及格"Else If cj >= 60 And cj < 75 Then Print "及格" Else If cj >= 75 And cj < 90 Then Print "良好"

15、Else If cj >= 90 And cj <= 100 Then Print "優(yōu)秀" End If End If End IfEnd If方法二:If cj >= 90 And cj <= 100 Then Print "優(yōu)秀"Else If cj >= 75 Then Print "良好" Else If cj >= 60 Then Print "及格" Else Print "不及格" End If End IfEnd If方法三:If cj &g

16、t;= 90 And cj <= 100 Then Print "優(yōu)秀"ElseIf cj >= 75 Then Print "良好"ElseIf cj >= 60 Then Print "及格"Else Print "不及格"End If方法四:Select Case cjCase 90 To 100 Print “優(yōu)秀”Case 75 To 89 Print “良好”Case 60 To 74 Print “及格” Case Else Print “不及格”End Select五、多條件選擇語

17、句Select Case:多分支結構格式:Select Case 測試表達式 Case 表達式1 語句組1 Case 表達式2 語句組2 Case 表達式n 語句組n Case Else語句組n+1 End Select改進:Select Case 測試表達式 復合語句 Case 表達式1:語句組1 Case 表達式2:語句組2 Case 表達式n:語句組n Case Else :語句組n+1 End Select1、測試表達式只能是數(shù)值型或字符型。2、測試表達式只計算一次,然后VB將表達式的值與結構中的每個Case的值進行比較,如果相等,就執(zhí)行與該Case相關聯(lián)的語句組。3、如果不止一個Ca

18、se與測試表達式相匹配,則只對第一個匹配的Case執(zhí)行與之相關聯(lián)的語句組。4、表達式n的可能形式:(1)表達式1,表達式2,表達式3 無大小順序。(2)表達式1 To 表達式2 包括表達式1和表達式2在內。(3)Is<關系運算符><表達式>只能是簡單的條件,不能用邏輯運算符將兩個或多個條件組合在一起。以上三種形式可以混合使用。六、條件判斷函數(shù)IIf:雙分支結構格式:IIf(條件,表達式1,表達式2)1、當條件為真時,函數(shù)返回值是表達式1的值;當條件為假時,函數(shù)返回值是表達式2的值。例:Print IIf(cj>=60,“通過”,“不通過”)2、IIf函數(shù)可以嵌套使

19、用。 例:Print IIf(a<0,-1,IIf(a=0,0,1)總結:1、行If語句:雙分支結構2、塊If語句:雙分支結構3、If語句的嵌套:多分支結構4、ElseIf語句:多分支結構5、多條件選擇語句Select Case:多分支結構6、條件判斷函數(shù)IIf:雙分支結構第三節(jié) 循環(huán)結構程序設計1、特點:根據(jù)給定條件是否滿足決定是否繼續(xù)執(zhí)行循環(huán)體中的操作。注:避免出現(xiàn)“死循環(huán)”。 當程序運行了“死循環(huán)”的結構,必須按Ctrl+Break中斷。2、三種循環(huán)結構:(1)ForNext (2)WhileWend (3)DoLoop3、循環(huán)方式:(1)計數(shù)法 (2)標志法一、For循環(huán)結構:格

20、式:For 循環(huán)變量=初值 To 終值 Step 步長 循環(huán)體 Next 循環(huán)變量1、缺省步長時,默認是1。步長可以為正值或為負值。2、先判斷條件,后執(zhí)行循環(huán)體。 注:若循環(huán)體執(zhí)行n次,則條件將被判斷n+1次。3、Exit For語句的作用:提前退出循環(huán)體,結束循環(huán)結構。4、空循環(huán)的作用:延時。5、For循環(huán)一般用在已知循環(huán)次數(shù)的情況。6、多重循環(huán):不能交叉嵌套,只能完全嵌套。各層次的循環(huán)變量名不能相同。7、多重循環(huán)可以共用一個Next語句,但此時循環(huán)變量名不能省略,并且先內循環(huán)變量,后外循環(huán)變量。例:For i=1 To 10 For j=1 To 15 For k=1 To 20 循環(huán)體

21、Next k Next j Next i二、當型循環(huán)WhileWend結構:格式:While 條件 循環(huán)體 Wend1、先判斷條件,后執(zhí)行循環(huán)體。注:若循環(huán)體執(zhí)行n次,則條件將被判斷n+1次。2、循環(huán)體內一定要有改變條件的語句,否則就會導致“死循環(huán)”。3、多重循環(huán):不能交叉嵌套,只能完全嵌套。例題4-11:求兩個數(shù)的最大公約數(shù)。(1)該程序算法:(2)Private Sub Text1_KeyPress( KeyAscii As Integer) If KeyAscii=13 Then Text2.SetFocusEnd Sub注:CommandButton的Default屬性默認是False

22、,該屬性設置為True時,說明該按鈕是缺省按鈕,按回車鍵就相當于單擊了該按鈕。兩者不能相互沖突。三、DoLoop循環(huán)結構:先判斷后執(zhí)行先執(zhí)行后判斷當型循環(huán)Do While 條件循環(huán)體Loop與WhileWend結構相同Do循環(huán)體Loop While 條件直到型循環(huán)Do Untill 條件循環(huán)體LoopDo循環(huán)體Loop Untill 條件1、既可以是當型循環(huán),也可以是直到型循環(huán)。2、While與Untill后面的“條件”總是相反的。3、既可以先判斷后執(zhí)行:若循環(huán)體執(zhí)行n次,則條件將被判斷n+1次。也可以先執(zhí)行后判斷: 若循環(huán)體執(zhí)行n次,則條件將被判斷n次。4、Exit Do語句的作用:提前退出

23、循環(huán)體,結束循環(huán)結構??偨Y:提前退出循環(huán)體的方法:(1)ForNext :用Exit For語句(2)WhileWend(3)DoLoop :用Exit Do語句Page 79:i=1 Do While i<=99 s=s+i If s>2000 Then Exit DoEnd If i=i+2 Loop例題4-10:方法一:用For循環(huán)結構For i=1 To 9 For j=1 To i Print Tab(j*8);j & "×" & i & "=" & j*i; Next j PrintNext i方法二:用WhileWend循環(huán)結構i=1While i<=9 j=1 While j<=i Print Tab(j*8);j & "×" & i & "=" & j*i; j=j+1 Wend Print i=i+1Wend方法三:用DoLoop循環(huán)結構i=1Do While i<=9 j=1 Do While j<=i Print Tab(j*8);j & "×" & i & &qu

溫馨提示

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

最新文檔

評論

0/150

提交評論