版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
選擇結(jié)構(gòu)程序設計4.1選擇結(jié)構(gòu)程序設計的概念4.2條件表達式4.2.1關(guān)系運算符與關(guān)系表達式關(guān)系表達式是指用關(guān)系運算符將兩個表達式連接起來的式子(例如a+b>0),關(guān)系運算符又稱比較運算符,用來對兩個表達式的值進行比較,比較的結(jié)果是一個布爾值(True或False),這個結(jié)果就是關(guān)系表達式的值。1.關(guān)系運算符
VB提供的關(guān)系運算符有以下6種,如表4-1所示。第2頁,共31頁,2024年2月25日,星期天2.關(guān)系表達式關(guān)系表達式的格式為〈表達式1〉〈關(guān)系運算符〉〈表達式2〉[〈關(guān)系運算符〉〈表達式3〉…]4.2.3運算符的優(yōu)先順序第3頁,共31頁,2024年2月25日,星期天【例4-2】判斷某個年份是閏年的根據(jù)是年份數(shù)滿足下述條件之一。
(1)能被4整除,但不能被100整除的年份都是閏年。
(2)能被100整除,又能被400整除的年份都是閏年。設變量y表示年份,寫出判斷y是否閏年的布爾表達式。解:判斷y是否滿足條件(1)的布爾表達式是yMod4=0AndyMod100<>0
判斷y是否滿足條件(2)的布爾表達式是yMod100=0AndyMod400=0
兩者取“或”,即得判斷閏年的布爾表達式y(tǒng)Mod4=0AndyMod100<>0OryMod100=0AndyMod400=0第4頁,共31頁,2024年2月25日,星期天4.3單條件選擇語句IF
4.3.1單行結(jié)構(gòu)條件語句IF…THEN…ELSE
單行If語句的語法格式為If〈條件〉Then[〈語句序列1〉][Else〈語句序列2〉]【例4-3】輸入x,計算y的值。其中:第5頁,共31頁,2024年2月25日,星期天設計步驟如下:
(1)建立應用程序用戶界面與設置對象屬性(2)編寫程序代碼。根據(jù)流程圖,可以寫出命令按鈕Command1的單擊(Click)事件代碼為PrivateSubCommand1_Click()DimxAsSingle,yAsSinglex=Val(Text1.Text)Ifx>=0Theny=1+xElsey=1–2*xText2.Text=yEndSub第6頁,共31頁,2024年2月25日,星期天【例4-5】利用輸入框函數(shù)輸入3個不同的數(shù),選出其中最大的數(shù)。分析:若a是a、b、c三個數(shù)中的最大數(shù),則應有a>b并且a>c,依此類推。設計步驟如下:
(1)建立應用程序用戶界面與設置對象屬性。(2)編寫程序代碼。根據(jù)流程圖,可以寫出命令按鈕Command1的單擊(Click)事件代碼為PrivateSubCommand1_Click()DimaAsSingle,bAsSingle,cAsSinglea=Val(InputBox("請輸入第1個數(shù):","輸入框",0))b=Val(InputBox("請輸入第2個數(shù):","輸入框",0))c=Val(InputBox("請輸入第3個數(shù):","輸入框",0))p=""&a&","&b&","&cp=p&"三個數(shù)中最大的數(shù)是:"Ifa>bAnda>cThenp=p&aIfb>aAndb>cThenp=p&bIfc>aAndc>bThenp=p&cLabel1.Caption=pEndSub第7頁,共31頁,2024年2月25日,星期天4.3.2使用IIF函數(shù)還可以使用IIf函數(shù)來實現(xiàn)一些比較簡單的選擇結(jié)構(gòu)。IIf函數(shù)的語法結(jié)構(gòu)為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第8頁,共31頁,2024年2月25日,星期天4.3.3塊結(jié)構(gòu)條件語句IF…THEN…ELSE…ENDIF其語法結(jié)構(gòu)為If〈條件1〉Then[語句列1][Else[語句列2]]EndIf4.3.4IF語句的嵌套1.IF語句的嵌套第9頁,共31頁,2024年2月25日,星期天【例4-8】鐵路托運行李,從甲地到乙地,規(guī)定每張客票托運費計算方法是行李重量不超過50kg時,0.25元/kg,超過50kg而不超過100kg時,其超過部分按0.35元/kg收費,超過100kg時,其超過部分按0.45元/kg收費。編寫程序,輸入行李重量,計算并輸出托運的費用。分析:設行李重量為wkg,應付運費為x元,則運費公式為第10頁,共31頁,2024年2月25日,星期天設計步驟如下:
(1)建立應用程序用戶界面與設置對象屬性。(2)編寫程序代碼。根據(jù)流程圖,可以寫出命令按鈕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第11頁,共31頁,2024年2月25日,星期天2.IF語句的嵌套格式ELSEIF其語法結(jié)構(gòu)為If〈條件1〉Then[語句列1]ElseIf〈條件2〉Then[語句列2]...[Else[其他語句列]]EndIf第12頁,共31頁,2024年2月25日,星期天【例4-10】在例4-9中使用帶ElseIf的塊If語句來計算出優(yōu)惠價,只需將其中命令按鈕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第13頁,共31頁,2024年2月25日,星期天4.4多分支條件選擇語句SELECTCASE4.4.1SELECTCASE結(jié)構(gòu)與語法SelectCase語句的語法格式為SelectCase〈測試條件〉[Case〈表達式表1〉[〈語句列1〉]][Case〈表達式表2〉[〈語句列2〉]]...[CaseElse[〈其他語句列〉]]EndSelect第14頁,共31頁,2024年2月25日,星期天4.5使用計時器控件【例4-13】在窗體上設計一個數(shù)字時鐘,如圖4-15所示。圖4-15數(shù)字時鐘第15頁,共31頁,2024年2月25日,星期天設計步驟如下:
(1)建立應用程序用戶界面。
(2)設置對象屬性
(3)編寫程序代碼。編寫計時器控件Timer1的Timer事件代碼:PrivateSubTimer1_Timer()Label1.Caption=Format(Time,Form1.Tag)Label2.Caption=IIf(Hour(Time)>12,"下午","上午")EndSub
第16頁,共31頁,2024年2月25日,星期天編寫命令按鈕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第17頁,共31頁,2024年2月25日,星期天4.5.3設計一個流動字幕板【例4-15】為一個應用系統(tǒng)設計流動字幕板,如圖4-19所示,標題“欲窮千里目,更上一層樓”在窗體中自右至左地反復移動。
圖4-19電子標題板圖4-20用戶界面的設計第18頁,共31頁,2024年2月25日,星期天
(2)編寫程序代碼。編寫命令按鈕Command1的Click事件代碼:PrivateSubCommand1_Click()IfCommand1.Caption="&S暫停"ThenCommand1.Caption="&C繼續(xù)"Timer1.Enabled=FalseElseCommand1.Caption="&S暫停"Timer1.Enabled=TrueEndIfEndSub編寫Timer1的Timer事件代碼:PrivateSubTimer1_Timer()IfLabel1.Left+Label1.Width>0ThenLabel1.MoveLabel1.Left–20ElseLabel1.Left=Form1.ScaleWidthEndIfEndSub設計步驟如下:
(1)建立應用程序用戶界面與設置對象屬性。第19頁,共31頁,2024年2月25日,星期天4.6提供簡單選擇的控件4.6.1選項按鈕
使用選項按鈕組【例4-16】在例4-13中使用選項按鈕組來選擇時間的格式,如圖4-21所示。
圖4-21使用選項按鈕組第20頁,共31頁,2024年2月25日,星期天設計步驟如下:
(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第21頁,共31頁,2024年2月25日,星期天2.使用圖形選項按鈕【例4-18】用圖形選項按鈕組控制流動字幕中的字體,如圖4-23所示。
圖4-23圖形選項按鈕組第22頁,共31頁,2024年2月25日,星期天設計步驟如下:
(1)建立應用程序用戶界面與設置對象屬性。
(2)編寫程序代碼。依次編寫選項按鈕Option1~Option4的Click事件代碼:PrivateSubOption1_Click()Text1.FontName="宋體"EndSubPrivateSubOption2_Click()Text1.FontName="隸書"EndSubPrivateSubOption3_Click()Text1.FontName="黑體"EndSubPrivateSubOption4_Click()Text1.FontName="楷體_GB2312"EndSub第23頁,共31頁,2024年2月25日,星期天2.使用多個復選框【例4-20】設計一個個人資料輸入窗口,使用選項按鈕組輸入性別與民族,使用復選框輸入個人愛好,如圖4-25所示。設計步驟如下:
(1)建立應用程序用戶界面。
(2)設置對象屬性。
圖4-25使用多個復選框圖4-26建立用戶界面第24頁,共31頁,2024年2月25日,星期天
(3)編寫程序代碼。編寫命令按鈕Command1的事件代碼:
Click事件:PrivateSubCommand1_Click()IfText1.Text=""Thena=InputBox("您忘了輸入姓名!","注意","請在此輸入姓名")Ifa=""Ora="請在此輸入姓名"ThenExitSubText1.Text=aEndIfp1=Text1.Text+","p2=IIf(Option1,"男","女")+","p3=IIf(Option3,"漢族","少數(shù)民族")p4=",喜歡:"第25頁,共31頁,2024年2月25日,星期天
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第26頁,共31頁,2024年2月25日,星期天習題四
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的倍數(shù) (2)n是小于正整數(shù)k的偶數(shù)
(3)|x|≥|y|或x<y (4)x,y其中有一個小于z (5)x,y都小于z (6)y
[–10,–1],并且y
[1,10]第27頁,共31頁,2024年2月25日,星期天4.3
根據(jù)所給條件,列出布爾表達式。
(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的非負數(shù)”,用VB表達式表示正確的是
(1)0≤x<100 (2)0<=x<100 (3)0<=xAndx<100
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度港口碼頭船舶燃油供應租賃合同4篇
- 2025年度臨時施工圍擋租賃及城市景觀維護合同4篇
- 二零二五年度高性能鋁模施工分包合作協(xié)議4篇
- 二零二五年文化產(chǎn)業(yè)投資與版權(quán)合作合同協(xié)議書
- 二零二五年鍋爐安裝與節(jié)能政策支持合同
- 2025年洗車行員工培訓及招聘服務合同3篇
- 二零二五年度硫酸產(chǎn)品售后服務協(xié)議4篇
- 2025年度餐飲業(yè)顧客滿意度提升售后服務代理協(xié)議書3篇
- 二零二五版農(nóng)產(chǎn)品儲藏租賃合同模板3篇
- 二零二五年度軟件開發(fā)與定制化解決方案技術(shù)服務合同規(guī)范3篇
- 銀行會計主管年度工作總結(jié)2024(30篇)
- 教師招聘(教育理論基礎)考試題庫(含答案)
- 2024年秋季學期學校辦公室工作總結(jié)
- 上海市12校2025屆高三第一次模擬考試英語試卷含解析
- 三年級數(shù)學(上)計算題專項練習附答案集錦
- 長亭送別完整版本
- 《鐵路軌道維護》課件-更換道岔尖軌作業(yè)
- 股份代持協(xié)議書簡版wps
- 職業(yè)學校視頻監(jiān)控存儲系統(tǒng)解決方案
- 《銷售心理學培訓》課件
- 2024年安徽省公務員錄用考試《行測》真題及解析
評論
0/150
提交評論