程序的基本結(jié)構(gòu)正式_第1頁
程序的基本結(jié)構(gòu)正式_第2頁
程序的基本結(jié)構(gòu)正式_第3頁
程序的基本結(jié)構(gòu)正式_第4頁
程序的基本結(jié)構(gòu)正式_第5頁
已閱讀5頁,還剩52頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、程序的基本結(jié)構(gòu)n任何正規(guī)的程序都可以分解為三種基任何正規(guī)的程序都可以分解為三種基本結(jié)構(gòu),即本結(jié)構(gòu),即順序結(jié)構(gòu)順序結(jié)構(gòu)選擇結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)n意義:牢固掌握這三種基本結(jié)構(gòu),是意義:牢固掌握這三種基本結(jié)構(gòu),是學(xué)習(xí)程序設(shè)計的基本要求,是編寫出學(xué)習(xí)程序設(shè)計的基本要求,是編寫出結(jié)構(gòu)清晰、易讀易懂的程序的前提。結(jié)構(gòu)清晰、易讀易懂的程序的前提。輸入數(shù)據(jù)的兩種方式1. 利用文本框輸入的方式如:r=val(text1.text)2. 利用彈出對話框的方式輸入如:R=Inputbox(“輸入圓的半徑”)輸出數(shù)據(jù)的兩種主要方式1. 利用改變對象屬性的方法 如: Text1.text=str(x*3.141

2、6*r) label1.caption=“春節(jié)快樂”2. 利用消息對話框的方法 如:Msgbox(“Hello”)順序結(jié)構(gòu)n實驗一:實驗一: 請同學(xué)們仔細觀看實驗操作,并總結(jié)解請同學(xué)們仔細觀看實驗操作,并總結(jié)解決問題的具體步驟。決問題的具體步驟。的具體操作步驟:的具體操作步驟:1、將、將1號瓶里的墨水倒入號瓶里的墨水倒入3號空瓶;號空瓶;2、將、將2號瓶里的水倒入號瓶里的水倒入1號瓶;號瓶;3、將、將3號瓶里的墨水倒入號瓶里的墨水倒入2號瓶。號瓶。順序結(jié)構(gòu)想一想:想一想:n在編程的過程中,如果讓你交換兩個在編程的過程中,如果讓你交換兩個變量的值,你要怎樣做?變量的值,你要怎樣做?練習(xí)練習(xí)1:n

3、請試著在你的練習(xí)本上寫出主要語句。請試著在你的練習(xí)本上寫出主要語句。程序運行練習(xí)練習(xí)2 2:【3333頁實踐(頁實踐(1 1)】n 請畫出相應(yīng)的流程圖,填寫在課本請畫出相應(yīng)的流程圖,填寫在課本33頁。頁。根據(jù)程序填寫根據(jù)程序填寫:Private Sub cmdChang_Click()Dim a As Single, b As Single, c As Singlea = InputBox(輸入a)b = InputBox(輸入b)Print 交換前:a = ;a,b = ; bc = aa = bb = cMsgBox 交換后a = & a & b = & b, vb

4、OKOnly, 交換結(jié)果End Sub 實踐任務(wù)二實踐任務(wù)二n題目:你知道自己已經(jīng)出生了多少天、多少小題目:你知道自己已經(jīng)出生了多少天、多少小時嗎?請編寫一段程序,輸入自己的出生日期,時嗎?請編寫一段程序,輸入自己的出生日期,輸出答案。輸出答案。Step1:分析問題:分析問題要求出生天數(shù)、出生小時數(shù)共需要幾個量?要求出生天數(shù)、出生小時數(shù)共需要幾個量?n兩個變量:分別表示出生日期和現(xiàn)在日期。兩個變量:分別表示出生日期和現(xiàn)在日期。( dtmBirthday dtmBirthday 、 dtmNowdate)dtmNowdate)實踐任務(wù)二Step2:分析程序執(zhí)行步驟,畫出流程圖:分析程序執(zhí)行步驟,

5、畫出流程圖開始開始結(jié)束結(jié)束輸入出生日期輸入出生日期輸出出生天數(shù)、出生小時數(shù)輸出出生天數(shù)、出生小時數(shù)計算出生天數(shù):當前日期計算出生天數(shù):當前日期 出生日期出生日期計算出生小時數(shù):出生天數(shù)計算出生小時數(shù):出生天數(shù)24+24+今天已經(jīng)過去的小時數(shù)今天已經(jīng)過去的小時數(shù)求出當前日期求出當前日期實踐任務(wù)二Step2:分析程序執(zhí)行步驟,畫出流程圖:分析程序執(zhí)行步驟,畫出流程圖執(zhí)行步驟:執(zhí)行步驟:1 1、輸入出生日期、輸入出生日期2 2、求出當前日期、求出當前日期3 3、出生天數(shù)、出生天數(shù)= =當前日期當前日期 - - 出生日期出生日期4 4、出生小時數(shù)、出生小時數(shù)= =出生天數(shù)出生天數(shù)24+24+今天已經(jīng)過

