版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第一章 算法與算法的描述1算法的定義算法:就是解決問題的思想方法,對解題過程的精確描述。計算機解決問題的步驟為分析問題、設(shè)計算法、編寫程序、調(diào)試程序。算法是程序設(shè)計的“靈魂”,最核心過程。2法的特征一個算法應(yīng)該具有以下五個重要的特征: 1、有窮性: 一個算法必須保證執(zhí)行有限步之后結(jié)束; 2、確定性: 算法的每一步驟必須有確切的定義; 3、輸入:一個算法有0個或多個輸入,以刻畫運算對象的初始情況,所謂0個輸入是指算法本身定出了初始條件; 4、輸出:一個算法有一個或多個輸出,以反映對輸入數(shù)據(jù)加工后的結(jié)果。沒有輸出的算法是毫無意義的; 5、可行性:算法中執(zhí)行的任何計算步都是可以被分解為基本的可執(zhí)行的
2、操作步,即每個計算步都可以在有限時間內(nèi)完成;(也稱之為有效性)3算法的描述方法算法的描述:可分多種表達方法,一般用自然語言、流程圖和偽代碼進行描述。(1)自然語言描述法:指用人們?nèi)粘I钪惺褂玫恼Z言(本國語言),用自然語言描述符合我們的習(xí)慣,且容易理解。例1:求圓的周長和面積算法如下:(自然語言描述法)(1)輸入半徑r ;(2) 計算周長c=2*r ;(3) 計算面積 s=*r*r ; (4) 輸出周長c,輸出面積s ; (5) 結(jié)束例2:工人每天工作8小時,每小時9元,超過8小時的每小時增加15%的加班費,計算工人每天的應(yīng)發(fā)的日工資。(1) 輸入工作小時X(2) 判斷X值,分別計算l X小于
3、8,工資=X*9l X大于8,工資=X*9(X-8)*9*0.15(3) 輸出工資(4) 結(jié)束練習(xí):求三個數(shù)中的最大數(shù)。(用自然語言描述)(2)流程圖描述:也稱程序框圖,它是算法的一種圖形化表示方法。且描述算法形象、直觀,更易理解。常用的“流程圖”所用的基本符號及功能 程序框名稱功能開始/結(jié)束框表示算法的開始或結(jié)束輸入/輸出框表示算法中變量的輸入或輸出處理框表示算法中變量的賦值與計算判斷框表示算法中的條件判斷流程線表示算法中的流向連接點表示算法中的連接例1:求圓的周長和面積c2*rs*r*r輸出c,s輸入r結(jié)束開始練習(xí):求三個數(shù)中的最大數(shù)。(用流程圖描述)(3)偽代碼描述法:是介于自然語言和計
4、算機程序語言之間的一種算法描述。是專業(yè)軟件開發(fā)人員常用方法。流程圖的基本圖形及功能:例1:求圓的周長和面積input rc=2*rs=*r*rprint c,s練習(xí):求三個數(shù)中的最大數(shù)。(用偽代碼描述)4程序與程序語言(1)程序的定義:程序?qū)嶋H上是一組及其操作的指令或語句的序列,是算法的一種描述(2)程序的基本特征:程序一共有七個基本特征1、程序中,每一個算法的步驟對應(yīng)著程序設(shè)計語言的一個或多個語句,每個語句對應(yīng)一個或者多個操作。每個操作都要求有執(zhí)行對象,并且根據(jù)對象狀態(tài)變化形成動作的效果,同事可變的對象用變量來表示,變量的值的變化則可通過操作賦值來完成。2、除非特殊索命程序都是從第一條語句開
5、始順序開始向下執(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)的。(3)程序的基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。(4)程序設(shè)計語言的的產(chǎn)生和發(fā)展1、機器語言:二進制代碼指令2、匯編語言:類似英語縮略詞且?guī)в兄浶苑柕恼Z言,每條匯編指令和一條機器指令相對應(yīng),只是指令碼和操作數(shù)都采
6、用符號形式。而這種語言是不能被機器直接接受,必須用一種語言翻譯器將程序中的每條語句翻譯成機器語言才能執(zhí)行。3、高級語言:高級語言本身不是一種語言,只是一類語言的分類。用高級語言編寫的程序必須經(jīng)過翻譯器將其翻譯成機器語言,才能在計算機上執(zhí)行。常見的高級語言:C語言、C+、pascal、java、C#、VB、Basic(5)程序的編輯和翻譯1、程序的編輯:以匯編語言或者高級語言所編寫的程序被稱為“源代碼”,這些代碼需要我們逐一的輸入到計算機中。并把他們以文件的形式保存起來,這個過程稱為程序的編輯2、程序的翻譯:前面的學(xué)習(xí)中使我們知道,計算機只能識別和執(zhí)行二進制的機器語言代碼,而我們用級語言或匯編語
7、言編寫的程序要想被計算機執(zhí)行,必須翻譯成機器語言程序,最終才能被計算機執(zhí)行。高級語言的翻譯程序一般則有兩種類型:編譯程序和解釋程序。練習(xí)題:1 下面對算法描述正確的一項是:()A、算法只能用自然語言來描述B、算法只能用圖形方式來表示 C、同一問題可以有不同的算法 D、同一問題的算法不同,結(jié)果必然不同2下面關(guān)于算法描述正確的是( )(A) 算法不可以用自然語言表示(B) 算法只能用框圖來表示(C) 一個算法必須保證它的執(zhí)行步驟是有限的(D) 算法的框圖表示法有0個或多個輸入,但只能有一個輸出3、圖形符號 在算法流程圖描述中表示( ).A 處理或運算的功能 B 輸入輸出操作C 用來判斷條件是否滿足
8、需求 D 算法的開始或結(jié)束4、以下哪個是算法的描述方法?( )A 流程圖描述法 B 枚舉法 C 順序法 D 列表法5、下面的語句是一個計算機程序的操作說明:(1)初始值為x=1,y=1,z=0,n=0;(2)n=n+1(將當(dāng)前n+1的值賦予新的n);(3)x=x+2(將當(dāng)前x+2的值賦予新的x);(4)y=2y(將當(dāng)前2y的值賦予新的y);(5)z=z+xy(將當(dāng)前z+xy的值賦予新的z);(6)如果z7,則執(zhí)行語句(7),否則返回語句(2)繼續(xù)進行;(7)打印n,z;(8)程序終止由語句(7)打印出的數(shù)值為 _,_.6、以下屬于計算機程序語言的有( ) A、匯編語言 B、高級語言 C、機器語
9、言 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ù)的輸出部分例:求圓的周長和面積Private Sub Command1_Click()Dim r As Single /定義r為單精度型Dim c As Single /定義c為單精度型Dim s As Si
10、ngle /定義s為單精度型r = inputbox(“輸入半徑r”) /輸入半徑rc = 2 * 3.14159 * r /計算周長s = 3.14159 * r * r /計算面積print c /輸出周長print s /輸出面積End Sub 一、常量:在程序進行過程中不變的量,在VB中一般分?jǐn)?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
11、.2345103 可表示為1.2345E3,字母E表示底數(shù)10浮點數(shù)就是數(shù)學(xué)上的科學(xué)計數(shù)法。字符串常量:被一對雙引號括起來的若干個合法的字符稱為字符串常量。例如:”China”、”Visual Basic”、”18”、”3.1415”等,雙引號中字符,不包括雙引號本身。符號常量:如果多次用到同一個常量,則可用一個有意義的名字表示這個常量。二、變量:在程序執(zhí)行過程中,其值可以改變的量稱為變量變量命名注意要點:1、必須以字母開頭,不能以數(shù)字或其他字符開頭。2、只能由字母、漢字、數(shù)字學(xué)或下劃線組成,不能含有小數(shù)點、空格等字符。3、最長不超過255個字符 4、不能以VB保留字作變量名,如語句定義符、函
12、數(shù)名等。5、VB不區(qū)分變量名中字母大小寫。如HELLO和Hello是同一個變量。表2-1常用數(shù)據(jù)類型整型Integer從-32768到32767長整型Long從-到單精度實型Single負(fù)數(shù)-3.E+38到-1.E-45正數(shù)1.40129E-45到3.E38 但它只有7位有效數(shù)字雙精度實型Double絕對值小于10308的數(shù),它有15位有效數(shù)字日期型Date(Time)如:#2008-01-31# #01/31/2008#字符型String如:“中國”,“zhongguo”布爾型BooleanTrue或False三、常量和變量的定義符號常量的聲明:Const 常量名 As 常量類型 = 常量值
13、如:Const pi As Single = 3.14159 常量名為pi變量的聲明:Dim As 如:Dim a As Integer 定義一個整型變量,變量名為a變量的賦值:變量 = 表達式例:Private Sub Form_Click() Dim a As Integer, b As Integer, c As Integer Dim str As String a = 54 b = 114 c = a + b str = Hello World Print a=; a, b=; b, c=; c Print strEnd Sub四、運算符1、 算術(shù)運算:+-*/mod加減乘乘方除整除
14、取余 指數(shù) 例:22 = 4/ (浮點)除 例:5 / 2 = 2.5 整除 例: 5 2 = 2Mod 求余數(shù) 例:5 Mod 2 = 12、關(guān)系運算=等于大于小于大于等于小于等于不等于注意:關(guān)系表達式的運算結(jié)果為布爾值True 或 False例:3 2 結(jié)果為 True(真或是)3、邏輯運算Not(取反)And(與) Or(或)運算結(jié)果為布爾型(Boolean)True 或 False邏輯運算符的優(yōu)先級為:No And Or4、日期運算符與日期表達式日期表達式是用日期運算符“+”或“-”將算式表達式、日期型常量、日期型變量、日期函數(shù)等連接起來的式子,如表達式“#2003/09/01# +3
15、0”的運算結(jié)果是“2003-10-1”;表達式“#2003/10/20# - #2003/10/10#”的運算結(jié)果為整數(shù)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(X)X弧度的正弦Sin
16、(0)0 Cos (X)X弧度的余弦 Cos (0)1Tan(X)X弧度的正切Tan(0)0Atn(X)X用弧度表示的反正切值A(chǔ)tn(0)0Abs(X)X的絕對值 Abs(-3.5)3.5Exp(X)e的指定次冪,即exExp(3)20.086Log(X)一個數(shù)值X的自然對數(shù)Log(10)2.3Sqr(X)X的平方根Sqr(9)3Sgn(X)符號函數(shù):X0,得到1,X0,得到-1,X=0得到0 Sgn(-3.5)-1Int(X)不大于給定數(shù)X的最大整數(shù)Int(-1.6)-2Fix(X)X的整數(shù)部分 Fix(-1.6)-1Cint(X)類型為:Integer -32767小數(shù)部分四舍五入CLng
17、(X)類型為:Long - 小數(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”“ABC 123”Date()返回當(dāng)前系統(tǒng)日期(yy-mm-dd)Date()或Date04-12-18Time()返回系統(tǒng)時間T
18、ime()或Time10:36:08練習(xí)題:1、下列變量名寫法錯誤的是( )A、abc_123 B、123abc C、abc123 D、abc2、下列語句中定義了一個實型變量的是 ( )A、Dim end as Integer B、Dim sum As SingleC、Dim Name As String D、其它三項都不對3、在VB中,以下關(guān)于符號常量的聲明,聲明正確的是:( )A、Dim TAG as String B、Const TAG as String Visual + BasicC、Const TAG as String =Visual Basic D、Const TAG as S
19、tring4、下面( )不是字符串常量A、True B、#False# C、 D、你好5、分析 s=113 + 11 Mod 3,s的值是( ).A、5 B、6 C、4 D、36、下面表達式的值是false的有( ).A、969 n97 B、Int(4.99) len(basic) C、str(2000) 27、設(shè)a=2, b=3,在VB中,表達式ab Or b3值是:( )A、False B、True C、-1 D、18、Visual Basic中,下列( )函數(shù)是求絕對值的。A、ABS(X) B、SQR(X) C、INT(X) D、GN(X)9、表達式Abs(-3.6)*sqr(100)的
20、值是( )。A、-36 B、360 C、36 D、-36010、下列( )數(shù)據(jù)類型不是數(shù)值型。A、Date B、Single C、Double D、Integer11、下列函數(shù)中,返回值是字符串的是 ( ).A、Mid B、Instr C、Val D、Len12、代數(shù)表達式表達式后錯誤的是( )A、g*t*t/2 B、1/2*g*t2 C、g*t2/2 D、gt2/213、數(shù)學(xué)式子在VB中的正確寫法是:( )A、 (2*a+b)/4*a B 、(2*a+b)/(4ab) C 、(2a+b)(4ab) D 、(2*a+b)/(4*a*b)14、判斷x是否在區(qū)間a, b上,在VB中以哪個邏輯表達式
21、是正確的?( )A 、ax and x=b B、 ax=b C、ax and x=b15、向n變量存入1個2位整數(shù),要使此2位數(shù)十位和個位上的值分別存入x, y變量。正確的算法是( )。選項:x、x=Left(n, 1) y=n-x*10 Print x:Print yB、x=Left(n, 1) y=Right(n, 1) Print x:Print yC、x=n/10 y=n-x*10 Print x:Print yD、x=Int(n/10) y=n-x*10 Print x:Print y16、向x變量中輸入任意一個小寫字母,再將x變量中的小寫字母轉(zhuǎn)成大寫字母。正確的算法是( ).選項:
22、A、輸人字母到x a=Asc(x)-32 x=chr(x) Print xB、輸人字母到x a=Asc(x)+32 x=chr(x) Print xC、輸人字母到x a=Val(x)一32 x=Chr(x) Print xD、輸人字母到x a=Val(x)+32 x=Chr(x) Print x第二節(jié) 程序的順序結(jié)構(gòu)一、 賦值語句1.格式:變量名 = 表達式 功能:將右邊的表達式的值賦給左邊的變量(1)“變量”可以是簡單變量,也可以是字符變量;(2)“=”是賦值符號,它的含義將表達式的值賦給左邊的變量。(3)表達式代表一個數(shù)值或一個字符串。例1:A=123;A=B;B=2*3;A=A+10;C
23、$ =“CHINA” 2.賦值語句的功能:計算功能和賦值功能3.注意事項(1)賦值語句不是代數(shù)等式,賦值號與等號形同而意不同;(2)賦值語句類型必須匹配;(3)把字符串賦給串變量時,該字符串必須用雙引號括起來;(4)變量單元每次只能存一個數(shù)據(jù),但可以多次賦值。 如:C$=“COMPUTER” 注意:“$”是區(qū)分字符串變量的的標(biāo)志,即要在變量名后加“$”構(gòu)成字符串變量,同時,字符串用雙引號括起來,然后才賦給字符串變量。 二、輸入數(shù)據(jù)的函數(shù)InputBox()是提供從鍵盤輸入數(shù)據(jù)的函數(shù)。利用它可產(chǎn)生一個對話框,提示用戶輸入數(shù)據(jù)并單擊命令按鈕。該函數(shù)返回值是字符串類型(string)。InputBo
24、x()的語法格式為:InputBox(提示信息,標(biāo)題,默認(rèn)值,位置)提示信息: 指對輸入數(shù)據(jù)的提示,顯示在對話框中,不能省略標(biāo)題 :指運行此函數(shù)后彈出的對話框的標(biāo)題。默認(rèn)值:指默認(rèn)的輸入數(shù)據(jù)值位置:指運行此函數(shù)后彈出的對話框的左上角在屏幕上的位置注意:提示信息和標(biāo)題是用引號引起來的字符串三、輸出數(shù)據(jù)的方法1、基本格式: Print 輸出內(nèi)容注意:1、輸出內(nèi)容可以是數(shù)、變量、表達式,也可以是用引號括起來的字符串;2、如果輸出內(nèi)容是數(shù),變量,表達式,則輸出的是數(shù),變量,表達式,如果是用引號引起來的字符串,則原樣輸出;3、多個輸出內(nèi)容,可以用逗號或分號分隔;如果用分號,則后面一個輸出緊跟前一個輸出;
25、如果是逗號,則分區(qū)格式輸出;4、如果輸出內(nèi)容后面沒有符號,則表示下一個Print換行輸出,如果print中沒有輸出內(nèi)容,則表示輸出一個空行。程序設(shè)計的順序結(jié)構(gòu):代碼按照由上到下的順序一行一行地執(zhí)行。程序執(zhí)行過程中沒有分支、沒有重復(fù),這種結(jié)構(gòu)稱為順序結(jié)構(gòu)。例1:交換兩個變量中的數(shù)據(jù)。Private Sub cmdSwap_Click() Dim x As Single, y As Single Dim m As Single x = inputbox(“請輸入X的值”) y = inputbox(“請輸入Y的值”) m = x x = y y = m /交換數(shù)據(jù) print x,yEnd Sub
26、例2:從鍵盤上輸入一個三位數(shù),然后將它反向輸出,如:輸入456,輸出654。(1) 分析問題設(shè)X為輸入的三位整數(shù),Y為X的方向輸出。因為 X的百位、十位、個位分別為:X1=X100X2=(X-X1*100)10X3=X-X1*100-X2*10所以Y=X3*100+X2*10+X1(2)設(shè)計算法輸入X的值計算:X1=X100計算:X2=(X-X1*100)10計算:X3=X-X1*100-X2*10計算:Y=X3*100+X2*10+X1輸出Y的值(3)編寫程序 Private sub command_click()Dim x as integer, x1 as integer, x2 as
27、integer, x3 as integer, y as integerX=inputbox(“x=”,”輸入”)X1=X100X2=(X-X1*100)10X3=X-X1*100-X2*10Y=X3*100+X2*10+X1Print “y=”;yEnd sub(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=2Print x+lPrint x+23、執(zhí)行以下程序,在彈出的第1個輸入框輸入“10”,第2個輸入框輸入“15”,則輸
28、出的結(jié)果為( )。Dim a As Integer, b As Integer a = InputBox(輸入,a=) b = InputBox(輸入,b=) Print a; +;b; =,a+b A. b+a=25 B. 10+15=25 C. a+b=25 D. 15+10=25 4、已知A,B,C,D是整型變量,且都已有互不相同的值,執(zhí)行語句“B=8:A=C:D=A: D=B”后,其值相等的變量是( )。A. A,D B. A,C C. C,B D. B,A 5、要交換變量A和B之值,應(yīng)使用的語句組是( )。A. A=B:B=C:C=A B. C=A:A=B:B=C C. A=B:B=
29、A D. C=A:B=A:B=C 6、有如下Visual Basic程序段: 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 語句 1 Else 語句 2功能:執(zhí)行這種形式的語句時,先進行判斷。若條件成立
30、,則執(zhí)行語句1;否則執(zhí)行語句2。例1:輸入三個不相同的數(shù),求出其中最小數(shù)。Private Sub Form_Click() Dim a As Single, b As Single, c As Single Dim Min As Single a = InputBox(輸入a, 輸入框) b = InputBox(輸入b, 輸入框) c = InputBox(輸入c, 輸入框) If a b Then Min = a Else Min = b If c = 60 ThenPrint 及格 End IfIf a =0 then x1=(-b+sqr(d)/2elsex1=(-b-sqr(d)/2
31、end ifprint “x1=”;x1,”x2=”;x2End Sub練習(xí)題:1、以下是一段Visual Basic程序: If I=1 Then X=X+1 Else X=X*2 End If它的基本結(jié)構(gòu)屬于( ).A、選擇結(jié)構(gòu) B、循環(huán)結(jié)構(gòu)C、順序結(jié)構(gòu)D、樹型結(jié)構(gòu)2、下列程序段運行后,變量Value的值是( )x = 20If x = 10 Then Value = 5 * xElse Value = 4 * xEnd IfA、100 B、80 C、90 D、703、如要完成:從鍵盤輸入一個正整數(shù),判斷是否是奇數(shù),如是就在屏幕上顯示。比較好的算法是( )選項:A、輸人的數(shù)存人n變量f=(
32、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)為( ) Private Sub commandl_Click() Dim x As Integer x=Val(Text1. Text) If _ = 0 Then Print “這個數(shù)是能被5整除的偶數(shù)” Else Print “這個數(shù)不是能
33、被5整除的偶數(shù)” End If選項:A、(x Mod 5) = 0 And (x Mod 2 ) = 0B、x Mod 10 = 0C、x Mod 5 = 0D、x Mod 2 = 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、
34、下列程序段運行后,m的值為( )A=2: b=1: c=5If A b Then m = A Else m = bIf c m Then m = 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:求s1+2+3+4.+100Private Sub Form_Click() Dim i As Integer Dim sum As Integer sum = 0 For i = 1 To 100 step 1 sum = sum + i 循環(huán)體 Nex
35、t i Print sum=; sumEnd Sub循環(huán)變量的初值、終值、循環(huán)變量增量都是數(shù)值型。其中要重復(fù)執(zhí)行的操作稱為循環(huán)體,增量可正可負(fù),如果沒有設(shè)置Step,則增量的缺省值為11、 循環(huán)變量取初值;2、 循環(huán)變量與終值比較,沒有超過終值轉(zhuǎn)3,否則循結(jié)束,接著執(zhí)行循環(huán)語句的后繼語句;3、 執(zhí)行一次循環(huán)體4、 循環(huán)變量增加一個增量5、 重復(fù)步驟24。以上可以看出,F(xiàn)or-Next循環(huán)變量是一種當(dāng)型循環(huán)。說明(a) For語句與Next語句必須成對出現(xiàn),而且它們當(dāng)中的“循環(huán)變量”必須是同一個變量,如上例中均為I。(b) 當(dāng)循環(huán)變量為正時,循環(huán)變量超過終值,是指循環(huán)變量的值大于終值時;若為負(fù),
36、則是指循環(huán)變量的值小于終值。AP入口出口例2:編寫程序,使能打印下面所示的圖案。程序:Private Sub Form_Click() Dim i As Integer Dim j As Integer For i = 1 To 6 For j = 1 To i Print “”; Next j Print Next iEnd Sub一個FOR循環(huán)里包含了另一個FOR,我們稱它為嵌套循環(huán)。練習(xí)題:1、閱讀如下程序,跟蹤程序的執(zhí)行過程,觀察變量A的值的變化,寫出循環(huán)結(jié)束時變量A的值、循環(huán)次數(shù)和程序的運行結(jié)果。 privaate sub command1_click()for A=1 TO 10p
37、rint ANext AEnd Sub privaate sub command1_click() For A=1 To 100 S=S+A Next A Pint “S=”;SEnd Sub privaate sub command1_click() For A=100 To 1 step -1 S=S+A Next A Print “s=”;sEnd Sub privaate sub command1_click()For A=1 To 10 A=A+1Print A Next AEnd Sub2、閱讀下面程序, 輸出結(jié)果是( ) Private Sub Form_Click() Dim
38、i As Integer:Dim s As Integer s = 0 For i = 1 To 5 s = s + i Next i Print s,iEnd Sub選項:A、156 B、 s=15 i=6 C、6 5 D、s=6 i=53、試編寫一個程序,求出100以內(nèi)能被3整除的所有正整數(shù)。4、試編寫一個程序,求出1*2*3*100積。二、DoLoop循環(huán)For-Next循環(huán)的次數(shù)是確定的,但是有的問題只知道循環(huán)結(jié)束的條件,重復(fù)執(zhí)行的次數(shù)事先并不知道,這是需要Do-Loop循環(huán)格式一:Do While 條件循環(huán)體Loop例3:求最大公約數(shù)Private Sub Command1_Clic
39、k() Dim a As Integer Dim b As Integer Dim r As Integer a = InputBox(輸入a) b = InputBox(輸入b) r = a Mod b Do While r 0 a = b b = r r = a Mod b Loop Print bEnd Sub當(dāng)VB執(zhí)行Do While-Loop循環(huán)時,先判斷指定的條件是否為真,若條件為真,執(zhí)行循環(huán)體,條件為假時退出循環(huán)。格式二: Do 循環(huán)體Loop Until條件這種循環(huán)的執(zhí)行過程如圖所示。進入循環(huán)體后,先執(zhí)行一次循環(huán)體A,然后再檢查條件P是否成立。如果不成立,就重復(fù)執(zhí)行循環(huán)體A,直到條件P成立退出循環(huán)體。APN例4:如果我國人口每年以平均1.5%的速度增長,問多少年后我國人口達到或超過15億?設(shè)現(xiàn)在人口為12.3億。Private Sub Form_Click() Dim p As Single Dim r As Single Dim n As Integer p = r = 0.015 n = 0 Do p = p * (1 + r) n = n + 1 Loop Until p = Print n; 年后, 人口=; pEnd Sub練習(xí)題:1、在VB中,以下程序段:x=0Do While x50 x=(x+2)*(x+3)Loop執(zhí)行后
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年中國鐵路上海局集團有限公司杭州客運段列車乘務(wù)員崗位招聘備考題庫有答案詳解
- 2026年廣東外語外貿(mào)大學(xué)附屬番禺小學(xué)招聘備考題庫及一套答案詳解
- 2026年北京郵電大學(xué)集成電路學(xué)院招聘備考題庫(人才派遣)完整答案詳解
- 2026年哈爾濱市香坊第二幼兒園教師招聘備考題庫期待你的加入完整參考答案詳解
- 2026年傳染病預(yù)防控制所國家致病菌識別網(wǎng)中心實驗室外聘人員公開招聘備考題庫有答案詳解
- 行政政府采購內(nèi)控制度
- 售后內(nèi)控制度
- 人事勞資內(nèi)控制度
- 測量內(nèi)控制度
- 超市收款管理內(nèi)控制度
- 粉刷安全晨會(班前會)
- 2024年國網(wǎng)35條嚴(yán)重違章及其釋義解讀-知識培訓(xùn)
- (中職)中職生創(chuàng)新創(chuàng)業(yè)能力提升教課件完整版
- 部編版八年級語文上冊課外文言文閱讀訓(xùn)練5篇()【含答案及譯文】
- 高三英語一輪復(fù)習(xí)人教版(2019)全七冊單元寫作主題匯 總目錄清單
- 路基工程危險源辨識與風(fēng)險評價清單
- NB-T+10131-2019水電工程水庫區(qū)工程地質(zhì)勘察規(guī)程
- 大學(xué)基礎(chǔ)課《大學(xué)物理(一)》期末考試試題-含答案
- 管理大略與領(lǐng)導(dǎo)小言智慧樹知到期末考試答案章節(jié)答案2024年山東大學(xué)
- 小班科學(xué)《瓶子和蓋子》教案
- 草地生態(tài)系統(tǒng)的地上與地下相互作用
評論
0/150
提交評論