高中信息技術(shù)《算法與程序設(shè)計(jì)VB(選修)》(完整版)_第1頁
高中信息技術(shù)《算法與程序設(shè)計(jì)VB(選修)》(完整版)_第2頁
高中信息技術(shù)《算法與程序設(shè)計(jì)VB(選修)》(完整版)_第3頁
高中信息技術(shù)《算法與程序設(shè)計(jì)VB(選修)》(完整版)_第4頁
高中信息技術(shù)《算法與程序設(shè)計(jì)VB(選修)》(完整版)_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第一章算法與算法的描述1算法的定義算法:就是解決問題的思想方法,對解題過程的精確描述。計(jì)算機(jī)解決問題的步驟為分析問題、設(shè)計(jì)算法、編寫 程序、調(diào)試程序。算法是程序設(shè)計(jì)的“靈魂”,最核心過程。2. 法的特征一個算法應(yīng)該具有以下五個重要的特征:1、 有窮性:一個算法必須保證執(zhí)行有限步之后結(jié)束;2、 確定性:算法的每一步驟必須有確切的定義;3、 輸入:一個算法有 0個或多個輸入,以刻畫運(yùn)算對象的初始情況,所謂0個輸入是指算法本身定出了初始 條件;4、輸出:一個算法有一個或多個輸出,以反映對輸入數(shù)據(jù)加工后的結(jié)果。沒有輸出的算法是毫無意義的;5、可行性:算法中執(zhí)行的任何計(jì)算步都是可以被分解為基本的可執(zhí)行的

2、操作步,即每個計(jì)算步都可以 在有限時間內(nèi)完成;(也稱之為有效性)3. 算法的描述方法算法的描述:可分多種表達(dá)方法,一般用自然語言、流程圖和偽代碼進(jìn)行描述。(1) 自然語言描述法:指用人們?nèi)粘I钪惺褂玫恼Z言(本國語言),用自然語言描述符合我們的習(xí)慣,且容易理解。例1求圓的周長和面積算法如下:(自然語言描述法)(1) 輸入半徑r ;(2) 計(jì)算周長c=2* n *r ;(3) 計(jì)算面積s= n *r*r(4) 輸出周長c,輸出面積s ;(5) 結(jié)束例2:工人每天工作8小時,每小時9元,超過8小時的每小時增加 15%勺加班費(fèi),計(jì)算工人每天的應(yīng)發(fā)的日工資。(1) 輸入工作小時X(2) 判斷X值,分別

3、計(jì)算X小于8,工資=X*9X大于 8,工資=X*9+ (X-8)*9*0.15(3) 輸出工資(4) 結(jié)束練習(xí):求三個數(shù)中的最大數(shù)。(用自然語言描述)(2) 流程圖描述: 也稱程序框圖,它是算法的一種圖形化表示方法。且描述算法形象、直觀,更易理解。常用的“流程圖”所用的基本符號及功能程序框名稱功能開始/結(jié)束框表示算法的開始或結(jié)束口輸入/輸出框表示算法中變量的輸入或輸出處理框表示算法中變量的賦值與計(jì)算O判斷框表示算法中的條件判斷流程線表示算法中的流向0連接點(diǎn)表示算法中的連接第3頁例1求圓的周長和面積開始/ 輸入rC 2* n *rs J n *r*r7輸出c,s結(jié)束練習(xí):求三個數(shù)中的最大數(shù)。(用

4、流程圖描述)(3) 偽代碼描述法: 是介于自然語言和計(jì)算機(jī)程序語言之間的一種算法描述。是專業(yè)軟件開發(fā)人員常用方法。 流程圖的基本圖形及功能:例1求圓的周長和面積input rc=2* n *rs= n *r*rprint c,s練習(xí):求三個數(shù)中的最大數(shù)。(用偽代碼描述)4. 程序與程序語言(1) 程序的定義: 程序?qū)嶋H上是一組及其操作的指令或語句的序列,是算法的一種描述(2) 程序的基本特征:程序一共有七個基本特征1、程序中,每一個算法的步驟對應(yīng)著程序設(shè)計(jì)語言的一個或多個語句,每個語句對應(yīng)一個或者多個操作。每個操作都要求有執(zhí)行對象,并且根據(jù)對象狀態(tài)變化形成動作的效果,同事可變的對象用變量來表示

