高中算法與算法的描述_第1頁
高中算法與算法的描述_第2頁
高中算法與算法的描述_第3頁
高中算法與算法的描述_第4頁
高中算法與算法的描述_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

.例1:求圓的周長和面積inputrc=2*π*rs=π*r*rprintc,s練習(xí):求三個數(shù)中的最大數(shù)?!灿脗未a描述4.程序與程序語言〔1程序的定義:程序?qū)嶋H上是一組及其操作的指令或語句的序列,是算法的一種描述〔2程序的基本特征:程序一共有七個基本特征1、程序中,每一個算法的步驟對應(yīng)著程序設(shè)計語言的一個或多個語句,每個語句對應(yīng)一個或者多個操作。每個操作都要求有執(zhí)行對象,并且根據(jù)對象狀態(tài)變化形成動作的效果,同事可變的對象用變量來表示,變量的值的變化則可通過操作賦值來完成。2、除非特殊索命程序都是從第一條語句開始順序開始向下執(zhí)行。3、程序總是施行與操作與某些對象,這些對象通常稱為數(shù)據(jù)。4、這些數(shù)據(jù)一般應(yīng)該有屬性和取值范圍,即類型說明。5、有時語句要求執(zhí)行者作出判斷,即在某種條件成立情況下執(zhí)行一條或一組語句,否則執(zhí)行另一條或一組語句。6、一條或一組語句可能需要執(zhí)行一次以上,當(dāng)一條或一組語句要重復(fù)時,必須指明重復(fù)的次數(shù)或重復(fù)的條件。7、程序本身是一個靜態(tài)的實體,而執(zhí)行語句的進程是動態(tài)的?!?程序的基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)?!?程序設(shè)計語言的的產(chǎn)生和發(fā)展1、機器語言:二進制代碼指令2、匯編語言:類似英語縮略詞且?guī)в兄浶苑柕恼Z言,每條匯編指令和一條機器指令相對應(yīng),只是指令碼和操作數(shù)都采用符號形式。而這種語言是不能被機器直接接受,必須用一種語言翻譯器將程序中的每條語句翻譯成機器語言才能執(zhí)行。3、高級語言:高級語言本身不是一種語言,只是一類語言的分類。用高級語言編寫的程序必須經(jīng)過翻譯器將其翻譯成機器語言,才能在計算機上執(zhí)行。常見的高級語言:C語言、C++、pascal、java、C#、VB、Basic〔5程序的編輯和翻譯1、程序的編輯:以匯編語言或者高級語言所編寫的程序被稱為"源代碼",這些代碼需要我們逐一的輸入到計算機中。并把他們以文件的形式保存起來,這個過程稱為程序的編輯2、程序的翻譯:前面的學(xué)習(xí)中使我們知道,計算機只能識別和執(zhí)行二進制的機器語言代碼,而我們用級語言或匯編語言編寫的程序要想被計算機執(zhí)行,必須翻譯成機器語言程序,最終才能被計算機執(zhí)行。高級語言的翻譯程序一般則有兩種類型:編譯程序和解釋程序。練習(xí)題:1下面對算法描述正確的一項是:〔A、算法只能用自然語言來描述B、算法只能用圖形方式來表示C、同一問題可以有不同的算法D、同一問題的算法不同,結(jié)果必然不同2.下面關(guān)于算法描述正確的是〔<A>算法不可以用自然語言表示<B>算法只能用框圖來表示<C>一個算法必須保證它的執(zhí)行步驟是有限的<D>算法的框圖表示法有0個或多個輸入,但只能有一個輸出3、圖形符號""在算法流程圖描述中表示<>.A處理或運算的功能B輸入輸出操作C用來判斷條件是否滿足需求D算法的開始或結(jié)束4、以下哪個是算法的描述方法?<>A流程圖描述法B枚舉法C順序法D列表法5、下面的語句是一個計算機程序的操作說明:〔1初始值為x=1,y=1,z=0,n=0;〔2n=n+1〔將當(dāng)前n+1的值賦予新的n;〔3x=x+2〔將當(dāng)前x+2的值賦予新的x;〔4y=2y〔將當(dāng)前2y的值賦予新的y;〔5z=z+xy〔將當(dāng)前z+xy的值賦予新的z;〔6如果z>7,則執(zhí)行語句〔7,否則返回語句〔2繼續(xù)進行;〔7打印n,z;〔8程序終止.由語句〔7打印出的數(shù)值為______,_______.6、以下屬于計算機程序語言的有〔A、匯編語言B、高級語言C、機器語言D、低級語言7、執(zhí)行程序時,程序中的每一條語句至少要運行一次〔8、最早的程序設(shè)計語言是匯編語言〔9、程序設(shè)計語言是指人們編制程序所使用的計算機語言,VB是低級語言〔10、高級語言翻譯程序有兩種類型:解釋程序和編譯程序〔第二章程序設(shè)計基礎(chǔ)第一節(jié)常量、變量的定義VB程序的一般包括如下部分:〔1數(shù)據(jù)類型說明部分〔2數(shù)據(jù)的輸入部分〔3數(shù)據(jù)的處理部分〔4數(shù)據(jù)的輸出部分例:求圓的周長和面積PrivateSubCommand1_Click<>DimrAsSingle//定義r為單精度型DimcAsSingle//'定義c為單精度型DimsAsSingle//定義s為單精度型r=inputbox<"輸入半徑r">//輸入半徑rc=2*3.14159*r//計算周長s=3.14159*r*r//計算面積printc//輸出周長prints//輸出面積EndSub一、常量:在程序進行過程中不變的量,在VB中一般分數(shù)值常量與字符常量兩種。數(shù)值常量:就是數(shù)學(xué)中說的常數(shù),分整型常量和實型常量兩種整型常量:即整數(shù),指不帶小數(shù)點的數(shù)值如1、0、-10、+35等都是合法的整數(shù)實型常量:即實數(shù),指帶小數(shù)點的數(shù)值。實型常量又分為定點數(shù)和浮點數(shù)兩種。例:定點數(shù):3.14159和-6.8,1.99浮點數(shù):2E6、1E5例:1.2345×103可表示為1.2345E3,字母E表示底數(shù)10浮點數(shù)就是數(shù)學(xué)上的科學(xué)計數(shù)法。字符串常量:被一對雙引號括起來的若干個合法的字符稱為字符串常量。例如:"China"、"VisualBasic"、"18”、"3.1415符號常量:如果多次用到同一個常量,則可用一個有意義的名字表示這個常量。二、變量:在程序執(zhí)行過程中,其值可以改變的量稱為變量變量命名注意要點:1、必須以字母開頭,不能以數(shù)字或其他字符開頭。2、只能由字母、漢字、數(shù)字學(xué)或下劃線組成,不能含有小數(shù)點、空格等字符。3、最長不超過255個字符4、不能以VB保留字作變量名,如語句定義符、函數(shù)名等。5、VB不區(qū)分變量名中字母大小寫。如HELLO和Hello是同一個變量。表2-1常用數(shù)據(jù)類型整型Integer從-32768到32767長整型Long從-2147483648到2147483647單精度實型Single負數(shù)-3.402823E+38到-1.401298E-45正數(shù)1.40129E-45到3.402823E38但它只有7位有效數(shù)字雙精度實型Double絕對值小于10308的數(shù),它有15位有效數(shù)字日期型Date<Time>如:#2008-01-31##01/31/2008#字符型String如:"中國","zhongguo"布爾型BooleanTrue或False三、常量和變量的定義符號常量的聲明:Const常量名[As常量類型]=常量值如:ConstpiAsSingle=3.14159常量名為pi變量的聲明:Dim<變量名>As<變量類型>如:DimaAsInteger定義一個整型變量,變量名為a變量的賦值:變量=表達式例:PrivateSubForm_Click<>DimaAsInteger,bAsInteger,cAsIntegerDimstrAsStringa=54b=114c=a+bstr="HelloWorld"Print"a=";a,"b=";b,"c=";cPrintstrEndSub四、運算符算術(shù)運算:+-*^/\mod加減乘乘方除整除取余^指數(shù)例:2^2=4/〔浮點除例:5/2=2.5\整除例:5\2=2Mod求余數(shù)例:5Mod2=12、關(guān)系運算=><>=<=<>等于大于小于大于等于小于等于不等于注意:關(guān)系表達式的運算結(jié)果為布爾值True或False例:3>2結(jié)果為True<真或是>3、邏輯運算Not〔取反And〔與Or〔或運算結(jié)果為布爾型〔BooleanTrue或False邏輯運算符的優(yōu)先級為:No>And>Or4、日期運算符與日期表達式日期表達式是用日期運算符"+"或"-"將算式表達式、日期型常量、日期型變量、日期函數(shù)等連接起來的式子,如表達式"#2003/09/01#+30”的運算結(jié)果是"2003-10-1";表達式"#2003/10/20#-#2003/10/105、字符運算字符串連接符為"+"和"&""123”+"45”="12345”"123”&"45”="12345”123+"45”=168"123”+45=168運算符的執(zhí)行順序:在VB中,當(dāng)一個表達式中同時出現(xiàn)多種運算符時,運算次序由運算符的優(yōu)先級決定,優(yōu)先級高的運算符先運算,優(yōu)先級相同的從左向右進行運算。不同性質(zhì)的運算符優(yōu)先級如下。算術(shù)運算符>字符串運算符>關(guān)系運算符>邏輯運算符6、常用函數(shù)函數(shù)名說明示例結(jié)果Sin〔XX弧度的正弦Sin〔00Cos<X>X弧度的余弦Cos<0>1Tan〔XX弧度的正切Tan〔00Atn〔XX用弧度表示的反正切值A(chǔ)tn〔00Abs〔XX的絕對值A(chǔ)bs〔-3.53.5Exp〔Xe的指定次冪,即exExp〔320.086Log〔X一個數(shù)值X的自然對數(shù)Log〔102.3Sqr〔XX的平方根Sqr〔93Sgn〔X符號函數(shù):X>0,得到1,X<0,得到-1,X=0得到0Sgn〔-3.5-1Int〔X不大于給定數(shù)X的最大整數(shù)Int〔-1.6-2Fix〔XX的整數(shù)部分Fix〔-1.6-1Cint〔X類型為:Integer-322768~32767小數(shù)部分四舍五入CLng〔X類型為:Long-2147483648~2147483647小數(shù)部分四舍五入Mid〔C,N1,N2從C中N1位開始取出長度為N2的子串Mid<"ABCDEFG",3,2>"CD"Right<C,N>返回字符串右邊N個字符Right<"ABCDEFG",3>"EFG"Left<C,N>返回字符串左邊N個字符Left<"ABCDEFG",3>"ABC"Len<C,N>測量字符串的長度Len<"VB學(xué)習(xí)的開始">7Space<N>產(chǎn)生N個空格組成的字符串"ABC"&"Space<N>"&"113"ABC123Date<>返回當(dāng)前系統(tǒng)日期〔yy-mm-ddDate<>或Date04-12-18Time<>返回系統(tǒng)時間Time<>或Time10:36:08練習(xí)題:1、下列變量名寫法錯誤的是<>A、abc_123B、123abcC、abc123D、abc2、下列語句中定義了一個實型變量的是<>A、DimendasIntegerB、DimsumAsSingleC、DimNameAsStringD、其它三項都不對3、在VB中,以下關(guān)于符號常量的聲明,聲明正確的是:<>A、DimTAGasStringB、ConstTAGasString"Visual"+"Basic"C、ConstTAGasString="VisualBasic"D、ConstTAGasString4、下面<>不是字符串常量A、"True"B、#False#C、""D、"你好"5、分析s=11\3+11Mod3,s的值是<>.A、5B、6C、4D、36、下面表達式的值是false的有<>.A、"969"<"n97"B、Int<4.99><>len<"basic">C、str<2000><"1997"D、3>27、設(shè)a=2,b=3,在VB中,表達式a>bOrb>3值是:<>A、FalseB、TrueC、-1D、18、VisualBasic中,下列<>函數(shù)是求絕對值的。A、ABS〔XB、SQR<XC、INT〔XD、GN〔X>9、表達式Abs<-3.6>*sqr<100>的值是<>。A、-36B、360C、36D、-36010、下列<>數(shù)據(jù)類型不是數(shù)值型。A、DateB、SingleC、DoubleD、Integer11、下列函數(shù)中,返回值是字符串的是<>.A、MidB、InstrC、ValD、Len12、代數(shù)表達式表達式后錯誤的是<>A、g*t*t/2B、1/2*g*t^2C、g*t^2/2D、gt^2/213、數(shù)學(xué)式子在VB中的正確寫法是:〔A、<2*a+b>/4*aB、<2*a+b>/<4ab>C、<2a+b><4ab>D、<2*a+b>/<4*a*b>14、判斷x是否在區(qū)間[a,b]上,在VB中以哪個邏輯表達式是正確的?<>A、a<xandx<=bB、a<x<=bC、a<xandx≤bD、a>xandx<=b15、向n變量存入1個2位整數(shù),要使此2位數(shù)十位和個位上的值分別存入x,y變量。正確的算法是<>。選項:x、①x=Left<n,1>②y=n-x*10③Printx:PrintyB、①x=Left<n,1>②y=Right<n,1>③Printx:PrintyC、①x=n/10②y=n-x*10③Printx:PrintyD、①x=Int<n/10>②y=n-x*10③Printx:Printy16、向x變量中輸入任意一個小寫字母,再將x變量中的小寫字母轉(zhuǎn)成大寫字母。正確的算法是<>.選項:A、①輸人字母到x②a=Asc<x>-32③x=chr<x>④PrintxB、①輸人字母到x②a=Asc<x>+32③x=chr<x>④PrintxC、①輸人字母到x②a=Val<x>一32③x=Chr<x>④PrintxD、①輸人字母到x②a=Val<x>+32③x=Chr<x>④Printx第二節(jié)程序的順序結(jié)構(gòu)一、賦值語句1.格式:變量名=表達式功能:將右邊的表達式的值賦給左邊的變量〔1"變量"可以是簡單變量,也可以是字符變量;〔2"="是賦值符號,它的含義將表達式的值賦給左邊的變量?!?表達式代表一個數(shù)值或一個字符串。例1:A=123;A=B;B=2*3;A=A+10;C$="CHINA"2.賦值語句的功能:計算功能和賦值功能3.注意事項〔1賦值語句不是代數(shù)等式,賦值號與等號形同而意不同;〔2賦值語句類型必須匹配;〔3把字符串賦給串變量時,該字符串必須用雙引號括起來;〔4變量單元每次只能存一個數(shù)據(jù),但可以多次賦值。如:C$="COMPUTER"注意:"$"是區(qū)分字符串變量的的標志,即要在變量名后加"$"構(gòu)成字符串變量,同時,字符串用雙引號括起來,然后才賦給字符串變量。二、輸入數(shù)據(jù)的函數(shù)InputBox〔是提供從鍵盤輸入數(shù)據(jù)的函數(shù)。利用它可產(chǎn)生一個對話框,提示用戶輸入數(shù)據(jù)并單擊命令按鈕。該函數(shù)返回值是字符串類型〔string。InputBox〔的語法格式為:InputBox〔提示信息,標題,默認值,位置提示信息:指對輸入數(shù)據(jù)的提示,顯示在對話框中,不能省略標題:指運行此函數(shù)后彈出的對話框的標題。默認值:指默認的輸入數(shù)據(jù)值位置:指運行此函數(shù)后彈出的對話框的左上角在屏幕上的位置注意:提示信息和標題是用引號引起來的字符串三、輸出數(shù)據(jù)的方法1、基本格式:Print輸出內(nèi)容注意:1、輸出內(nèi)容可以是數(shù)、變量、表達式,也可以是用引號括起來的字符串;2、如果輸出內(nèi)容是數(shù),變量,表達式,則輸出的是數(shù),變量,表達式,如果是用引號引起來的字符串,則原樣輸出;3、多個輸出內(nèi)容,可以用逗號或分號分隔;如果用分號,則后面一個輸出緊跟前一個輸出;如果是逗號,則分區(qū)格式輸出;4、如果輸出內(nèi)容后面沒有符號,則表示下一個Print換行輸出,如果print中沒有輸出內(nèi)容,則表示輸出一個空行。程序設(shè)計的順序結(jié)構(gòu):代碼按照由上到下的順序一行一行地執(zhí)行。程序執(zhí)行過程中沒有分支、沒有重復(fù),這種結(jié)構(gòu)稱為順序結(jié)構(gòu)。例1:交換兩個變量中的數(shù)據(jù)。PrivateSubcmdSwap_Click<>DimxAsSingle,yAsSingleDimmAsSinglex=inputbox<"請輸入X的值">y=inputbox<"請輸入Y的值">m=xx=yy=m//交換數(shù)據(jù)printx,yEndSub例2:從鍵盤上輸入一個三位數(shù),然后將它反向輸出,如:輸入456,輸出654。分析問題設(shè)X為輸入的三位整數(shù),Y為X的方向輸出。因為X的百位、十位、個位分別為:X1=X\100X2=<X-X1*100>\10X3=X-X1*100-X2*10所以Y=X3*100+X2*10+X1<2>設(shè)計算法①輸入X的值②計算:X1=X\100③計算:X2=<X-X1*100>\10④計算:X3=X-X1*100-X2*10⑤計算:Y=X3*100+X2*10+X1⑥輸出Y的值〔3編寫程序Privatesubcommand_click<>Dimxasinteger,x1asinteger,x2asinteger,x3asinteger,yasintegerX=inputbox<"x=","輸入">X1=X\100X2=<X-X1*100>\10X3=X-X1*100-X2*10Y=X3*100+X2*10+X1Print"y=";yEndsub〔4調(diào)試程序練習(xí)題:1、以下是一段VB程序:a=1b=a+1c=a+b它的基本結(jié)構(gòu)屬于〔A、順序結(jié)構(gòu)B、選擇結(jié)構(gòu)C、循環(huán)結(jié)構(gòu)D、樹型結(jié)構(gòu)2、下列VB程序運行后,變量x的值為<>.x=2Printx+lPrintx+23、執(zhí)行以下程序,在彈出的第1個輸入框輸入"10",第2個輸入框輸入"15",則輸出的結(jié)果為〔。

