




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第4章基本控制結構4.1順序結構
4.2選擇結構
4.3循環結構
4.4嵌套
4.5應用舉例
4.6Do循環的其他結構
教學小結
習題 4.1順序結構
4.1.1輸出數據的基本方法
在VB中,輸出數據的方法比較多,經常使用的有以下三種方法。
1.調用窗體或圖片框的Print方法
前面章節已經介紹了窗體和圖片框的Print方法,本節主要通過舉例說明Print方法中Tab函數的使用。
在Print方法中,Tab函數是用于確定輸出項列位置的函數。使用時Tab函數通常和輸出項之間用分號隔開。格式為:
Print[Tab(n);]輸出項
該格式表示在窗體當前行第n列顯示輸出項的值。
例4-1
在窗體上輸出一個由“?*?”組成的等腰三角形,首行一個“?*?”,共5行。
分析:采用順序結構來完成,需要寫出5個輸出語句,每一個語句用一個Tab函數來控制輸出列的起始位置。程序代碼寫在命令按鈕的Click事件中,代碼如下:
PrivateSubCommand1_Click()
PrintTab(9);"*"
PrintTab(8);"***"
PrintTab(7);"*****"
PrintTab(6);"*******"
PrintTab(5);"*********"
EndSub在該代碼段中,Tab(9)、Tab(8)、…、Tab(5)分別用來控制每行第一個字符的輸出位置,即相對于當前窗體左邊的位置。程序執行結果如圖4-1a所示。圖4-1a用Tab函數控制列位置其實,圖片框控件也支持Print方法,其Print方法的調用格式為:
圖片框名.Print[Tab(n);]輸出項
如果將上述結果輸出到圖片框控件對象Picture1中,僅需要在窗體上添加一個圖片框(PictureBox),將例4-1所有的Print方法前加上“Picture1.”,運行結果如圖4-1b所示。圖4-1b輸出到圖片框
2.利用標簽(Label)輸出結果
利用標簽輸出結果是通過標簽的Caption屬性來實現的。方法是:將輸出內容組成字符串,作為標簽的Caption屬性值。當輸出信息較多時,還可在輸出字符串中加回車Chr(13)或換行Chr(10)控制符,使輸出效果更清晰。
例4-2
雞兔同籠問題:籠中飼養雞和兔子,總頭數為16,總腳數為40。問籠中雞和兔子各幾只?
分析:設有雞x只,兔y只,雞和兔的總頭數為h,總腳數為f。根據題意可以寫出下面的方程式:
本例中h和f的值已知,可以使用賦值語句將數據直接寫在程序中,輸出結果可以通過標簽顯示出來。
在窗體上添加1個標簽和1個命令按鈕(見圖4-2a),標簽的AutoSize為True,命令按鈕的Caption值設置為“計算”。本段代碼中,雞和兔的總頭數預先確定,計算結果(雞和兔只數)可用具體的表達式表示。結果通過Label1輸出,輸出字符串中加入了一個換行符Chr(10)實現換行功能,當然也可以用回車符Chr(13)代替換行符Chr(10)。程序運行結果如圖4-2b所示。
同樣,利用文本框的Text屬性和消息對話框MsgBox函數等,也能輸出運算結果。圖4-2a窗體布局情況圖4-2b程序運行結果
3.輸出到數據文件中
利用Print語句可以將程序處理結果直接輸出到數據文件中并保存起來,供其他程序共享使用。將數據輸出到數據文件中,必不可少的步驟有三個,分別是:
(1)利用Open語句創建數據文件。格式為:
Open文件標識ForOutputAs#文件號
其中:文件標識是由待寫入的數據文件名及路徑組成的字符串;文件號是一個內存緩沖區編號,取值范圍在1~511之間。
(2)利用Write語句寫入文件。格式為:
Write#文件號,數據1,數據2,數據3……
(3)關閉文件。格式為:
Close#文件號
例4-3
將例4-2的運算結果輸出到數據文件中。
程序代碼如下:圖4-3寫入文件中的數據4.1.2提供數據的基本方法
1.使用InputBox函數
例4-4
用InputBox函數提供數據來求解雞兔同籠問題。
在程序運行過程中,通過InputBox函數接收總頭數與總腳數,運算結果通過Print方法輸出到窗體上。
程序代碼如下:
2.使用文本框
在程序運行時為變量提供數據,除了使用InputBox函數外,還可以將文本框的Text屬性值賦給變量。
使用文本框為變量提供數據的格式為:
變量名=對象名.Text
例4-5
用文本框提供數據來求解雞兔同籠問題。
設計步驟如下:
(1)界面設計。
在窗體上添加2個文本框(Text1,Text2)、3個標簽(Label1,Label2,Label3)、1個命令按鈕(Command1),如圖4-4a所示。圖4-4a界面布局
(2)屬性設置。
標簽的AutoSize值均為True,文本框的Text和Label3.Caption為空,Label1.Caption為?"總頭數為:",Label2.Caption為?"總腳數為:",Command1.Caption為?"計算"。
(3)編寫程序代碼。程序運行時,Text1首先獲得焦點,等待用戶輸入總頭數,輸入完數據后,按Tab鍵或鼠標單擊Text2,使Text2獲得焦點,輸入總腳數,再單擊“計算”按鈕執行計算程序,計算結果通過Label3的Caption屬性顯示出來。程序運行結果如圖4-4b所示。圖4-4b運行結果
3.從文件中獲得數據
從文件中讀取數據一般分為三個步驟:
(1)利用Open語句打開文件。格式為:
Open文件標識ForInputAs#文件號
(2)利用Input語句讀出數據。格式為:
Input#文件號,變量1,變量2,變量3……
該語句可以將文件中的數據依次讀出并一一賦給對應位置的變量。
(3)關閉文件。格式為:
Close#文件號 4.2選擇結構
4.2.1If結構
If結構的流程如圖4-5所示,語法格式如下:
If<條件1>Then
<語句組1>
[ElseIf<條件2>Then
<語句組2>
……
ElseIf<條件n>Then
<語句組n>
Else
<語句組n+1>]
EndIf圖4-5If多分支結構流程圖執行過程如下:
(1)從上到下依次判斷條件,當遇到第一個條件被滿足后,便執行相應的語句組,執行完后,執行EndIf的后續語句。也就是說,首先判斷第一個條件是否成立,若成立,執行語句組1,再執行EndIf的后續語句;如果條件不成立,判斷第二個條件,處理辦法同第一個條件,……,其他依次類推。
(2)如果所有條件都不成立,則執行Else對應的語句組n+1,最后執行EndIf之后的語句。
例4-7
從鍵盤輸入血型,輸出該血型的性格特點(性格特點可以從網上獲得)。
分析:常規血型分為A、B、AB、O型四種,該題可以通過建立一個四個分支的選擇結構完成。
新建一個工程,在窗體上添加1個文本框(Text1,用于輸入血型)、1個命令按鈕(Command1)、2個標簽(Label1用于輸入提示,Label2用于輸出結果)。各控件的擺放位置如圖4-6所示。
程序代碼如下:
PrivateSubCommand1_Click()
Dimx$,y$
x=UCase(Text1.Text)
Ifx="O"Then圖4-6程序運行界面
例4-8C盤根目錄下的數據文件in.txt保存了3個整數(數據文件內容如圖4-7所示),請讀出數據并判斷以這3個數為邊長的3條線段能不能構成三角形,如果能構成三角形,求這個三角形的面積,否則,輸出信息“三邊構不成三角形!”。圖4-7數據文件內容這是一種常用的If結構,由于它只有兩個分支且兩個分支的條件互為反條件,所以簡稱為雙分支結構。雙分支結構的流程如圖4-8所示。圖4-8If雙分支結構流程圖
例4-9
設計一個整點報時程序,使其具有整點報時的功能。
程序運行后需要不斷獲得系統時間,所以需要一個計時器控件,每隔1秒鐘取一次系統時間。系統時間格式為“HH:MM:SS”,只要判斷后5位為“00:00”即可得到整點時刻。程序判斷流程為:取系統時間右5位與“00:00”比較,如果相等則報時,否則不做任何操作,程序繼續。
界面設計非常簡單,在窗體上添加1個標簽(用于顯示系統時間)、1個計時器(將其Interval屬性設置為1000)即可。程序代碼如下:程序運行界面見圖4-9,該程序運行成功的條件必須是計算機時間快到整點才行。圖4-9程序運行界面如果將條件改為:
Right(x,2)="00"
再將后面的輸出信息改動一下,就可以實現整分報時了。
本例中Else之后沒有任何操作語句,可以將Else省去,這種結構常稱為單分支結構。單分支結構流程如圖4-10所示。圖4-10單分支結構流程圖另外,VB還提供如下一種格式:
If<條件>Then<語句組1>[else語句組2]
執行過程為:當條件成立時,執行語句組1;否則執行語句組2。
4.2.2SelectCase結構
在VB中,除了If結構外,還可使用SelectCase結構完成分支選擇。
格式如下:
SelectCase結構執行過程與塊If多分支結構相同,即按照從上到下的順序進行條件判斷,執行首次條件成立時對應的Case語句組中的語句之后,再執行EndSelect的后續語句。Select多分支結構流程如圖4-11所示。圖4-11Select多分支結構流程圖
例4-10
用SelectCase結構計算分段函數。
程序代碼如下:
PrivateSubCommand1_Click()
DimxAsSingle,yAsSingle
x=Val(InputBox("請輸入變量的值"))
SelectCasex
CaseIs>=10 '情況:x>=10
y=x^2+1
CaseIs>=-5 '情況:x>=-5andx<10
y=0
CaseIs<-5 '情況:x<-5
y=x^2-1
EndSelect
Print"x=";x,"";"y=";y
EndSub還要進一步說明的是,SelectCase結構與塊If多分支結構均屬于“多中選一”的情況,但各有所長,在表示多分支簡單條件時兩者均可,SelectCase結構似乎更清晰些;當遇到復合條件時,只能使用塊If結構,而不能使用SelectCase結構。
例4-11
編程判斷從鍵盤上輸入的日期(格式:YYYY-MM-DD)是否合法。例如月份在1~12之間就為合法日期,另外還要考慮閏年的情況;為了簡化程序,這里也對年份做出規定,要求在1900~3000之間。
程序代碼如下:4.2.3有關函數
IIf()和Choose()函數為條件判斷函數,根據不同情況返回不同的值。
1.IIf函數
格式:
IIf(條件,表達式1,表達式2)
說明:當條件成立時,該函數返回表達式1的值,否則返回表達式2的值。
2.Choose函數
格式:
Choose(整數表達式,選項列表)
說明:根據整數表達式的值,決定函數返回選項列表中的某個值。如果整數表達式的值為1,則返回選項列表中的第一個選項值;如果是2,則返回第二個選項值,依此類推。若整數表達式的值小于1或大于列出的選項數時,函數返回空值(Null)。
例4-12
根據系統當前日期,輸出今天是星期幾?
分析:使用date函數獲取系統的當前日期,使用Weekday(d)函數返回一周中的第幾天(返回值為數字1~7)。程序實現時最容易想到的就是使用多分支結構,根據Weekday(d)的值輸出“星期日”、“星期一”……“星期六”,這樣程序會非常冗長。
如果使用Choose函數,關鍵問題是構造Choose函數中的第一個參數“整數表達式”,使其取值范圍為1~7,第二個參數便是“星期日”、“星期一”……“星期六”列表。
程序代碼如下:
PrivateSubCommand1_Click()
DimdAsDate,xAsInteger,yAsString
d=Date
x=Weekday(d)
y=Choose(x,"日","一","二","三","四","五","六")
Print"星期"&y
EndSub
通過比較可以看出,選擇合適的函數可以優化程序結構,減少代碼行。 4.3循環結構
循環結構也是結構化程序設計的三種基本結構之一。在程序中,把重復執行一組指令(程序段)的操作稱為循環操作。根據循環次數預先確定與否,循環結構分為循環次數確定的For…Next結構和循環次數不確定的Do…Loop結構。其中,Do…Loop結構又可以分為前測試循環和后測試循環兩種,每一種結構又對應了兩種形式,如圖4-12所示。圖4-12循環結構形式4.3.1DoWhile…Loop循環結構
前測試當型循環DoWhile…Loop結構表示為:
DoWhile<循環條件>
<循環體>
Loop
DoWhile…Loop循環執行流程如圖4-13所示。圖4-13DoWhile…Loop循環執行流程圖
例4-13
計算1?+?2?+?3?+?…?+?10的值。
分析:這是一個累加問題。假設變量n表示累加數,變量s表示累加和,變量i表示累加次數,累加模型s=s+n,其中n的第一個數為1,最后一個數為10,相鄰兩個數之間相差為1。
算法分析如下:
(1)給變量n、s和i賦初值0。
(2)一次累加過程如下:
n=n+1 '計算累加數
s=s+n '累加
i=i+1 '計算累加次數
(3)重復累加10次,操作如下:
DoWhilei<10
累加操作語句組
Loop
(4)輸出計算結果。
程序代碼如下:
PrivateSubCommand1_Click()
Dimi%,s%,n%表4-1例4-13執行過程
例4-14
設某工廠當年產值為13億,如果每年以5%的平均速度增長,問經過多少年后該工廠的產值達到或超過18億。
分析:設x為當年產值,y為經過1年后的產值,則y=x×(1?+?0.05);判斷y值是否達到或超過18億(即判斷y≥18是否成立),如果不成立,則讓x=y(即年末產值為下年年初值),n?=?n?+?1(n為經過的年數);依次類推,直到y≥18成立時結束。
程序代碼如下:分析程序運行過程可以看出,該問題的實質是一個累乘問題,即在13億的基礎上循環累乘1+0.05,累乘了多少次,就是經過了多少年,當累乘結果大于或等于18億時,結束累乘。應用到累乘模型“f?=?f?*?i”。程序代碼如下:
Dimx!,n%
x=13
n=0
Dowhilex<18
x=x*(1+0.05)'x經過1年后的產值,可作為下年年初值
n=n+1
Loop
MsgBox"經過"&n&"年以后,產值達到或超過"&x&"億"
其實,有些問題(如例4-13)的循環次數預先是可以計算出來的,當循環次數已知時,用For…Next結構比DoWhile…Loop結構會更簡單。4.3.2For…Next循環結構
對于循環次數已知的循環,除了可以用DoWhile…Loop結構外,還可用For…Next結構。格式如下:
For循環變量=初值To終值[Step步長]
<循環體>
Next[循環變量]
For…Next循環的執行流程如圖4-14所示。圖4-14For…Next循環執行流程圖 4.4嵌套
嵌套是指在一個控制結構中包含另一個控制結構,例如選擇中嵌套選擇,選擇中嵌套循環,循環中嵌套循環等。根據嵌套層數不同,可以有二重嵌套、三重嵌套甚至多重嵌套。
例4-16
求方程ax2?+?bx?+?c?=?0的解。
分析:方程的系數a、b、c的值使用InputBox通過鍵盤提供。在程序實現過程中,應根據a、b、c的不同取值情況,得到相應的解。為幫助讀者理解判斷過程,圖4-15給出了一元二次方程求解的流程。圖4-15一元二次方程求解流程圖
(1)程序中包括三個雙分支結構和一個多分支結構,在調試程序時要注意嵌套關系。
(2)程序的縮進格式寫法,讀者可以試一下,如果不縮進將會如何?
(3)引入中間變量p、q的目的是簡化后面表達式。
(4)對復數解的輸出格式控制,要注意Print之后是一個字符串表達式,這個字符串表達式是由五個部分通過4個“&”符號連接而成的。
(5)對于多分支程序的調試,每一種可能性都要考慮。
例4-17
打印九九乘法口訣表(如圖4-16所示)。圖4-16九九乘法表運行結果分析:九九乘法口訣表由9行組成,每行有9列。在設計算法時,可以這樣考慮問題:
(1)外循環控制行,循環變量用i表示,循環體執行9次,每次輸出九九表中的一行。程序框架為:
Fori=1To9
輸出一行的操作處理
Nexti
(2)內循環控制列,循環變量用j表示,循環體執行9次,每次完成一列的計算和輸出。程序框架為:
Forj=1To9
列的計算與輸出
Nexti循環嵌套是學習中的難點,讀寫程序時往往無從下手,下面的總結對讀者的學習會有幫助,請注意仔細思考并積極應用。
(1)讀程序時,循環執行順序時先外循環后內循環,內循環是外循環的循環體;在編寫程序時,先要明確什么樣的事情做多少次以及這樣的事情如何做,可用外循環控制做多少次,內循環實現這樣的事情如何做。
(2)嵌套時,內層循環必須完全嵌套在外層循環之內,即內外層循環不能交叉,外層要完全包含內層。
(3)在循環嵌套中,內外循環的循環變量不能同名。
(4)多重循環中如果用ExitDo或ExitFor退出循環,要注意只能退出ExitDo或ExitFor所對應的循環。
(5)采用縮進格式書寫代碼可以有效地防止嵌套混亂。
例4-18
在C盤根目錄下有數據文件in.dat,其中有10組數據,每組3個數據,如圖4-17所示。讀出每組數據,如果能夠構成三角形,輸出這個三角形的面積;否則輸出相應的信息。圖4-17a數據文件內容圖4-17b程序運行結果 4.5應用舉例
1.不定方程
例4-19
我國古代數學家張丘建在《算經》中提出一個不定方程問題,即“百雞問題”:公雞每只5元,母雞每只3元,小雞3只1元,100元錢買100只雞,三種雞都要有。問:公雞、母雞、小雞各可買多少只?
分析:設可買公雞x只、母雞y只、小雞z只,根據數學知識可以寫出下面的方程式:這是一個由3個未知數、2個方程組成的不定方程組,有多組解,可用窮舉法求解。窮舉法是對所有可能的解一一列舉,從中判斷哪些解符合題設條件的求解方法。考慮到100元最多買20只公雞或33只母雞,所以x的取值范圍應該在1~20之間,y的取值范圍應該在1~33之間。
程序代碼如下:
PrivateSubCommand1_Click()
Dimx%,y%,z%
Forx=1To20該程序中的判斷語句共運行了20?×?33?×?100次,實際上,知道了公雞和母雞的只數后,小雞可以直接推算出來,即z?=?100?-?x?-?y,而不需要再用循環了。所以,程序可以優化為:
PrivateSubCommand1_Click()
Dimx%,y%,z%
Forx=1To20 '確定買公雞的只數
2.計數、累加、累積
進行累加、累積和計數是程序設計中的最基本問題之一,本節舉例中不可能列舉完所有問題,下面是在例4-13的基礎上選擇的一個典型應用。
例4-20
求任意數n的階乘。
分析:計算階乘要做累積運算,應用累積器“f=f*i”,累積器的初值一般為1。
程序代碼如下:
3.最大公約數與最小公倍數
例4-21
給定任意兩個整數m、n,求最大公約數和最小公倍數。
分析:設已知的兩個整數m和n,x為最小公倍數,假設m?>?n,x的取值范圍為[m,m?×?n],可用窮舉的辦法求解。
對x從m開始的每一個可能的取值,判斷能否同時被m、n整除(即是否是公倍數),若是,x必定是m和n的最小公倍數,程序運行結束;如果不是,則判斷下一個x,依次類推,直到x的取值為m?×?n為止。
最大公約數算法與最小公倍數類似,設y為最大公約數,y的范圍是[1,n],程序實現時,y的取值從n開始,判斷過程與求最小公倍數類似。這種方法效率較低。求最大公約數可采用經典的輾轉相除法,并在求出最大公約數后,最小公倍數就等于兩個原數的乘積除以最大公約數。
算法描述如下:
(1)將m除以n得余數r。
(2)若r=0,則n為求得的最大公約數,循環結束;若r?≠?0,則執行(3)。
(3)將n賦給m,將r賦給n,再重執行(1)、(2)步。
程序代碼如下:
PrivateSubCommand1_Click()
Dimm%,n%,r%
4.質數
質數也叫素數,是指只能被1和它本身整除的自然數。最小的質數是2。
例4-22
從鍵盤輸入一個數m,判斷是否為質數。
分析:判斷一個數m是否為質數的方法很多,最基本的是從質數的定義來求解,其思路是將2~m?-?1之間的整數依次去整除m,若都不能整除m,則m為質數,只要其中有一個數能整除m,則m就不是質數。
程序代碼如下:
4.6Do循環的其他結構
Do…Loop結構除了上面講的DoWhile…Loop以外,還有其他幾種結構。盡管沒有這幾種結構完全可以解決各種循環問題,但靈活應用各種不同的循環結構,可以進一步優化程序設計。對Do循環的其他結構的學習要求:
(1)掌握各種結構的語法格式;
(2)掌握循環執行過程;
(3)正確區別Do…Loop的各種結構;
(4)學會使用不同的結構解決同一個問題,比較循環條件和計算循環次數。
1.無條件循環Do…Loop
Do…Loop循環流程如圖4-18所示。語法結構為:
Do
循環體
Loop
從圖4-18可以看出,這是一個無條件的循環結構,要退出循環,必須執行ExitDo語句(通常放在選擇結構中),否則會造成死循環。(調試程序時如遇到死循環,可用Ctrl+Break強行結束。)
例4-23
用Do…Loop結構實現例4-14。
程序代碼如下:圖4-18無條件循環流程圖
2.后測試當型循環Do…LoopWhile
Do…LoopWhile循環結構為:
Do
循環體
LoopWhile<循環條件>
Do…LoopWhile循環的特點是先執行一次循環體,再判斷循環條件,條件成立則繼續循環,否則退出循環。Do…LoopWhile循環的流程如圖4-19所示。圖4-19Do…LoopWhile循環的流程圖
3.前測試直到型DoUntil…Loop
DoUntil…Loop語法結構為:
DoUntil<循環條件>
循環體
Loop
DoUntil…Loop循環的特點是先判斷循環條件,條件不成立則執行循環,條件成立就退出循環。DoUntil…Loop循環的流程如圖4-20所示。圖4-20DoUntil…Loop循環的流程圖
4.后測試直到型循環Do…LoopUntil
Do…LoopUntil語法結構為:
Do
循環體
LoopUntil<循環條件>
Do…LoopUntil循環的特點是先執行循環體,后判斷循環條件,條件不成立執行循環,條件成立退出循環。Do…LoopUntil循環的流程如圖4-21所示。圖4-21Do…LoopUntil循環的流程圖
5.前測試當型循環While…Wend
While…Wend循環的功能和執行方式與DoWhile…Loop循環結構完全相同。其語法結構為:
While<循環條件>
循環體
Wend
While…Wend循環的特點是先判斷循環條件,條件成立執行循環體,否則退出循環。
教學小結
順序結構、選擇結構和循環結構是程序設計語言的三大基本結構,這部分內容既是學習重點,又是難點,特別是循環結構。對于這三種結構,在校園中流傳有“上課能聽懂,下課想不通,作業做不來”的說法。編者認為,要掌握好本章內容,首先要熟記選擇結構和循環結構中具有代表性結構的語法構成,理解其執行過程;其次要培養自己的邏輯思維能力。本書中的應用舉例涉及了初學者學習程序設計時的許多基本問題,建議精讀典型例題,用人腦來模仿程序的運行過程,這樣既能培養、鍛煉邏輯思維能力,又能深化對語法結構的理解,還能提高學習質量;最后,要敢于動手,面對具體編程問題,按照分析問題、確定算法、設計界面、編寫代碼等步驟完成。“照貓畫虎”也是初學者學習編程的好方法。
(1)順序結構是最簡單的結構,本書重點介紹輸入、輸出數據的基本方法。
(2)選擇結構相對容易,建議將If結構作為重點掌握內容。
(3)循環結構較難掌握,分為For…Next和Do…Loop兩種結構。本章把For…Next和Do…Loop結構中的DoWhile…Loop結構作為重點。
(4)使用VB編寫應用程序,主要包括界面設計和事件代碼設計兩方面的任務。基本方法是用可視化編程技術進行界面設計,用結構化程序設計思想編寫事件代碼。
習題
一、選擇題
1.下面正確的賦值語句是
。
(A)
x+y=30 (B)
y=r*r,x=1
(C)?y=x+30 (D)?3y=x
2.為了給x、y、z三個變量賦初值1,下面正確的賦值語句是
。
(A)?x=1:y=1:z=1 (B)?x=1,y=1,z=1
(C)?x=y=z=1 (D)?xyz=1
3.閱讀下面的程序段:
Dimn1%,n2%
n1=InputBox("請輸入第一個數:")
n2=InputBox("請輸入第二個數:")
Printn1+n2
當輸入分別為111和222時,程序輸出為
。
(A)?111222 (B)?222
(C)?333 (D)程序出錯
4.下列語句中可以將變量a、b的值互換的是
。
(A)
a=b:b=a
(B)
a=a+b:b=a-b:a=a-b
(C)
a=c:c=b:b=a
(D)
a=(a+b)/2:b=(a-b)/2
5.執行完程序段:
DimaAsBoolean,bAsBoolean
a=2:b=0
Printa+b
輸出結果為
。
(A)?-1 (B)?2 (C)?True (D)?False
6.為使連續兩個Print方法的輸出項在同一行輸出,則應在前一個尾部加
。
(A)逗號或分號均可 (B)只能加逗號
(C)只能加分號 (D)不用加何任符號
7.下面求兩個數中較大數的程序段中,
不正確。
(A)?Max=IIf(x>y,x,y)(B)?Ifx>yThenMax=xElseMax=y
(C)?Max=x(D)?Ify>=xThenMax=y
?Ify>xThenMax=y?Max=x
8.下面語句執行后,變量W的值是
。
W=Choose(Int(2.6),"Red","Green","Blue","Yellow")
(A)?Null (B)?"Red"
(C)?"Green" (D)?"Yellow"
9.用If結構實現分段函數f?(x)= ,下列不正確的程序段是
。
(A)?f=x*x+3
Ifx>=1thenf=sqr(x+1)
(B)?Ifx>=1thenf=sqr(x+1)
Ifx<1thenf=x*x+3
(C)?Ifx>=1thenf=sqr(x+1)
f=x*x+3
(D)?Ifx<1thenf=x*x+3elsef=sqr(x+1)
10.設x的值為5,執行以下語句時,其輸出結果為“Result”的SelectCase語句是
。
11.設a=4,b=3,c=2,d=1,則表達式IIf(a<b,a,IIf(c>d,c,d))的結果為
。
(A)?4 (B)?3
(C)?2 (D)?1
12.下列程序段的執行結果為
。
X=5
Y=-20
IfNotX>0ThenX=Y-3ElseY=X+3
(A)?-33 (B)?5-8
(C)?3-3 (D)?25-25
13.下列程序段的執行結果為
。
A=79
IfA>50ThenI=5
IfA>60ThenI=6
IfA>70ThenI=7
IfA>80ThenI=8
Print“I=”;I
(A)?I=5 (B)?I=6
(C)?I=7 (D)?I=8
14.用SelectCase語句選擇|x|>10情況的語句為:Case
。
(A)?Not(-10To10) (B)?-10To10
(C)?Is<-10,Is>10 (D)?Abs(x)>10
15.若x=0,執行語句IfxThenx=0Elsex=1的結果是
。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 共享汽車項目投資計劃書
- 空調出租合同協議書圖片
- 股份轉讓合同協議書模板
- 廣告標書維修服務方案
- 企業數字化轉型的戰略規劃與實施案例
- 中國聚烯烴熱塑性彈性體項目投資計劃書
- 物流分站加盟合同協議書
- 就業協議書是勞動合同
- 健身工作室好評文案
- 制作合同協議書原聲視頻
- 骨痿臨床路徑及表單
- 六年級下冊美術(嶺南版)期末測試題
- 2023年年全國職業院校技能大賽(中職組)2023年液壓與氣動系統裝調與維護賽項樣題D卷(模塊2)
- 西方思想經典-南京大學中國大學mooc課后章節答案期末考試題庫2023年
- 2023年06月廣東惠州市人民檢察院招考聘用勞動合同制司法輔助人員8人上岸筆試必備資料歷年題庫參考附答案詳解
- 家校攜手決戰中考-九年級家長會課件
- 2022-2023學年畢節地區赫章縣六年級下學期小升初真題精選數學試卷含答案
- 幼兒園學前-《紙花開放》教學設計學情分析教材分析課后反思
- 蘇州昆山鹿城村鎮銀行2023年招聘人員筆試歷年難、易錯考點試題含答案附詳解
- 營養專科護士理論考核試題及答案
- 山西煤炭運銷集團錦瑞煤業有限公司煤炭資源開發利用、地質環境保護與土地復墾方案
評論
0/150
提交評論