




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
選擇結構程序設計第一頁,共三十一頁,編輯于2023年,星期二4.1選擇結構程序設計的概念4.2條件表達式4.2.1關系運算符與關系表達式關系表達式是指用關系運算符將兩個表達式連接起來的式子(例如a+b>0),關系運算符又稱比較運算符,用來對兩個表達式的值進行比較,比較的結果是一個布爾值(True或False),這個結果就是關系表達式的值。1.關系運算符
VB提供的關系運算符有以下6種,如表4-1所示。第二頁,共三十一頁,編輯于2023年,星期二2.關系表達式關系表達式的格式為〈表達式1〉〈關系運算符〉〈表達式2〉[〈關系運算符〉〈表達式3〉…]4.2.3運算符的優先順序第三頁,共三十一頁,編輯于2023年,星期二【例4-2】判斷某個年份是閏年的根據是年份數滿足下述條件之一。
(1)能被4整除,但不能被100整除的年份都是閏年。
(2)能被100整除,又能被400整除的年份都是閏年。設變量y表示年份,寫出判斷y是否閏年的布爾表達式。解:判斷y是否滿足條件(1)的布爾表達式是yMod4=0AndyMod100<>0
判斷y是否滿足條件(2)的布爾表達式是yMod100=0AndyMod400=0
兩者取“或”,即得判斷閏年的布爾表達式yMod4=0AndyMod100<>0OryMod100=0AndyMod400=0第四頁,共三十一頁,編輯于2023年,星期二4.3單條件選擇語句IF
4.3.1單行結構條件語句IF…THEN…ELSE
單行If語句的語法格式為If〈條件〉Then[〈語句序列1〉][Else〈語句序列2〉]【例4-3】輸入x,計算y的值。其中:第五頁,共三十一頁,編輯于2023年,星期二設計步驟如下:
(1)建立應用程序用戶界面與設置對象屬性(2)編寫程序代碼。根據流程圖,可以寫出命令按鈕Command1的單擊(Click)事件代碼為PrivateSubCommand1_Click()DimxAsSingle,yAsSinglex=Val(Text1.Text)Ifx>=0Theny=1+xElsey=1–2*xText2.Text=yEndSub第六頁,共三十一頁,編輯于2023年,星期二【例4-5】利用輸入框函數輸入3個不同的數,選出其中最大的數。分析:若a是a、b、c三個數中的最大數,則應有a>b并且a>c,依此類推。設計步驟如下:
(1)建立應用程序用戶界面與設置對象屬性。(2)編寫程序代碼。根據流程圖,可以寫出命令按鈕Command1的單擊(Click)事件代碼為PrivateSubCommand1_Click()DimaAsSingle,bAsSingle,cAsSinglea=Val(InputBox("請輸入第1個數:","輸入框",0))b=Val(InputBox("請輸入第2個數:","輸入框",0))c=Val(InputBox("請輸入第3個數:","輸入框",0))p=""&a&","&b&","&cp=p&"三個數中最大的數是:"Ifa>bAnda>cThenp=p&aIfb>aAndb>cThenp=p&bIfc>aAndc>bThenp=p&cLabel1.Caption=pEndSub第七頁,共三十一頁,編輯于2023年,星期二4.3.2使用IIF函數還可以使用IIf函數來實現一些比較簡單的選擇結構。IIf函數的語法結構為IIf(〈條件表達式〉,〈真部分〉,〈假部分〉)【例4-6】例4-3中命令按鈕Command1的單擊(Click)事件代碼可以改為PrivateSubCommand1_Click()DimxAsSingle,yAsSinglex=Val(Text1.Text)y=IIf(x>=0,1+x,1–2*x)Text2.Text=yEndSub第八頁,共三十一頁,編輯于2023年,星期二4.3.3塊結構條件語句IF…THEN…ELSE…ENDIF其語法結構為If〈條件1〉Then[語句列1][Else[語句列2]]EndIf4.3.4IF語句的嵌套1.IF語句的嵌套第九頁,共三十一頁,編輯于2023年,星期二【例4-8】鐵路托運行李,從甲地到乙地,規定每張客票托運費計算方法是行李重量不超過50kg時,0.25元/kg,超過50kg而不超過100kg時,其超過部分按0.35元/kg收費,超過100kg時,其超過部分按0.45元/kg收費。編寫程序,輸入行李重量,計算并輸出托運的費用。分析:設行李重量為wkg,應付運費為x元,則運費公式為第十頁,共三十一頁,編輯于2023年,星期二設計步驟如下:
(1)建立應用程序用戶界面與設置對象屬性。(2)編寫程序代碼。根據流程圖,可以寫出命令按鈕Command1的單擊(Click)事件代碼為PrivateSubCommand1_Click()DimwAsSingle,xAsSinglew=Val(Text1.Text)Ifw<=50Thenx=0.25*wElseIfw<=100Thenx=0.25*50+0.35*(w–50)Elsex=0.25*50+0.35*50+0.45*(w–100)EndIfEndIfText2.Text=xEndSub第十一頁,共三十一頁,編輯于2023年,星期二2.IF語句的嵌套格式ELSEIF其語法結構為If〈條件1〉Then[語句列1]ElseIf〈條件2〉Then[語句列2]...[Else[其他語句列]]EndIf第十二頁,共三十一頁,編輯于2023年,星期二【例4-10】在例4-9中使用帶ElseIf的塊If語句來計算出優惠價,只需將其中命令按鈕Command1的單擊(Click)事件代碼改為PrivateSubCommand1_Click()DimxAsSingle,yAsSinglex=Val(Text1.Text)Ifx<1000Theny=xElseIfx<2000Theny=0.95*xElseIfx<3000Theny=0.9*xElseIfx<5000Theny=0.85*xElsey=0.08*xEndIfText2.Text=yEndSub第十三頁,共三十一頁,編輯于2023年,星期二4.4多分支條件選擇語句SELECTCASE4.4.1SELECTCASE結構與語法SelectCase語句的語法格式為SelectCase〈測試條件〉[Case〈表達式表1〉[〈語句列1〉]][Case〈表達式表2〉[〈語句列2〉]]...[CaseElse[〈其他語句列〉]]EndSelect第十四頁,共三十一頁,編輯于2023年,星期二4.5使用計時器控件【例4-13】在窗體上設計一個數字時鐘,如圖4-15所示。圖4-15數字時鐘第十五頁,共三十一頁,編輯于2023年,星期二設計步驟如下:
(1)建立應用程序用戶界面。
(2)設置對象屬性
(3)編寫程序代碼。編寫計時器控件Timer1的Timer事件代碼:PrivateSubTimer1_Timer()Label1.Caption=Format(Time,Form1.Tag)Label2.Caption=IIf(Hour(Time)>12,"下午","上午")EndSub
第十六頁,共三十一頁,編輯于2023年,星期二編寫命令按鈕Command1的Click事件代碼:PrivateSubCommand1_Click()IfCommand1.Caption="改為12小時"ThenForm1.Tag="hh:mm:ssAM/PM"Command1.Caption="改為24小時"Label2.Visible=TrueElseForm1.Tag="hh:mm:ss"Command1.Caption="改為12小時"Label2.Visible=FalseEndIfEndSub第十七頁,共三十一頁,編輯于2023年,星期二4.5.3設計一個流動字幕板【例4-15】為一個應用系統設計流動字幕板,如圖4-19所示,標題“欲窮千里目,更上一層樓”在窗體中自右至左地反復移動。
圖4-19電子標題板圖4-20用戶界面的設計第十八頁,共三十一頁,編輯于2023年,星期二
(2)編寫程序代碼。編寫命令按鈕Command1的Click事件代碼:PrivateSubCommand1_Click()IfCommand1.Caption="&S暫停"ThenCommand1.Caption="&C繼續"Timer1.Enabled=FalseElseCommand1.Caption="&S暫停"Timer1.Enabled=TrueEndIfEndSub編寫Timer1的Timer事件代碼:PrivateSubTimer1_Timer()IfLabel1.Left+Label1.Width>0ThenLabel1.MoveLabel1.Left–20ElseLabel1.Left=Form1.ScaleWidthEndIfEndSub設計步驟如下:
(1)建立應用程序用戶界面與設置對象屬性。第十九頁,共三十一頁,編輯于2023年,星期二4.6提供簡單選擇的控件4.6.1選項按鈕
使用選項按鈕組【例4-16】在例4-13中使用選項按鈕組來選擇時間的格式,如圖4-21所示。
圖4-21使用選項按鈕組第二十頁,共三十一頁,編輯于2023年,星期二設計步驟如下:
(1)修改程序用戶界面與設置對象屬性。
(2)編寫新增控件的事件代碼。編寫選項按鈕Option1的Click事件代碼:PrivateSubOption1_Click()Form1.Tag="hh:mm:ssAM/PM"Label2.Visible=TrueEndSub
編寫選項按鈕Option2的Click事件代碼:PrivateSubOption2_Click()Form1.Tag="hh:mm:ss"Label2.Visible=FalseEndSub第二十一頁,共三十一頁,編輯于2023年,星期二2.使用圖形選項按鈕【例4-18】用圖形選項按鈕組控制流動字幕中的字體,如圖4-23所示。
圖4-23圖形選項按鈕組第二十二頁,共三十一頁,編輯于2023年,星期二設計步驟如下:
(1)建立應用程序用戶界面與設置對象屬性。
(2)編寫程序代碼。依次編寫選項按鈕Option1~Option4的Click事件代碼:PrivateSubOption1_Click()Text1.FontName="宋體"EndSubPrivateSubOption2_Click()Text1.FontName="隸書"EndSubPrivateSubOption3_Click()Text1.FontName="黑體"EndSubPrivateSubOption4_Click()Text1.FontName="楷體_GB2312"EndSub第二十三頁,共三十一頁,編輯于2023年,星期二2.使用多個復選框【例4-20】設計一個個人資料輸入窗口,使用選項按鈕組輸入性別與民族,使用復選框輸入個人愛好,如圖4-25所示。設計步驟如下:
(1)建立應用程序用戶界面。
(2)設置對象屬性。
圖4-25使用多個復選框圖4-26建立用戶界面第二十四頁,共三十一頁,編輯于2023年,星期二
(3)編寫程序代碼。編寫命令按鈕Command1的事件代碼:
Click事件:PrivateSubCommand1_Click()IfText1.Text=""Thena=InputBox("您忘了輸入姓名!","注意","請在此輸入姓名")Ifa=""Ora="請在此輸入姓名"ThenExitSubText1.Text=aEndIfp1=Text1.Text+","p2=IIf(Option1,"男","女")+","p3=IIf(Option3,"漢族","少數民族")p4=",喜歡:"第二十五頁,共三十一頁,編輯于2023年,星期二
IfCheck1.Value=1Thenp4=p4+Check1.Caption+"、"IfCheck2.Value=1Thenp4=p4+Check2.Caption+"、"IfCheck3.Value=1Thenp4=p4+Check3.Caption+"、"IfCheck4.Value=1Thenp4=p4+Check4.Caption+"、"aa=p1+p2+p3+IIf(p4=",喜歡:",",無愛好。",p4)Label4.Caption=Left(aa,Len(aa)–1)+"。"Text1.SetFocusEndSub
編寫文本框Text1的Change事件代碼:PrivateSubText1_Change()Label4.Caption=""EndSub第二十六頁,共三十一頁,編輯于2023年,星期二習題四
4.1
寫出下列各表達式的值。
(1)2*3>=8 (2)"BCD"<"BCE" (3)"12345"<>"12345"&"ABC" (4)Not2*5<>11 (5)4=4And5>2+2 (6)8<>5OrNot10>12+3 (7)2^3>3And5<10 (8)3>4And7=54.2
用布爾表達式表示下列命題。
(1)n是m的倍數 (2)n是小于正整數k的偶數
(3)|x|≥|y|或x<y (4)x,y其中有一個小于z (5)x,y都小于z (6)y[–10,–1],并且y[1,10]第二十七頁,共三十一頁,編輯于2023年,星期二4.3
根據所給條件,列出布爾表達式。
(1)閏年的條件是:年號(year)能被4整除,但是不能被100整除;或者能被400整除。
(2)一元二次方程ax2+bx+c=0有實根的條件為:a≠0,并且b2–4ac
≥0。
(3)征兵的條件是:男性(sex)年齡(age)在18~20歲之間,身高(size)在1.65m以上;或者女性(sex)年齡(age)在16~18歲之間,身高(size)在1.60m以上。
(4)分房的條件為:已婚(marrigerat),年齡(age)在26歲以上,工作年限(workingage)在5年以上。
4.4“x是小于100的非負數”,用VB表達式表示正確的是
(1)0≤x<100 (2)0<=x<100 (3)0<=xAnd
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人與企業的承包合同模板
- 二人股權轉讓合同書
- 二手手機買賣合同樣本
- 合作伙伴銷售代理合同范本
- 專家課件視頻職業
- 人才交流合同
- 高速公路標志牌工程承包合同
- 不玩火安全教育課件
- 煙臺汽車工程職業學院《材料結構基礎與應用B》2023-2024學年第二學期期末試卷
- 長沙師范學院《人體形態與結構》2023-2024學年第二學期期末試卷
- 上海市幼兒園幼小銜接活動指導意見(修訂稿)
- 采購績效管理制度
- 卡西歐手表EFA-120中文使用說明書
- 加油站變更管理制度
- 75%食用酒精安全技術說明書(MSDS)
- -小學英語人稱代詞與物主代詞講解課件(共58張課件).課件
- 醫學課件疼痛的護理
- 船舶采購建造 投標方案(技術方案)
- 走近湖湘紅色人物智慧樹知到答案2024年湖南工商大學
- 2024年初級養老護理員職業鑒定考試題庫(含答案)
- 模塊21.CR400AF型動車組轉向架 《高速鐵路動車組機械設備維護與檢修》教學課件
評論
0/150
提交評論