DimaAsInteger,bAsInteger

a=InputBox<"輸入","a=">

b=InputBox<"輸入","b=">

Printa;"+";b;"=",a+b

A.b+a=25B.10+15=25C.a+b=25D.15+10=254、已知A,B,C,D是整型變量,且都已有互不相同的值,執(zhí)行語句"B=8:A=C:D=A:D=B"后,其值相等的變量是〔。

A.A,DB.A,CC.C,BD.B,A5、要交換變量A和B之值,應(yīng)使用的語句組是〔。

A.A=B:B=C:C=AB.C=A:A=B:B=C

C.A=B:B=AD.C=A:B=A:B=C6、有如下VisualBasic程序段:

m="VB"

n="is"

t="easy"

t=m+n+t

該程序段運行后,變量t的值為。7、試編寫一個程序,實現(xiàn)輸入一個四位數(shù)的數(shù),然后將它倒序輸出。第三節(jié)程序設(shè)計的分支結(jié)構(gòu)一、行If語句行If是指在一行中寫完的If語句。其一般格式為:格式一:If條件Then語句功能:執(zhí)行這種形式的If語句時,首先對條件進行判斷。若條件成立,則執(zhí)行Then后面的語句;若條件不成立,則執(zhí)行If語句后繼程序行的語句格式二:If條件Then語句1Else語句2功能:執(zhí)行這種形式的語句時,先進行判斷。若條件成立,則執(zhí)行語句1;否則執(zhí)行語句2。例1:輸入三個不相同的數(shù),求出其中最小數(shù)。PrivateSubForm_Click<>DimaAsSingle,bAsSingle,cAsSingleDimMinAsSinglea=InputBox<"輸入a","輸入框">b=InputBox<"輸入b","輸入框">c=InputBox<"輸入c","輸入框">Ifa<bThenMin=aElseMin=bIfc<MinThenMin=cPrint"最小數(shù)=";MinEndSub二、塊If語句行If-then語句只能根據(jù)條件的真假是否執(zhí)行一條語句,當(dāng)Then部分和Else部分包含的內(nèi)容較多時,則可選用"塊If語句"結(jié)構(gòu)。格式一:If條件Then語句塊EndIf例2:當(dāng)從輸入一個數(shù)時,當(dāng)該數(shù)大于或等于60時顯示"及格",該數(shù)小于60時顯示"不及格"。PrivateSubCommand1_Click<>DimaAsSinglea=InputBox<"輸入a">Ifa>=60ThenPrint"及格"EndIfIfa<60ThenPrint"不及格"EndIfEndSub格式二:If條件Then語句塊1Else語句塊2EndIf例3:編寫一程序,求一個一元二次方程ax2+bx+c=0的兩個根。PrivateSubForm_Click<>DimaAsSingle,bAsSingle,cAsSingleDimdAsSingle,x1AsSingle,x2AsSinglea=InputBox<"輸入a","輸入框">b=InputBox<"輸入b","輸入框">c=InputBox<"輸入c","輸入框">d=b2-4*a*cIFd>=0thenx1=<-b+sqr<d>>/2elsex1=<-b-sqr<d>>/2endifprint"x1=";x1,"x2=";x2EndSub練習(xí)題:1、以下是一段VisualBasic程序:IfI=1ThenX=X+1ElseX=X*2EndIf它的基本結(jié)構(gòu)屬于<>.A、選擇結(jié)構(gòu)B、循環(huán)結(jié)構(gòu)C、順序結(jié)構(gòu)D、樹型結(jié)構(gòu)2、下列程序段運行后,變量Value的值是〔x=20Ifx>=10ThenValue=5*xElseValue=4*xEndIfA、100B、80C、90D、703、如要完成:從鍵盤輸入一個正整數(shù),判斷是否是奇數(shù),如是就在屏幕上顯示。比較好的算法是<>選項:A、①輸人的數(shù)存人n變量②f=<n/2=Int<n/2>>③如果f中的值為True就顯示n中值B、①輸人的數(shù)存人n變量②f=<n/2=Int<n/2>>③如果f中的值為False就顯示n中值C、①輸人的數(shù)存人n變量②如果n/2=Int<n/2>成立,就顯示n中值D、①輸人的數(shù)存人n變量②如果n/2=Int<n/2>不成立,就顯示n中值4、下面是判斷變量x是不是能被5整除的偶數(shù)的程序,橫線上的邏輯表達式應(yīng)為<>PrivateSubcommandl_Click<>DimxAsIntegerx=Val<Text1.Text>If____=0ThenPrint"這個數(shù)是能被5整除的偶數(shù)"ElsePrint"這個數(shù)不是能被5整除的偶數(shù)"EndIf選項:A、<xMod5>=0And<xMod2>=0B、xMod10=0C、xMod5=0D、xMod2=05、如要完成:從鍵盤輸入一個正整數(shù),判斷是否是偶數(shù),如是就在屏幕上顯示。比較好的算法是<>。選項:A、①輸入的數(shù)存人n變量②f=<n/2=Int<n/2>>③如果f中的值為True就顯示n中值B、①輸入的數(shù)存人n變量②f=<n/2=Int<n/2>>③如果f中的值為False就顯示n中值C、①輸入的數(shù)存人n變量②如果n/2=Int<n/2>成立,就顯示n中值D、①輸入的數(shù)存人n變量②如果n/2=Int<n/2>不成立,就顯示n中值6、下列程序段運行后,m的值為<>A=2:b=1:c=5IfA<bThenm=AElsem=bIfc<mThenm=c選項:A、1B、2C、5D、提示錯誤,無答案第四節(jié)程序設(shè)計的循環(huán)結(jié)構(gòu)一、For-Next循環(huán)For循環(huán)變量一般形式是:For循環(huán)變量=初值To終值Step循環(huán)變量增量循環(huán)體Nxt循環(huán)變量例1:求s=1+2+3+4+100PrivateSubForm_Click<>DimiAsIntegerDimsumAsIntegersum=0Fori=1To100step1sum=sum+i'循環(huán)體NextiPrint"sum=";sumEndSub循環(huán)變量的初值、終值、循環(huán)變量增量都是數(shù)值型。其中要重復(fù)執(zhí)行的操作稱為循環(huán)體,增量可正可負,如果沒有設(shè)置Step,則增量的缺省值為1循環(huán)變量取初值;循環(huán)變量與終值比較,沒有超過終值轉(zhuǎn)3,否則循結(jié)束,接著執(zhí)行循環(huán)語句的后繼語句;執(zhí)行一次循環(huán)體循環(huán)變量增加一個增量重復(fù)步驟2~4。以上可以看出,For-Next循環(huán)變量是一種當(dāng)型循環(huán)。說明For語句與Next語句必須成對出現(xiàn),而且它們當(dāng)中的"循環(huán)變量"必須是同一個變量,如上例中均為I。當(dāng)循環(huán)變量為正時,循環(huán)變量超過終值,是指循環(huán)變量的值大于終值時;若為負,則是指循環(huán)變量的值小于終值。AAP入口出口例2:編寫程序,使能打印下面所示的圖案。程序:PrivateSubForm_Click<>DimiAsIntegerDimjAsIntegerFori=1To6Forj=1ToiPrint"";NextjPrintNextiEndSub一個FOR循環(huán)里包含了另一個FOR,我們稱它為嵌套循環(huán)。練習(xí)題:1、閱讀如下程序,跟蹤程序的執(zhí)行過程,觀察變量A的值的變化,寫出循環(huán)結(jié)束時變量A的值、循環(huán)次數(shù)和程序的運行結(jié)果。privaatesubcommand1_click<>forA=1TO10printANextAEndSubprivaatesubcommand1_click<>ForA=1To100S=S+ANextAPint"S=";SEndSubprivaatesubcommand1_click<>ForA=100To1step-1S=S+ANextAPrint"s=";sEndSubprivaatesubcommand1_click<>ForA=1To10A=A+1PrintANextAEndSub2、閱讀下面程序,輸出結(jié)果是<>PrivateSubForm_Click<>DimiAsInteger:DimsAsIntegers=0Fori=1To5s=s+iNextiPrints,iEndSub選項:A、15 6B、s=15i=6C、65D、s=6i=53、試編寫一個程序,求出100以內(nèi)能被3整除的所有正整數(shù)。4、試編寫一個程序,求出1*2*3……*100積。二、Do-Loop循環(huán)For-Next循環(huán)的次數(shù)是確定的,但是有的問題只知道循環(huán)結(jié)束的條件,重復(fù)執(zhí)行的次數(shù)事先并不知道,這是需要Do-Loop循環(huán)格式一:DoWhile條件循環(huán)體Loop例3:求最大公約數(shù)PrivateSubCommand1_Click<>DimaAsIntegerDimbAsIntegerDimrAsIntegera=InputBox<"輸入a">b=InputBox<"輸入b">r=aModbDoWhiler<>0a=bb=rr=aModbLoopPrintbEndSub當(dāng)VB執(zhí)行DoWhile-Loop循環(huán)時,先判斷指定的條件是否為真,若條件為真,執(zhí)行循環(huán)體,條件為假時退出循環(huán)。格式二:Do循環(huán)體LoopUntil條件這種循環(huán)的執(zhí)行過程如圖所示。進入循環(huán)體后,先執(zhí)行一次循環(huán)體A,然后再檢查條件P是否成立。如果不成立,就重復(fù)執(zhí)行循環(huán)體A,直到條件P成立退出循環(huán)體。AAPN例4:如果我國人口每年以平均1.5%的速度增長,問多少年后我國人口達到或超過15億?設(shè)現(xiàn)在人口為12.3億。PrivateSubForm_Click<>DimpAsSingleDimrAsSingleDimnAsIntegerp=1230000000r=0.015n=0Dop=p*<1+r>n=n+1LoopUntilp>=1500000000Printn;"年后","人口=";pEndSub練習(xí)題:1、在VB中,以下程序段:x=0DoWhilex<50x=<x+2>*<x+3>Loop執(zhí)行后,x的值為:<>.A、168B、50C、

溫馨提示

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

最新文檔

評論

0/150

提交評論