vb基本程序結(jié)構(gòu).ppt_第1頁
vb基本程序結(jié)構(gòu).ppt_第2頁
vb基本程序結(jié)構(gòu).ppt_第3頁
vb基本程序結(jié)構(gòu).ppt_第4頁
vb基本程序結(jié)構(gòu).ppt_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、a,1,第6章基本程序結(jié)構(gòu),本章內(nèi)容和要求:1.理解算法的概念和算法的表現(xiàn),用n-s流程序表現(xiàn)算法2 .熟練掌握代入句、End句和注釋句等句和輸入輸出消息框函數(shù)的使用3 .熟練的行if句使用Select Case狀況選擇結(jié)構(gòu),掌握所選擇的嵌套結(jié)構(gòu)4 .學(xué)習(xí)For/Next環(huán)路結(jié)構(gòu)和Exit For語句、Do/Loop環(huán)路結(jié)構(gòu)的使用,掌握多環(huán)路。 重點(diǎn):選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)的實(shí)現(xiàn)及其應(yīng)用,難點(diǎn):選擇的嵌套和多重循環(huán)結(jié)構(gòu)、a、2、6.1算法和算法的表現(xiàn),6. 1.1算法的概況是算法:廣義上,算法是完成一個任務(wù)應(yīng)遵循的一步一步的規(guī)則狹義上,算法是解決問題的方法和步驟的描述。 下面用兩個簡單的例子來說明

2、:例6.1輸入三個個數(shù),輸出其中最大的數(shù)量。 依次輸入變量a、b、c的3個個數(shù),將最大數(shù)量保存在變量MAX中。 其算法如下:a,3,例6.2輸入10個,其中打印輸出最大的數(shù)量。 算法的設(shè)計方法是(1)輸入一個個數(shù),存儲在變量a上,并將1代入變量n,即,N=1 (2)將a存儲在表示最大值的變量Max上,即,在Max=A (3)輸入另一個值,如果是AMax,則Max=A,如果是不將記錄數(shù)據(jù)個數(shù)的變量增加1,即判斷N=N 1 (5是否小于10 ),如果成立則轉(zhuǎn)移到步驟(3),否則轉(zhuǎn)移到步驟(6)。 (6)打印輸出max,1 )輸入a、b、c。 2 )把a(bǔ)和b中較大的一個放入MAX中。 3 )把c和M

3、AX中較大的放入MAX中。 4 )輸出max,max成為最大數(shù)量。a、4、4、4,6.1.2算法的特性,有貧困性確定性的0個以上的輸入有一個以上的輸出有效性,a、5、5、5,6.1.3算法的表示,自然語言和偽代碼代表算法自然語言:指人們?nèi)粘J褂玫恼Z言偽代碼:用自然語言和計算機(jī)語言之間的文本和符號(包括數(shù)學(xué)符號)描述算法。例如,例6.1在Begin (算法開始)輸入a、b、C IF AB的情況下,AMax的情況下,BMax IF CMax的情況下,AMax打印max end (算法結(jié)束),a,6,2,用以往的流程圖表示算法,等流線連接點(diǎn),1,傳統(tǒng)流程圖中的基本符號,a、7、2,三種基本結(jié)構(gòu)的傳統(tǒng)

4、表現(xiàn)為(1)順序結(jié)構(gòu),條件,文1,文2,、y、文1,文2,(2)選擇結(jié)構(gòu),a,8,條件, 條件,(3)循環(huán)結(jié)構(gòu)a )該循環(huán),b )循環(huán),y,n,y,n,(b ),語句群,a,9這三個基本結(jié)構(gòu)的特征:(1)只有一個入口,(2)只有一個出口,(3)不存在死語句,(4)不存在死循環(huán),例如: 6.2輸入從a,10,10,10個中選擇最大數(shù)量的流程圖,NMax,Max=A,輸入a,開始,N=N 1,打印Max,結(jié)束,y,n,n,y,a,11,6.1.4是在n-s流程圖中的算法可以在矩形內(nèi)包含其他從屬框,基本結(jié)構(gòu)的n-s圖,語句a,語句b,條件,y,n,1,順序結(jié)構(gòu),2,選擇結(jié)構(gòu),a,12,語句組,(3)