6、去的今天已經(jīng)過去的小時數(shù)小時數(shù)5 5、輸出出生天數(shù)、出生小時數(shù)、輸出出生天數(shù)、出生小時數(shù)實踐任務(wù)二Step3:設(shè)計界面:設(shè)計界面實踐任務(wù)二各對象及其屬性值各對象及其屬性值對象對象屬性屬性屬性值屬性值Label1Caption請輸入自己的出生日期:請輸入自己的出生日期:Label2Caption您已經(jīng)出生了您已經(jīng)出生了Label3Caption天天 共共Label4Caption小時小時Text1Text空空Text2Text空空Text3Text空空Command1Caption計算計算實踐任務(wù)二Step4:編寫代碼Private Sub Command1_Click() Dim dtmNow

7、date, dtmBirthday As Date dtmNowdate = Date dtmBirthday = CDate(text1.Text) text2.Text = dtmNowdate - dtmBirthday text3.Text = (dtmNowdate - dtmBirthday) * 24 + Hour(Time()End Sub實踐任務(wù)二Step5:調(diào)試運行:調(diào)試運行n選擇結(jié)構(gòu):選擇結(jié)構(gòu):根據(jù)不同的條件判斷來決定程序執(zhí)根據(jù)不同的條件判斷來決定程序執(zhí)行走向的結(jié)構(gòu),我們把它稱為選擇行走向的結(jié)構(gòu),我們把它稱為選擇結(jié)構(gòu)。結(jié)構(gòu)。選擇結(jié)構(gòu):IF語句語句單分支選擇結(jié)構(gòu):單分支選擇

8、結(jié)構(gòu):If 條件條件 Then語句或語句組語句或語句組 語句組是指多條語句的情況語句組是指多條語句的情況End If條件條件滿足滿足語句語句格式1 (單分支結(jié)構(gòu)) : IF Then 語句塊語句塊 End If例:有兩個數(shù)例:有兩個數(shù)x 和和y,比較它們的大小,若,比較它們的大小,若x小于小于y,則交換則交換x和和y 值,使得值,使得x大大于于y。Private sub form_click( ) x = inputbox (“請輸入請輸入x”) y = inputbox (“請輸入請輸入y”) If x y Then t = x x = y y = t End if print “x”; x

9、 , ”y”;yEnd sub 雙分支選擇結(jié)構(gòu):雙分支選擇結(jié)構(gòu):If 條件條件 Then語句或語句組語句或語句組1Else語句或語句組語句或語句組2End If條件條件滿足滿足語句或語句或語句組語句組1不滿足不滿足語句或語句或語句組語句組2實例:“神舟號”飛行狀況P35 中間黃色的方框格式2 (雙分支結(jié)構(gòu)) :IF Then Else End If例:輸出例:輸出x、y兩個數(shù)中值較大的一個。兩個數(shù)中值較大的一個。Private sub form_click( ) x = inputbox (“請輸入請輸入x”) y = inputbox (“請輸入請輸入y”) If x y Then prin

10、t x else print y end if End sub 練習(xí)題:練習(xí)題:1.分析下面一段VB程序,該程序運行后y的值是( )x = 3IF x 3 Then y = x * xElse y = 2 * xEnd if A. 2 B. 3 C. 9 D.62. 若整型變量a的值為2,b的值為3,則在下列程序段運行后整型變量c的值為( )If a 5 Then If b 3 Then c = a * b else c = a mod b End IfA. 2 B. -1 C. 1 D. 6求下列程序運行結(jié)果:nPrivate Sub Command1_click ( ) Dim m , n

11、 As Integer m = 10 If m = 8 then n = 6 * m Else n = 2 * m End if Print n = ; n; End sub 輸出:602. Private Sub Command1_click ( ) Dim a , b ,m As Integer a = 3 :b = 2 :c = 1 (在在VB中,將多個語句合在一行上的并行符是中,將多個語句合在一行上的并行符是 :) If a b then m = a Else m = b End if If c 2 then a = 10 Else If (10 / 2) = 6 Then a = 2

12、0 Else a = 30 End if End if Print a End sub 輸出:30多分支結(jié)構(gòu)多分支結(jié)構(gòu)If 條件條件1 Then語句或語句組語句或語句組1ElseIf 條件條件2 Then語句或語句組語句或語句組2ElseIf 條件條件n Then語句或語句組語句或語句組nElse語句或語句組語句或語句組n+1End If條件條件1滿足滿足語句或語句或語句組語句組1不滿足不滿足條件條件2滿足滿足語句或語句或語句組語句組2不滿足不滿足語句或語句或語句組語句組3條件條件3滿足滿足不滿足不滿足語句或語句或語句組語句組4?當有N個條件時我們將會面臨什么問題?nSelect Case語句

13、:語句:Select Case 表達式表達式Case 表達式列表表達式列表1語句組語句組1Case 表達式列表表達式列表2語句組語句組2Case Else語句組語句組nEnd Select實例:“神舟號”具體飛行狀況P36 下面黃色的方框解決方法討論交流n試比較什么情況下適合用試比較什么情況下適合用If語句,語句,什么情況下適合用什么情況下適合用Select Case語語句?句?3、 循環(huán)結(jié)構(gòu):循環(huán)結(jié)構(gòu):根據(jù)條件判斷其是否成立,如果條件成立則重復(fù)執(zhí)行循環(huán)體根據(jù)條件判斷其是否成立,如果條件成立則重復(fù)執(zhí)行循環(huán)體(循環(huán)結(jié)構(gòu)中某語句序列),直到條件不成立,退出循環(huán)結(jié)(循環(huán)結(jié)構(gòu)中某語句序列),直到條件不

14、成立,退出循環(huán)結(jié)構(gòu)為止。構(gòu)為止。循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)ForNext的語句格式為:的語句格式為:for 循環(huán)變量循環(huán)變量 = 初值初值 to 終值終值 step 步長值步長值 循環(huán)體循環(huán)體 next 循環(huán)變量循環(huán)變量注:當注:當“step 步長值步長值”為為1時,此項可省略。時,此項可省略。 循環(huán)結(jié)構(gòu):ForNext語句格式:語句格式:For 變量賦初值變量賦初值 To 終值終值 Step 步長步長關(guān)鍵語句關(guān)鍵語句Next變量變量變量變量=終值終值滿足滿足循環(huán)體循環(huán)體不滿足不滿足語句語句變量賦初值變量賦初值變量變量=變量變量+步長步長循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu) nFor 循環(huán)控制變量循環(huán)控制變量 = 初值初值

