




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
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算法的概況是算法:廣義上,算法是完成一個(gè)任務(wù)應(yīng)遵循的一步一步的規(guī)則狹義上,算法是解決問題的方法和步驟的描述。 下面用兩個(gè)簡(jiǎn)單的例子來說明
2、:例6.1輸入三個(gè)個(gè)數(shù),輸出其中最大的數(shù)量。 依次輸入變量a、b、c的3個(gè)個(gè)數(shù),將最大數(shù)量保存在變量MAX中。 其算法如下:a,3,例6.2輸入10個(gè),其中打印輸出最大的數(shù)量。 算法的設(shè)計(jì)方法是(1)輸入一個(gè)個(gè)數(shù),存儲(chǔ)在變量a上,并將1代入變量n,即,N=1 (2)將a存儲(chǔ)在表示最大值的變量Max上,即,在Max=A (3)輸入另一個(gè)值,如果是AMax,則Max=A,如果是不將記錄數(shù)據(jù)個(gè)數(shù)的變量增加1,即判斷N=N 1 (5是否小于10 ),如果成立則轉(zhuǎn)移到步驟(3),否則轉(zhuǎn)移到步驟(6)。 (6)打印輸出max,1 )輸入a、b、c。 2 )把a(bǔ)和b中較大的一個(gè)放入MAX中。 3 )把c和M
3、AX中較大的放入MAX中。 4 )輸出max,max成為最大數(shù)量。a、4、4、4,6.1.2算法的特性,有貧困性確定性的0個(gè)以上的輸入有一個(gè)以上的輸出有效性,a、5、5、5,6.1.3算法的表示,自然語言和偽代碼代表算法自然語言:指人們?nèi)粘J褂玫恼Z言偽代碼:用自然語言和計(jì)算機(jī)語言之間的文本和符號(hào)(包括數(shù)學(xué)符號(hào))描述算法。例如,例6.1在Begin (算法開始)輸入a、b、C IF AB的情況下,AMax的情況下,BMax IF CMax的情況下,AMax打印max end (算法結(jié)束),a,6,2,用以往的流程圖表示算法,等流線連接點(diǎn),1,傳統(tǒng)流程圖中的基本符號(hào),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這三個(gè)基本結(jié)構(gòu)的特征:(1)只有一個(gè)入口,(2)只有一個(gè)出口,(3)不存在死語句,(4)不存在死循環(huán),例如: 6.2輸入從a,10,10,10個(gè)中選擇最大數(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個(gè)中選擇最大數(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ì)的輔助工具,程序必須遵循計(jì)算機(jī)語言的語法規(guī)則。 例6.2的計(jì)算機(jī)程序用計(jì)算機(jī)語言表示
6、算法:a,15,6.1.5結(jié)構(gòu)化程序的設(shè)計(jì)方法(補(bǔ)充),(1)用計(jì)算機(jī)解決問題的過程,a, 16、(2)結(jié)構(gòu)化程序的設(shè)計(jì)思想由上而下,逐步細(xì)分,模塊化由上而下:首先是全局,從整體設(shè)計(jì)細(xì)分:將一個(gè)問題分解為幾個(gè)小問題解決模塊:將一個(gè)大任務(wù)分解為幾個(gè)小部分被稱為“功能模塊”,例如:以100個(gè)整數(shù)打印輸出其中的像素?cái)?shù),a,17,S1,n-s流程圖,S3,S2,a,18,S1,n-s流程圖,S3 S2,S21,a,19,被細(xì)分的流程6.2.1代入語句形式:變量名稱=式對(duì)象.屬性=式功能:將式的值代入變量名稱或指定對(duì)象的屬性。 通常用于為變量指派值,或?yàn)榭丶O(shè)置屬性值。 sRate!=0.1text1.
7、 text=歡迎使用visual basic6.0說明:1.執(zhí)行步驟:求出表達(dá)式的值,然后為左邊的變量指派值。 2 .右表達(dá)式可以是特殊表達(dá)式,如變量、常量和函數(shù)調(diào)用。 3 .不要把“=”理解為數(shù)學(xué)等號(hào)。 A=A 1表示將a單元格的值加1,返回a單元格。a,21,執(zhí)行過程如右圖,4 .代入符號(hào)“=”所示,左邊只是變量名稱或?qū)ο蟮膶傩詤⒄?,不是常?shù),符號(hào)常數(shù),公式。 以下賦值語句都錯(cuò)了。 5=X的左側(cè)是常數(shù)。 Abs(X)=20的左邊是函數(shù)調(diào)用,即公式。 5 .代入符號(hào)“=”兩側(cè)的數(shù)據(jù)類型一般必須一致。 具體規(guī)則(p7 )、a,22,6.2.2注釋語句的語法是Rem或說明:1.包含的注釋文本。
8、在Rem關(guān)鍵字和注釋內(nèi)容之間加空格。 Rem關(guān)鍵字可以替換為英語單引號(hào)“”。 2 .如果在其他語句行之后使用rem關(guān)鍵字,則必須用冒號(hào)(:)分隔語句。 如果使用英語單引號(hào)“”,則不需要在其他語句的行后面加上冒號(hào)(:)例如,當(dāng)計(jì)算Const PI=3.1415925符號(hào)常數(shù)PI S=PI*r*r : Rem日元的面積時(shí),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á)式的集合(以逗號(hào)分隔) 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ì)算機(jī)設(shè)計(jì)VB應(yīng)用程序成為小學(xué)低年級(jí)學(xué)生算術(shù)教師,要求一系列110數(shù)四則運(yùn)算的算術(shù)問題,學(xué)生輸入這個(gè)問題的答案,計(jì)算機(jī)根據(jù)學(xué)生的答案判
11、斷是否正確,算出成績(jī),點(diǎn)擊結(jié)束命令按鈕,然后分析:產(chǎn)生了1到10個(gè)操作數(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 注意:如果嵌套在一個(gè)分支內(nèi),則不出現(xiàn)交叉,滿足結(jié)構(gòu)規(guī)則,其嵌套形式有
12、很多,嵌套層次也可以是任意的。 在多級(jí)IF嵌套結(jié)構(gòu)中,Else必須與IF結(jié)合,以特別注意IF和Else的配對(duì)關(guān)系。 配對(duì)原則建議您在編寫包含多級(jí)嵌套的程序時(shí)使用縮進(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編程計(jì)算: S=1 2 3 100,Dim S%, I% S=0累計(jì)前變量s為0 for
13、 I=1to 100 s=si next I打印 s=,s,n 為素?cái)?shù) else打印n; “不是素?cái)?shù)”的End If,a,57,驗(yàn)證哥巴赫預(yù)想: 1個(gè)在6以上的偶數(shù)可以表示為2個(gè)素?cái)?shù)之和。 例如,6=33.8=3.5. 10=37,算法設(shè)計(jì): n被設(shè)定為6或更大的任意數(shù),將此分割為n-1和n-2的兩個(gè)個(gè)數(shù),使用N1 N2=N來判斷n-1和n-2是否為素?cái)?shù),如果是,則設(shè)定為一組解。 如果N1不是素?cái)?shù),則不需要檢查N2是否是素?cái)?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是素?cái)?shù)IFN1modi=0netextiofforenextifik1thenn 1是素?cái)?shù),n是n1n2n2=n-n1 k2=int (sqr (N2 ) ) fori=2 判定n2是否是素?cái)?shù)ifn2modi=0then的printn = n1 N2 endifendifnextn1end sub,a,59,6.6.2字符串處理,對(duì)例6.12文本框中的英語單詞數(shù)進(jìn)行統(tǒng)計(jì)。 算法設(shè)計(jì)(1)從文本(字符串)的左邊取出字符的邏輯量WT表示接受的字符是否是單
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 內(nèi)外架合同范例
- 化肥合作合同范例
- 專項(xiàng)經(jīng)理聘用合同范本
- 農(nóng)業(yè)購貨合同范本
- 化工產(chǎn)品購銷服務(wù)合同范本
- 醫(yī)院購銷合同范本
- 出口布料銷售合同范例
- 養(yǎng)殖水車出租合同范例
- 農(nóng)村田租合同范本
- cpc廣告合同范本
- 校園超市經(jīng)營投標(biāo)方案(技術(shù)方案)
- 康復(fù)醫(yī)院建筑設(shè)計(jì)標(biāo)準(zhǔn)
- 家具拆裝合同
- 社會(huì)穩(wěn)定風(fēng)險(xiǎn)評(píng)估 投標(biāo)方案(技術(shù)方案)
- 高層建筑火災(zāi)撲救面臨問題及對(duì)策
- JTT791-2010 公路涵洞通道用波紋鋼管(板)
- JC-T 738-2004水泥強(qiáng)度快速檢驗(yàn)方法
- 山東省春季高考技能考試-汽車專業(yè)必刷必練題庫(600題)
- 人教鄂教版小學(xué)科學(xué)四年級(jí)下冊(cè)全冊(cè)教案
- 2024年黑龍江農(nóng)墾科技職業(yè)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- THHPA 001-2024 盆底康復(fù)管理質(zhì)量評(píng)價(jià)指標(biāo)體系
評(píng)論
0/150
提交評(píng)論