5、循環(huán)結(jié)構(gòu),a )相應(yīng)的循環(huán),b )循環(huán),條件成立例如,從10個中選擇最大數(shù)量,畫出n-s流程圖,a,13,以往的流程圖,NMax,Max=A,輸入a,開始,N=N 1,打印Max,結(jié)束,y,n,y,輸入a,N=Max,n 私有子表格_ click () dim a %,max%,I % max=a fori=1to 10a=val ( a=? ) ) ifmaxthenmax=nextprintmax=; max End Sub,最后需要說明的是,上面介紹的算法是給人看的,是為幫助程序開發(fā)人員閱讀和寫程序而設(shè)計的輔助工具,程序必須遵循計算機(jī)語言的語法規(guī)則。 例6.2的計算機(jī)程序用計算機(jī)語言表示

6、算法:a,15,6.1.5結(jié)構(gòu)化程序的設(shè)計方法(補(bǔ)充),(1)用計算機(jī)解決問題的過程,a, 16、(2)結(jié)構(gòu)化程序的設(shè)計思想由上而下,逐步細(xì)分,模塊化由上而下:首先是全局,從整體設(shè)計細(xì)分:將一個問題分解為幾個小問題解決模塊:將一個大任務(wù)分解為幾個小部分被稱為“功能模塊”,例如:以100個整數(shù)打印輸出其中的像素數(shù),a,17,S1,n-s流程圖,S3,S2,a,18,S1,n-s流程圖,S3 S2,S21,a,19,被細(xì)分的流程6.2.1代入語句形式:變量名稱=式對象.屬性=式功能:將式的值代入變量名稱或指定對象的屬性。 通常用于為變量指派值,或?yàn)榭丶O(shè)置屬性值。 sRate!=0.1text1.

7、 text=歡迎使用visual basic6.0說明:1.執(zhí)行步驟:求出表達(dá)式的值,然后為左邊的變量指派值。 2 .右表達(dá)式可以是特殊表達(dá)式,如變量、常量和函數(shù)調(diào)用。 3 .不要把“=”理解為數(shù)學(xué)等號。 A=A 1表示將a單元格的值加1,返回a單元格。a,21,執(zhí)行過程如右圖,4 .代入符號“=”所示,左邊只是變量名稱或?qū)ο蟮膶傩詤⒄?,不是常?shù),符號常數(shù),公式。 以下賦值語句都錯了。 5=X的左側(cè)是常數(shù)。 Abs(X)=20的左邊是函數(shù)調(diào)用,即公式。 5 .代入符號“=”兩側(cè)的數(shù)據(jù)類型一般必須一致。 具體規(guī)則(p7 )、a,22,6.2.2注釋語句的語法是Rem或說明:1.包含的注釋文本。

8、在Rem關(guān)鍵字和注釋內(nèi)容之間加空格。 Rem關(guān)鍵字可以替換為英語單引號“”。 2 .如果在其他語句行之后使用rem關(guān)鍵字,則必須用冒號(:)分隔語句。 如果使用英語單引號“”,則不需要在其他語句的行后面加上冒號(:)例如,當(dāng)計算Const PI=3.1415925符號常數(shù)PI S=PI*r*r : Rem日元的面積時,a,23,6.3構(gòu)造體1. IfThen語句(單分支構(gòu)造體) If Then語句塊End If或If Then,例:是已知的雙重分支選擇結(jié)構(gòu)執(zhí)行過程,使得比較它們的大小的x大于y.ifxythen打印xelseprinty,a,25,3.ifthenelse if語句(多分支結(jié)構(gòu)

9、)形式: If Then Else If Then Else 方法是90100為“優(yōu)秀”,8089為“良好”,7079為“中等”,6069為“合格”,60為“不合格”,執(zhí)行過程,a, 使用26 IF語句實(shí)現(xiàn)的程序是ifx=90 then打印優(yōu)秀else ifx=80 then打印良好else ifx=70 then打印中等else ifx=60 then打印合格else打印a 27 6.3.2 Select Case語句(條件分支)格式: Select Case變量或表達(dá)式列表1語句塊1 Case表達(dá)式列表2語句塊2 Case Else語句塊n 1 End Select :相同類型的以下四種形