5、,變量的值的變化則可通過操作賦值來完成。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)的實(shí)體,而執(zhí)行語句的進(jìn)程是動態(tài)的。(3) 程序的基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。(4) 程序設(shè)計(jì)語言的的產(chǎn)生和發(fā)展1、機(jī)器語言:二進(jìn)制代碼指令2、匯編語言:類似英語

6、縮略詞且?guī)в兄浶苑柕恼Z言,每條匯編指令和一條機(jī)器指令相對應(yīng),只是指令碼和操作數(shù)都采用符號形式。而這種語言是不能被機(jī)器直接接受,必須用一種語言翻譯器將程序中的每條語句翻譯成機(jī)器語言才能執(zhí)行。3、高級語言:高級語言本身不是一種語言,只是一類語言的分類。用高級語言編寫的程序必須經(jīng)過翻譯器將其翻譯成機(jī)器語言,才能在計(jì)算機(jī)上執(zhí)行。常見的高級語言:C語言、C+、pascal、java、C# VB Basic(5) 程序的編輯和翻譯1、程序的編輯:以匯編語言或者高級語言所編寫的程序被稱為“源代碼”,這些代碼需要我們逐一的輸入 到計(jì)算機(jī)中。并把他們以文件的形式保存起來,這個過程稱為程序的編輯2、程序的翻譯

7、:前面的學(xué)習(xí)中使我們知道,計(jì)算機(jī)只能識別和執(zhí)行二進(jìn)制的機(jī)器語言代碼,而我們用級語言或匯編語言編寫的程序要想被計(jì)算機(jī)執(zhí)行,必須翻譯成機(jī)器語言程序,最終才能被計(jì)算機(jī)執(zhí)行。高級語言的翻譯程序一般則有兩種類型:編譯程序和解釋程序。練習(xí)題:1下面對算法描述正確的一項(xiàng)是:()A、算法只能用自然語言來描述B算法只能用圖形方式來表示C同一問題可以有不同的算法 D同一問題的算法不同,結(jié)果必然不同2下面關(guān)于算法描述正確的是()(A) 算法不可以用自然語言表示(B)算法只能用框圖來表示(C)一個算法必須保證它的執(zhí)行步驟是有限的(D)算法的框圖表示法有0個或多個輸入,但只能有一個輸出3、圖形符號” 口 在算法流程圖描

8、述中表示(). A處理或運(yùn)算的功能B輸入輸出操作C用來判斷條件是否滿足需求D算法的開始或結(jié)束4、以下哪個是算法的描述方法?()A流程圖描述法 B 枚舉法C順序法 D 列表法5、下面的語句是一個計(jì)算機(jī)程序的操作說明:(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)如果z 7,則執(zhí)行語句(7),否則返回語句(2)繼續(xù)進(jìn)行;(7)打印 n, z;(8)程序終止.由語句(7)打印出的數(shù)值為

9、 ,.6、 以下屬于計(jì)算機(jī)程序語言的有()A、匯編語言B 、高級語言 C、機(jī)器語言D、低級語言7、執(zhí)行程序時,程序中的每一條語句至少要運(yùn)行一次()8、最早的程序設(shè)計(jì)語言是匯編語言()9、 程序設(shè)計(jì)語言是指人們編制程序所使用的計(jì)算機(jī)語言,VB是低級語言()10、高級語言翻譯程序有兩種類型:解釋程序和編譯程序()第二章程序設(shè)計(jì)基礎(chǔ)第一節(jié)常量、變量的定義VB程序的一般包括如下部分:(1)數(shù)據(jù)類型說明部分(2)數(shù)據(jù)的輸入部分(3)數(shù)據(jù)的處理部分(4)數(shù)據(jù)的輸出部分例:求圓的周長和面積Private Sub Comma nd1_Click()Dim r As Single / 定義r為單精度型Dim c