15、 to 終值終值 step 步長步長值值 (說明:當步長值為1時可省略step 1即 For 循環(huán)控制變量 = 初值 to 終值)n 循環(huán)語句組循環(huán)語句組nNext 循環(huán)控制變量循環(huán)控制變量意義說明:通過循環(huán)控制變量的初值到終值,以步長值為增進幅度(負數(shù)時為減少幅度),控制循環(huán)語句組重復(fù)執(zhí)行的次數(shù)。當循環(huán)控制變量的增進值大于終值時結(jié)束循環(huán)(步長為負數(shù)時,減少值小于終值時結(jié)束循環(huán)) s=0如:for i=1 to 10 step 2 s=s+iNext iDo WhileLoop語句格式:語句格式:Do While 條件條件循環(huán)體循環(huán)體Loop條件條件滿足滿足循環(huán)體循環(huán)體不滿足不滿足語句語句語句

16、語句Do WhileLoop語句格式:語句格式:n如:n i=1nDo while i=10n s=s+ini=i*2nloop討論交流n試比較什么情況下適合用試比較什么情況下適合用ForNext語句語句,什么情況下適合,什么情況下適合用用Do WhileLoop語句語句?“希望工程希望工程”:假設(shè)你從今年開始,第一個月假設(shè)你從今年開始,第一個月為為“希望工程希望工程”存入存入1元錢,第二個月存入元錢,第二個月存入2元元錢,第三個月存入錢,第三個月存入3元錢元錢以此類推,兩年以此類推,兩年時間你將為時間你將為“希望工程希望工程”存入多少錢?存入多少錢?把剛才的把剛才的ForNext程序段程序段

17、改寫成改寫成Do WhileLoop程序:程序:Dim n As Integer, intSum As IntegerintSum=0n=1Do While n=24 intSum=intSum+n n=n+1LooplblSum.Caption=“兩年共存入:兩年共存入:”& intSum & “元元”1. 完善程序。 編程計算編程計算1+4+7+10+ +100 的值。的值。 Dim s,i As Integer s=0 For i=_ To _ s=s+i Next i Print s 2. 完善程序。 編程計算編程計算1+4+7+10+ +100 的值。的值。 Dim