10、式之一:表達(dá)式A 5的枚舉表達(dá)式的集合(以逗號分隔) 2,4,6,8表達(dá)式1 To表達(dá)式2 60 to 100 Is關(guān)系運(yùn)算符表達(dá)式Is 60,數(shù)值類型或字符串表達(dá)式,a, 使用select case .語句實(shí)現(xiàn)28例6.3的程序, selectcasexcase 90 to 100打印“case 80 to 89打印”良好“case 70 to 79打印”中等“case 60 to 69打印”合格“ase else打印”不合格“結(jié)束選擇,a,29, 補(bǔ)充例題:計算機(jī)設(shè)計VB應(yīng)用程序成為小學(xué)低年級學(xué)生算術(shù)教師,要求一系列110數(shù)四則運(yùn)算的算術(shù)問題,學(xué)生輸入這個問題的答案,計算機(jī)根據(jù)學(xué)生的答案判

11、斷是否正確,算出成績,點(diǎn)擊結(jié)束命令按鈕,然后分析:產(chǎn)生了1到10個操作數(shù),可以通過Int(10* Rnd 1)實(shí)現(xiàn)。a,30,6.3.3可以在選擇結(jié)構(gòu)的IF語句的Then分支和Else分支中完全嵌套其他IF或Select Case語句,同樣可以在Select Case語句的各Case分支中嵌套其他IF或Select Case語句。 有兩種正確的嵌套形式: if thenif thenelseelseelseendif (2) if thenselect casecaseelseendifcaseend selectendif 注意:如果嵌套在一個分支內(nèi),則不出現(xiàn)交叉,滿足結(jié)構(gòu)規(guī)則,其嵌套形式有

12、很多,嵌套層次也可以是任意的。 在多級IF嵌套結(jié)構(gòu)中,Else必須與IF結(jié)合,以特別注意IF和Else的配對關(guān)系。 配對原則建議您在編寫包含多級嵌套的程序時使用縮進(jìn)來保持易讀性。的。a,32,6.4循環(huán)結(jié)構(gòu)1. For循環(huán)語句(一般循環(huán)次數(shù)已知)形式For循環(huán)變量=初始值to結(jié)束值 step step 語句塊Exit For語句塊Next循環(huán)變量,a,33,循環(huán)次數(shù), 例: for I=2to 13 step 3打印I next I打印“I=,I,循環(huán)執(zhí)行次數(shù)輸出I的值分別為: I=14,a,34,例6.5編程計算: S=1 2 3 100,Dim S%, I% S=0累計前變量s為0 for

13、 I=1to 100 s=si next I打印 s=,s,n 為素數(shù) else打印n; “不是素數(shù)”的End If,a,57,驗(yàn)證哥巴赫預(yù)想: 1個在6以上的偶數(shù)可以表示為2個素數(shù)之和。 例如,6=33.8=3.5. 10=37,算法設(shè)計: n被設(shè)定為6或更大的任意數(shù),將此分割為n-1和n-2的兩個個數(shù),使用N1 N2=N來判斷n-1和n-2是否為素數(shù),如果是,則設(shè)定為一組解。 如果N1不是素數(shù),則不需要檢查N2是否是素數(shù)。 首先從N1=3到N1=N/2。 算法的流程圖如圖4圖29所示。將程序代碼寫入表單的點(diǎn)擊事件。 實(shí)現(xiàn)上述算法的程序代碼為a,58,私有子表單() dim n %,N1%,

14、N2%,I%,K1%,k2 % n=val (輸入大于“6”的偶數(shù)) for n1=3ton 2 step 2k1=int (sqr (n1 ) ) fori=2to k1,其中n1是素數(shù)IFN1modi=0netextiofforenextifik1thenn 1是素數(shù),n是n1n2n2=n-n1 k2=int (sqr (N2 ) ) fori=2 判定n2是否是素數(shù)ifn2modi=0then的printn = n1 N2 endifendifnextn1end sub,a,59,6.6.2字符串處理,對例6.12文本框中的英語單詞數(shù)進(jìn)行統(tǒng)計。 算法設(shè)計(1)從文本(字符串)的左邊取出字符的邏輯量WT表示接受的字符是否是單

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論