10、 As Single / 定義c為單精度型Dim s As Single /定義s為單精度型r = inputbox(輸入半徑r ”) 輸入半徑rc = 2 * 3.14159 * r /計(jì)算周長s = 3.14159 * r * r /計(jì)算面積print c /輸出周長print s /輸出面積End Sub、常量:在程序進(jìn)行過程中不變的量,在VB中一般分?jǐn)?shù)值常量與字符常量兩種。第3頁數(shù)值常量:就是數(shù)學(xué)中說的常數(shù),分整型常量和實(shí)型常量兩種整型常量:即整數(shù),指不帶小數(shù)點(diǎn)的數(shù)值如1、0、-10、+35等都是合法的整數(shù)實(shí)型常量:即實(shí)數(shù),指帶小數(shù)點(diǎn)的數(shù)值。實(shí)型常量又分為定點(diǎn)數(shù)和浮點(diǎn)數(shù)兩種。例:定點(diǎn)數(shù)

11、:3.14159 和-6.8,1.99浮點(diǎn)數(shù):2E6、1E53例:1.2345 X 10可表示為1.2345E3,字母E表示底數(shù)10浮點(diǎn)數(shù)就是數(shù)學(xué)上的科學(xué)計(jì)數(shù)法。Visual字符串常量:被一對雙引號括起來的若干個合法的字符稱為字符串常量。例如:” ChinaBasic”、” 18”、” 3.1415 ”等,雙引號中字符,不包括雙引號本身。符號常量:如果多次用到同一個常量,則可用一個有意義的名字表示這個常量。二、變量:在程序執(zhí)行過程中,其值可以改變的量稱為變量 變量命名注意要點(diǎn):1、必須以字母開頭,不能以數(shù)字或其他字符開頭。2、只能由字母、漢字、數(shù)字學(xué)或下劃線組成,不能含有小數(shù)點(diǎn)、空格等字符。3

12、、最長不超過255個字符4、不能以VB保留字作變量名,如語句定義符、函數(shù)名等。5、 VB不區(qū)分變量名中字母大小寫。如HELLO和Hello是同一個變量。表2-1常用數(shù)據(jù)類型整型In teger從-32768 到 32767長整型Long從-2147483648 到 2147483647單精度實(shí)型Si ngle負(fù)數(shù)-3.402823E+38 到-1.401298E-45正數(shù) 1.40129E-45 到 3.402823E38 但它只有 7位有效數(shù)字雙精度實(shí)型Double絕對值小于10的數(shù),它有15位有效數(shù)字日期型Date(Time)如:#2008-01-31# #01/31/2008#字符型St

13、ri ng女口: “中國”,zhongguo”布爾型Boolea nTrue 或 False三、常量和變量的定義符號常量的聲明:Const常量名As常量類型=常量值女口: Con st pi As Si ngle = 3.14159常量名為 pi變量的聲明:Dim 變量名As 變量類型女口: Dim a As In teger定義一個整型變量,變量名為a變量的賦值:變量=表達(dá)式例:Private Sub Form_Click()Dim a As In teger, b As In teger, c As In tegerDim str As Stri nga = 54b = 114c = a

14、+ bstr = Hello WorldPrin t a=; a, b=; b, c=; cPrint strEnd Sub四、運(yùn)算符1、算術(shù)運(yùn)算:+-*A/mod加減乘乘方除整除取余A指數(shù)例:2A2 = 4/(浮點(diǎn))除例: 5 / 2 = 2.5=等于大于小于大于等于小于等于不等于 整除例:5 2 = 2Mod 求余數(shù)例: 5 Mod 2 = 12、關(guān)系運(yùn)算注意:關(guān)系表達(dá)式的運(yùn)算結(jié)果為布爾值True或False例:3 2結(jié)果為True(真或是)3、邏輯運(yùn)算Not (取反)And (與)Or (或)運(yùn)算結(jié)果為布爾型(Boolean)True或False邏輯運(yùn)算符的優(yōu)先級為:No And Or4

15、、日期運(yùn)算符與日期表達(dá)式日期表達(dá)式是用日期運(yùn)算符“ +”或“-”將算式表達(dá)式、日期型常量、日期型變量、日期函數(shù)等連接起來的式子,如表達(dá)式“ #2003/09/01# +30 ”的運(yùn)算結(jié)果是“ 2003-10-1 ”;表達(dá)式“ #2003/10/20# - #2003/10/10#” 的運(yùn)算結(jié)果為整數(shù)105、字符運(yùn)算字符串連接符為“ +”和“ &“ 123” + “ 45” = “ 12345”“ 123” & “ 45” = “ 12345”123 +“ 45” = 168“ 123” + 45 = 168運(yùn)算符的執(zhí)行順序:在VB中,當(dāng)一個表達(dá)式中同時出現(xiàn)多種運(yùn)算符時,運(yùn)算次序由運(yùn)算符的優(yōu)先級