18、s,i As Integer s=0 i=1 Do While _ s= s+i i=_ Loop Print s 1100 step 3i=100i+3三、課堂鞏固:三、課堂鞏固:1、完善程序計算、完善程序計算1+3+5+7+99的值,并寫出結(jié)果。的值,并寫出結(jié)果。 private sub command1_click() Dim i , s As integer s=0 For i=1 to s=s+(2*i-1) print “s=“;s End Sub50NextS=2500三、課堂鞏固:三、課堂鞏固:2、閱讀程序回答問題:、閱讀程序回答問題: x=3:y=64 Do While xs

19、qr(y) x=x+2 Loop 語句語句x=x+2執(zhí)行的次數(shù)是:執(zhí)行的次數(shù)是:3結(jié)束結(jié)束程序的三種結(jié)構(gòu)n順序結(jié)構(gòu)n選擇結(jié)構(gòu)n循環(huán)結(jié)構(gòu)順序結(jié)構(gòu)的主要的三種語句形態(tài)n賦值語句n輸入(函數(shù))n輸出(過程)輸入數(shù)據(jù)的兩種方式1. 利用文本框輸入的方式如:r=val(text1.text)2. 利用彈出對話框的方式輸入如:R=Inputbox(“輸入圓的半徑”)輸出數(shù)據(jù)的兩種主要方式1. 利用改變對象屬性的方法 如: Text1.text=str(x*3.1416*r) label1.caption=“春節(jié)快樂”2. 利用消息對話框的方法 如:Msgbox(“Hello”)格式1 (單分支結(jié)構(gòu)) :

20、IF Then 語句塊語句塊 End If例:有兩個數(shù)例:有兩個數(shù)x 和和y,比較它們的大小,若,比較它們的大小,若x小于小于y,則交換則交換x和和y 值,使得值,使得x大大于于y。Private sub form_click( ) x = inputbox (“請輸入請輸入x”) y = inputbox (“請輸入請輸入y”) If x y Then t = x x = y y = t End if print “x”; x , ”y”;yEnd sub 格式2 (雙分支結(jié)構(gòu)) :IF Then Else End If例:輸出例:輸出x、y兩個數(shù)中值較大的一個。兩個數(shù)中值較大的一個。Pri

21、vate sub form_click( ) x = inputbox (“請輸入請輸入x”) y = inputbox (“請輸入請輸入y”) If x y Then print x else print y end if End sub 練習(xí)題:練習(xí)題:1.分析下面一段VB程序,該程序運行后y的值是( )x = 3IF x 3 Then y = x * xElse y = 2 * xEnd if A. 2 B. 3 C. 9 D.62. 若整形變量a的值為2,b的值為3,則在下列程序段運行后整形變量c的值為( )If a 5 Then If b 3 Then c = a * b else

22、c = a mod b End IfA. 2 B. -1 C. 1 D. 6求下列程序運行結(jié)果:nPrivate Sub Command1_click ( ) Dim m , n As Integer m = 10 If m = 8 then n = 6 * m Else n = 2 * m End if Print “n = ” ; n End sub 輸出:2. Private Sub Command1_click ( ) Dim a , b ,m As Integer a = 3 :b = 2 :c = 1 (在在VB中,將多個語句合在一行上的并行符是中,將多個語句合在一行上的并行符是

23、:) If a b then m = a Else m = b End if If c 2 then a = 10 Else If (10 / 2) = 6 Then a = 20 Else a = 30 End if End if Print a End sub 輸出:30格式格式3 (雙分支結(jié)構(gòu)雙分支結(jié)構(gòu)) :IF 條件條件1 Then 語句塊語句塊1 Else If 條件條件2 Then 語句塊語句塊2 Else 語句塊語句塊 n+1 End If 程序運行到程序運行到Else If 語句時,依次判斷條件,如果找到一個滿足的條件,則執(zhí)行語句時,依次判斷條件,如果找到一個滿足的條件,則執(zhí)行

24、它下面的語句塊,然后跳到它下面的語句塊,然后跳到End If,執(zhí)行后面的程序。如果列出的條件都不滿足,執(zhí)行后面的程序。如果列出的條件都不滿足,則執(zhí)行則執(zhí)行Else 語句后面的語句塊;如果列出的條件都不滿足,又沒有語句后面的語句塊;如果列出的條件都不滿足,又沒有Else 子句,子句,則直接跳過則直接跳過End If ,不執(zhí)行任何語句塊。不執(zhí)行任何語句塊。例題分析:輸入一學(xué)生的成績,評定其等級。方法是: 90100分為“優(yōu)秀”,8090分為“良好”,7079分為“中等”,6069分為“及格”,60分以下為“不及格”。Private Sub Form _ click ( ) Dim x as single x = inputbox(“請輸入要評估的成績”) If x = 90 Then Print “優(yōu)秀” Else If x = 80 T

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論