16、決定,優(yōu)先級高的運(yùn)算符先運(yùn)算,優(yōu)先級相同的從左向右進(jìn)行運(yùn)算。不同性質(zhì)的運(yùn)算符優(yōu)先級如下。算術(shù)運(yùn)算符 字符串運(yùn)算符 關(guān)系運(yùn)算符 邏輯運(yùn)算符6、常用函數(shù)函數(shù)名說明示例結(jié)果Sin( X)X弧度的正弦Sin (0)0Cos (X)X弧度的余弦Cos (0)1Tan( X)X弧度的正切Tan (0)0Atn( X)X用弧度表示的反正切值A(chǔ)tn (0)0Abs( X)X的絕對值A(chǔ)bs (-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,得到

17、-1,X=0得到0Sgn (-3.5 )-1Int (X)不大于給定數(shù)X的最大整數(shù)Int (-1.6 )-2Fix ( X)X的整數(shù)部分Fix (-1.6 )-1Cint ( X)類型為:In teger -32276832767小數(shù)部分四舍五入CLng( X)類型為:Long -2147483648 2147483647小數(shù)部分四舍五入Mid( C,N1,N2)從C中N1位開始取出長度為 N2的子串Mid( “ABCDEFG, 3, 2)“ CDRight(C,N)返回字符串右邊N個字符Right( “ ABCDEFG ,3)“ EFGLeft(C,N)返回字符串左邊N個字符Left( “

18、ABCDEFG ,3)“ ABCLen (C,N)測量字符串的長度Len( “VB學(xué)習(xí)的開始”)7Space(N)產(chǎn)生N個空格組成的字符串“ ABC & “Space(N) ” &“113”“ ABC 123”第7頁Date()返回當(dāng)前系統(tǒng)日期(yy-mm-dd)Date()或 Date04-12-18Time()返回系統(tǒng)時間Time()或 Time10:36:08練習(xí)題:1下列變量名寫法錯誤的是()A abc_123 B 、 123abc C 、 abc123 D 、 abc2、 下列語句中定義了一個實(shí)型變量的是()A Dim end as Integer B 、Dim sum As Sin

19、gleC Dim Name As String D、其它三項(xiàng)都不對3、 在VB中,以下關(guān)于符號常量的聲明,聲明正確的是:()A Dim TAG as String B 、Const TAG as String Visual + BasicC Con st TAG as Stri ng =Visual Basic D、Const TAG as Stri ng4、 下面()不是字符串常量A True B 、#False# C 、 D 、你好”5、分析 s=113 + 11 Mod 3,s 的值是().A 5 B、6 C、4 D 、36、 下面表達(dá)式的值是false的有().A 969 n97 B

20、、Int(4.99) len(basic) C、str(2000) 27、設(shè)a=2, b=3,在VB中,表達(dá)式 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、表達(dá)式 Abs(-3.6)*sqr(100) 的值是()。A -36 B、360 C、36 D、-36010、 下列()數(shù)據(jù)類型不是數(shù)值型。A Date B 、SingleC 、Double D 、Integer11、 下列函數(shù)中,返回值是字符串的是().A Mid B

21、、In str C 、Val D 、Len1 .2gt12、代數(shù)表達(dá)式2表達(dá)式后錯誤的是(、g*tA2/2、gtA2/2A g*t*t/2 B、1/2*g*tA2 C2a b13、數(shù)學(xué)式子 4ab在VB中的正確寫法是:A (2*a+b)/4*a B 、(2*a+b)/(4ab) C14、判斷x是否在區(qū)間a, b 上,在VB中以哪個邏輯表達(dá)式是正確的A 、 ax and x=b15、向n變量存入 選項(xiàng): x=Left( n, 1) x=Left( n, 1)( )、(2a+b)(4ab) D、(2*a+b)/(4*a*b)?()B、 ax=b C 、ax and x x and x=b1個2位整

22、數(shù),要使此 2位數(shù)十位和個位上的值分別存入x, y變量。正確的算法是()。X、BCD丫二門-x*10 Print x:Pri nt y y=Right( n, 1) Print x:Pri nt yx=n/10 y=n-x*10 Print x:Print y x=Int(n/10) y=n-x*10 Print x:Print yx變量中的小寫字母轉(zhuǎn)成大寫字母。正確的算法是().16、向x變量中輸入任意一個小寫字母,再將 選項(xiàng):A輸人字母到 B輸人字母到 C輸人字母到 D輸人字母到x a=Asc(x)-32x=chr(x) Print xx a=Asc(x)+32 x=chr(x) Prin

23、t xx a=Val(x) 一 32 x=Chr(x) Print xx a=Val(x)+32x=Chr(x) Print x第二節(jié)程序的順序結(jié)構(gòu)第6頁一、賦值語句1. 格式:變量名 = 表達(dá)式 功能:將右邊的表達(dá)式的值賦給左邊的變量(1)“變量”可以是簡單變量,也可以是字符變量;(2)“=”是賦值符號,它的含義將表達(dá)式的值賦給左邊的變量。(3)表達(dá)式代表一個數(shù)值或一個字符串。例 1:A=123;A=B;B=2*3;A=A+10;C$ = “ CHINA”2. 賦值語句的功能:計(jì)算功能和賦值功能3. 注意事項(xiàng)(1)賦值語句不是代數(shù)等式,賦值號與等號形同而意不同;(2)賦值語句類型必須匹配;(

24、3)把字符串賦給串變量時,該字符串必須用雙引號括起來;(4)變量單元每次只能存一個數(shù)據(jù),但可以多次賦值。女口: C$= “COMPUTER注意:“ $”是區(qū)分字符串變量的的標(biāo)志,即要在變量名后加“ $”構(gòu)成字符串變量,同時,字符串用雙引號括起 來,然后才賦給字符串變量。二、輸入數(shù)據(jù)的函數(shù)InputBox ()是提供從鍵盤輸入數(shù)據(jù)的函數(shù)。利用它可產(chǎn)生一個對話框,提示用戶輸入數(shù)據(jù)并單擊命令按鈕。該 函數(shù)返回值是字符串類型( string )。InputBox ()的語法格式為: InputBox (提示信息,標(biāo)題,默認(rèn)值,位置)提示信息: 指對輸入數(shù)據(jù)的提示,顯示在對話框中,不能省略 標(biāo)題:指運(yùn)行

25、此函數(shù)后彈出的對話框的標(biāo)題。默認(rèn)值:指默認(rèn)的輸入數(shù)據(jù)值 位置:指運(yùn)行此函數(shù)后彈出的對話框的左上角在屏幕上的位置 注意:提示信息和標(biāo)題是用引號引起來的字符串三、輸出數(shù)據(jù)的方法1、基本格式:Print輸出內(nèi)容注意: 1、輸出內(nèi)容可以是數(shù)、變量、表達(dá)式,也可以是用引號括起來的字符串;2、如果輸出內(nèi)容是數(shù),變量,表達(dá)式,則輸出的是數(shù),變量,表達(dá)式,如果是用引號引起來的字符串, 則原樣輸出;3、多個輸出內(nèi)容,可以用逗號或分號分隔; 如果用分號,則后面一個輸出緊跟前一個輸出; 如果是逗號, 則分區(qū)格式輸出;4、如果輸出內(nèi)容后面沒有符號,則表示下一個Print 換行輸出,如果 print 中沒有輸出內(nèi)容,則

26、表示輸出一個空行。程序設(shè)計(jì)的順序結(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 SingleDim m As Singlex = inputbox(請輸入 X的值”)y = inputbox(請輸入 Y的值”)m = xx = yy = m / 交換數(shù)據(jù)print x ,yEnd Sub例 2:從鍵盤上輸入一個三位數(shù),然后將它反向輸出,如:輸入456,輸出 654。(1) 分析問題設(shè)X為輸入的三位整數(shù),丫為X的方向

27、輸出。因?yàn)?X的百位、十位、個位分別為:X1=X100X2=(X-X1*100)10X3=X-X1*100-X2*10 所以 Y=X3*100+X2*10+X1(2) 設(shè)計(jì)算法輸入X的值計(jì)算:X1=X100計(jì)算:X2=(X-X1*100)10計(jì)算:X3=X-X1*100-X2*10計(jì)算:Y=X3*100+X2*10+X1輸出Y的值( 3)編寫程序Private sub command_click()Dim x as integer, x1 as integer, x2 as integer, x3 as integer, y as integerX=inputbox( “x=”, ”輸入” )

28、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程序運(yùn)行后,變量x的值為().x=2Print x+lPrint x+23、 執(zhí)行以下程序,在彈出的第1個輸入框輸入“ 10”,第 2個輸入框輸入“ 15”,則輸出的結(jié)果為()。Dim a As Integer, b As Integera = In putBox(輸入

29、,a=)b = In putBox(輸入,b=)Print a; +;b; =,a+bA. b+a=25 B. 10+15=25 C. a+b=25 D. 15+10=254、 已知A,B, C,D是整型變量,且都已有互不相同的值,執(zhí)行語句“B=8: A=C: D=A: D=B ”后,其值相等的 變量是( )。A. A ,D B. A ,C C. C ,B D. B ,A5、 要交換變量 A和B之值,應(yīng)使用的語句組是()。A. A=B :B=C:C=A B. C=A :A=B:B=CC. A=B:B=AD. C=A: B=A: B=C6、有如下 Visual Basic 程序段:m = VBn

30、 = ist = easyt = m + n + t該程序段運(yùn)行后,變量 t 的值為。7、試編寫一個程序,實(shí)現(xiàn)輸入一個四位數(shù)的數(shù),然后將它倒序輸出。第三節(jié) 程序設(shè)計(jì)的分支結(jié)構(gòu)一、行 If 語句行 If 是指在一行中寫完的 If 語句。其一般格式為:格式一: If 條件 Then 語句功能:執(zhí)行這種形式的If語句時,首先對條件進(jìn)行判斷。若條件成立,則執(zhí)行Then后面的語句;若條件不成立,則執(zhí)行 If 語句后繼程序行的語句格式二: If 條件 Then 語句 1 Else 語句 2功能: 執(zhí)行這種形式的語句時,先進(jìn)行判斷。若條件成立,則執(zhí)行語句1;否則執(zhí)行語句 2。例 1:輸入三個不相同的數(shù),求出

31、其中最小數(shù)。Private Sub Form_Click()Dim a As Single, b As Single, c As SingleDim Min As Singlea = InputBox(輸入a, 輸入框)b = InputBox(輸入b, 輸入框)c = InputBox(輸入c, 輸入框)If a b Then Min = a Else Min = bIf c = 60 ThenPrint 及格 End IfIf a =0 thenx1=(-b+sqr(d)/2第13 頁else x1=(-b-sqr(d)/2 end if print “x1=” ;x1, ” x2=” ;

32、x2 End Sub練習(xí)題 :1 、以下是一段 Visual Basic 程序 :If I=1 ThenX=X+1ElseX=X*2End If它的基本結(jié)構(gòu)屬于 ( ).A、選擇結(jié)構(gòu)B、循環(huán)結(jié)構(gòu)C、順序結(jié)構(gòu) D樹型結(jié)構(gòu)2、下列程序段運(yùn)行后,變量Value 的值是( )x = 20If x = 10 ThenValue = 5 * xElseValue = 4 * xEnd IfA、 100 B 、 80 C 、 90 D 、 70 3、如要完成 : 從鍵盤輸入一個正整數(shù),判斷是否是奇數(shù),如是就在屏幕上顯示。比較好的算法是 ()選項(xiàng):A、輸人的數(shù)存人n 變量 f=(n/2=Int(n/2)如果

33、f 中的值為 True 就顯示 n 中值B輸人的數(shù)存人C輸人的數(shù)存人n 變量 f=(n/2=Int(n/2)n 變量如果 n/2=Int(n/2)如果f中的值為False就顯示n中值 成立,就顯示 n 中值D輸人的數(shù)存人 n變量如果4、下面是判斷變量 x 是不是能被n/2=Int(n/2) 不成立,就顯示 n 中值5 整除的偶數(shù)的程序,橫線上的邏輯表達(dá)式應(yīng)為Private Sub commandl_Click()If =Print0 Then“這個數(shù)是能被 5 整除的偶數(shù)”Dim x As Integer x=Val(Text1. Text)ElsePrint “這個數(shù)不是能被 5 整除的偶數(shù)

34、” End If 選項(xiàng):A、(x Mod 5) = 0 And (x Mod 2 ) = 0B、x Mod 10 = 0C、 x Mod 5 = 0D、 x Mod 2 = 05、如要完成 : 從鍵盤輸入一個正整數(shù),判斷是否是偶數(shù),如是就在屏幕上顯示。比較好的算法是 ()。選項(xiàng):A、輸入的數(shù)存人n 變量 f=(n/2=Int(n/2)B、輸入的數(shù)存人n 變量 f=(n/2=Int(n/2)C、輸入的數(shù)存人n 變量如果n/2=Int(n/2)D、輸入的數(shù)存人n 變量如果n/2=Int(n/2)6、下列程序段運(yùn)行后,m 的值為 ()如果 f 中的值為 True 就顯示 n 中值如果f中的值為Fal

35、se就顯示n中值 成立,就顯示 n 中值不成立,就顯示 n 中值If A b The n m = A Else m = bIf c m The n m = c選項(xiàng):A 1B 2C 5D提示錯誤,無答案第四節(jié) 程序設(shè)計(jì)的循環(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+100Private Sub Form_Click()Dim i As In tegerDim sum As In tegersum = 0For i = 1 To 100 step 1sum = sum + i 循

36、環(huán)體Next iPrin t 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)變量的值大于終值時;若

37、為負(fù),則是指循環(huán)變量 的值小于終值。例 2: 編寫程序,使能打印下面所示的圖案。程序:Private Sub Form_Click()Dim i As IntegerDim j As IntegerFor i = 1 To 6For j = 1 To iPrint “”;Next jPrintNext iEnd Sub一個FOR循環(huán)里包含了另一個FOR我們稱它為嵌套循環(huán)。練習(xí)題 :1、 閱讀如下程序,跟蹤程序的執(zhí)行過程,觀察變量A的值的變化,寫出循環(huán)結(jié)束時變量A的值、循環(huán)次數(shù)和程序的運(yùn)行結(jié)果。 privaate sub command1_click()for A=1 TO 10print AN

38、ext AEnd Sub privaate sub command1_click()For A=1 To 100S=S+ANext APint“ S=” ;SEnd Sub privaate sub command1_click()For A=100 To 1 step -1S=S+ANext APrint“s=”;sEnd Sub privaate sub command1_click()For A=1 To 10A=A+1Print ANext AEnd Sub2、 閱讀下面程序,輸出結(jié)果是 ( )Private Sub Form_Click()Dim i As Integer:Dim s

39、 As Integers = 0For i = 1 To 5s = s + iNext iPrint s,i End Sub 選項(xiàng):A 156 B 、s=153、試編寫一個程序,求出4、試編寫一個程序,求出i=5i=6 C、65 D 、s=6100以內(nèi)能被3整除的所有正整數(shù)。1*2*3 *100 積。二、Do Loop 循環(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 Comma nd1_Click()Dim a As In te

40、gerDim b As In tegerDim r As In tegera = InputBox(輸入 a)b = InputBox(輸入 b)r = a Mod bDo While r 0a = bb = rr = a Mod bLoopPrint bEnd Sub當(dāng)VB執(zhí)行Do While-Loop循環(huán)時,先判斷指定的條件是否為真,若條件為真,執(zhí)行循環(huán)體,條件為假時退出循 環(huán)。格式二:Do循環(huán)體Loop Un til 條件這種循環(huán)的執(zhí)行過程如圖所示。進(jìn)入循環(huán)體后,先執(zhí)行一次循環(huán)體 A然后再檢查條件 P是否成立。如果不成立, 就重復(fù)執(zhí)行循環(huán)體 A,直到條件P成立退出循環(huán)體。第17頁15億?設(shè)現(xiàn)在人口為 12.3例4:如果我國人口每年以平均1.5%的速度增長,問多少年后我國人口達(dá)到或超過億。Private Sub Form_Click()Dim p As SingleDim r As SingleDim n As Integerp = 1230000000r = 0.015n = 0Dop = p * (1 + r)n = n + 1Loop Until p = 1500000000Print n; 年后, 人口=; p End Sub練習(xí)題 :1在VB中,以下程序段x=0Do While x50x=(x+2)*(x+3)

溫馨提示

  • 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

提交評論