算法與程序設(shè)計知識梳理_第1頁
算法與程序設(shè)計知識梳理_第2頁
算法與程序設(shè)計知識梳理_第3頁
算法與程序設(shè)計知識梳理_第4頁
算法與程序設(shè)計知識梳理_第5頁
已閱讀5頁,還剩90頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

算法與程序設(shè)計知識梳理第1頁,課件共95頁,創(chuàng)作于2023年2月算法—計算機(jī)求解某一問題的方法,是能被機(jī)械地執(zhí)行的動作或指令的有窮集合。有輸入——一個算法有零個或多個輸入;確定性——算法的每一個步驟必須要確切地定義;有窮性——一個算法在執(zhí)行有窮步之后必須結(jié)束;有輸出——算法有一個或多個輸出;能行性——算法中有待執(zhí)行的運算和操作必須是相當(dāng)基本的。(運算和操作能精確地執(zhí)行)算法的描述用自然語言描述算法用流程圖描述算法用偽代碼描述算法第2頁,課件共95頁,創(chuàng)作于2023年2月程序框名稱功能開始/結(jié)束算法的開始或結(jié)束輸入/輸出變量的輸入或輸出處理變量的計算與賦值判斷算法中的條件判斷流程線算法中的流向連接點表示算法中的轉(zhuǎn)接常用的“流程圖”所用的基本符號第3頁,課件共95頁,創(chuàng)作于2023年2月程序設(shè)計語言產(chǎn)生與發(fā)展過程

程序設(shè)計語言發(fā)展經(jīng)歷了機(jī)器語言、匯編語言和高級語言的過程。

機(jī)器語言是用“0”和“1”二進(jìn)制代碼表示的計算機(jī)能直接識別和執(zhí)行的一種機(jī)器指令的集合

匯編語言(符號語言)是用一些簡潔的英文字母、符號串來替代一個特定的指令中的二進(jìn)制串

高級語言:接近于數(shù)學(xué)語言或人的自然語言,同時又不依賴于計算機(jī)硬件,編出的程序能在所有機(jī)器上通用。例如:vb、pascal、c、c++等第4頁,課件共95頁,創(chuàng)作于2023年2月第5頁,課件共95頁,創(chuàng)作于2023年2月用計算機(jī)程序解決問題的基本過程設(shè)計算法分析問題編寫程序調(diào)試程序檢測結(jié)果第6頁,課件共95頁,創(chuàng)作于2023年2月VB語言介紹

VB語言是誰創(chuàng)建的,哪一年推出的?

VB語言可以做什么呢?

VB語言屬于第幾代語言?

VB語言的特點是什么?微軟1991年可以做任何事簡單易學(xué)VB(VisualBasic)語言是Windows環(huán)境下快速開發(fā)應(yīng)用程序的可視化編程工具??梢暬褐饕亲尦绦蛟O(shè)計人員利用軟件本身所提供的各種控件,像搭積木式地構(gòu)造應(yīng)用程序的各種界面,然后再編寫少量的代碼就可構(gòu)建應(yīng)用程序。第四代第7頁,課件共95頁,創(chuàng)作于2023年2月1.2VB6.0的啟動與退出1.2.1VB6.0的啟動1.啟動VB6.0的步驟(1)“開始”→“程序”→“MicrosoftVisualBasic6.0中文版文件夾”→“MicrosoftVisualBasic6.0的圖標(biāo)”。(2)單擊MicrosoftVisualBasic6.0圖標(biāo),系統(tǒng)顯示“新建工程”對話框。在該對話框中選擇希望創(chuàng)建的工程類型。2.雙擊桌面的快捷方式3.啟動VB6.0的界面第8頁,課件共95頁,創(chuàng)作于2023年2月1.2VB6.0的啟動與退出第9頁,課件共95頁,創(chuàng)作于2023年2月1.2VB6.0的啟動與退出1.2.2VB6.0的退出退出VB6.0的方法(1)方法一單擊“文件”菜單下的“退出”子菜單。(2)方法二使用組合鍵Alt+Q。(3)方法三使用組合鍵Alt+F4。(4)方法四單擊窗體右上角的“關(guān)閉”按鈕。用上述4種方法關(guān)閉VB6.0時,如果用戶的程序沒有保存,系統(tǒng)會提示用戶對所做的工作進(jìn)行保存,以保存所有程序的修改(當(dāng)系統(tǒng)提示工程部件的名稱和位置時,直接指定所需的名稱和位置即可)。第10頁,課件共95頁,創(chuàng)作于2023年2月1.2VB6.0的啟動與退出1.2.3VB6.0文件的保存

在窗體和代碼都設(shè)計好后,應(yīng)該保存文件,以防止調(diào)試或運行程序時發(fā)生死機(jī)而造成文件丟失。在保存文件時,只需選擇“文件”菜單中的“保存工程”菜單項或單擊工具欄中的“保存工程”按鈕即可。在VB6.0中進(jìn)行保存,常用“保存工程”命令,而在保存過程中,必須保存兩次,一次是以.frm為擴(kuò)展名的文件保存,另一次是以.vbp為擴(kuò)展名的文件保存。前者是保存應(yīng)用程序的窗體文件,后者是保存應(yīng)用程序的工程文件。如果希望以另外的文件名存盤,可以選擇“文件”菜單中的“工程另存為”菜單項。第11頁,課件共95頁,創(chuàng)作于2023年2月1.3VB6.0的“工作室”布局窗口屬性窗口工程窗口窗體設(shè)計窗口代碼窗口控件工具箱按這里可以運行程序、暫停程序和停止程序第12頁,課件共95頁,創(chuàng)作于2023年2月VB6.0的“工作室”1、控件工具箱窗口:提供編程所需的控件

①與大多數(shù)軟件一樣有共同點:標(biāo)題欄、菜單欄、工具欄、工作區(qū)

②不同地方:控件工具箱、窗體設(shè)計窗口、代碼窗口、VB工程管理器、屬性窗口、窗體布局窗口第13頁,課件共95頁,創(chuàng)作于2023年2月VB6.0的“工作室”2、窗體窗口:是VB的主窗口——設(shè)計界面窗口在程序設(shè)計階段,是進(jìn)行程序界面的可視化設(shè)計的窗口在程序運行階段,是用戶與該窗體中的控件交互信息的窗口第14頁,課件共95頁,創(chuàng)作于2023年2月VB6.0的“工作室”3、工程資源管理器—工程窗口

作用:是管理工程中各個組件(1)查看代碼:

顯示代碼窗口

(2)查看對象:

顯示對象設(shè)計窗口

(3)切換文件夾:

改變列表區(qū)的顯示方式

第15頁,課件共95頁,創(chuàng)作于2023年2月VB6.0的“工作室”4、屬性窗口:可查看和編輯窗體或控件的屬性

作用:主要用來設(shè)定一個對象的初始外觀屬性名功能ForeColor設(shè)置前景色BackColor設(shè)置背景顏色Font設(shè)置字體和字號ScaleHeight窗體內(nèi)部垂直高度ScaleWidth窗體內(nèi)部水平寬度Picture設(shè)置加載的圖片Height設(shè)置高度Width設(shè)置寬度top對象頂端與容器頂端緣之間的距離left對象左邊與容器左邊緣之間的距離Visible對象是否可見true:可見false:不可見Backstyle背景是否透明(0:透明1:不透明)AutoSize自動調(diào)整大小顯示所有內(nèi)容。Style外觀是Win標(biāo)準(zhǔn)風(fēng)格還是圖形風(fēng)格第16頁,課件共95頁,創(chuàng)作于2023年2月VB6.0的“工作室”5、窗體布局窗口功能:控制所編寫的應(yīng)用程序出現(xiàn)在屏幕上的位置

只要拖動該屏幕窗口中的設(shè)計窗口到所在位置,則運行程序時,窗口就顯示在屏幕所在位置。第17頁,課件共95頁,創(chuàng)作于2023年2月VB6.0的“工作室”常用窗口的作用窗口作用控件工具箱提供編程所需的控件,與窗體共同構(gòu)成應(yīng)用程序的界面代碼窗口輸入程序代碼窗體設(shè)計器窗口進(jìn)行程序界面的可視化設(shè)計的窗口工程資源管理器窗口是管理工程中各個組件屬性窗口可查看和編輯窗體或控件的屬性,主要用來設(shè)定一個對象的初始外觀窗體布局窗口控制所編寫的應(yīng)用程序出現(xiàn)在屏幕上的位置第18頁,課件共95頁,創(chuàng)作于2023年2月在VisualBasic中,有3種工作模式,分別是“設(shè)計”、“中斷”和“運行”。在“設(shè)計”模式下,可以進(jìn)行用戶界面的設(shè)計和代碼的編寫、修改,來完成應(yīng)用程序的開發(fā);在“運行”模式下,不能對窗體界面和代碼進(jìn)行修改,只能查看程序運行的結(jié)果;“中斷”模式使應(yīng)用程序暫時中斷運行,這時可以編輯代碼,但不可以修改界面,同時彈出一個窗口,用戶可對程序進(jìn)行調(diào)試監(jiān)控。中斷后,按下“運行”按鈕或F5鍵可以繼續(xù)運行,按下“結(jié)束”按鈕可以結(jié)束程序運行。VisualBasic的3種工作模式第19頁,課件共95頁,創(chuàng)作于2023年2月

VB中的常用數(shù)據(jù)類型數(shù)據(jù)類型關(guān)鍵字取值范圍存儲空間整型(%)

Integer-32768~327672個字節(jié)長整型(&)

Long-2147483648~21474836474個字節(jié)單精度型(!)

Single負(fù)數(shù):-3.402823E38~1.401298E-45正數(shù):1.401298E-45~3.402823E384個字節(jié)雙精度型(#)

Double負(fù)數(shù):-1.797693134E308~-4.940656458-324正數(shù):4.940656458E-324~1.797693134E3088個字節(jié)字符串型($)String定長字符串:0~65535個字符不定長字符串:0~20億個字符231-1個字符布爾型BooleanTrue或False2個字節(jié)日期型Date100/1/1~9999/12/318個字節(jié)第20頁,課件共95頁,創(chuàng)作于2023年2月常量與變量1、常量在程序運行過程中保持不變的量稱為常量。常量有數(shù)值常量和字符常量兩種。數(shù)值常量類似數(shù)學(xué)中的常數(shù),如120;字符常量是用一對雙引號括起來的字符串,如”信息技術(shù)”,”hello”,””(空字符串)。如果程序中多次用到同一個常量,往往用一個有意義的符號表示,這個常量稱為符號常量,代表常量的符號稱為“常量名”,其定義形式如下:

Const常量名[As類型]=表達(dá)式如:ConstPI=3.1415926第21頁,課件共95頁,創(chuàng)作于2023年2月2、變量在程序運行過程中發(fā)生變化的量稱為變量。3、變量的命名規(guī)則:A、必須以字母或漢字開頭。B、只能由字母、漢字、數(shù)字和下劃線組成。C、字符個數(shù)不能超過255個。D、VB變量不區(qū)分大小寫。E、變量名不能取VB的保留字。保留字又稱為關(guān)鍵字,由VB專用,具有特殊的含義,例如:Print、Sub、End等都是VB中的保留字。4、變量聲明變量必須先聲明后使用。VB中變量聲明的方法是:

Dim<變量名>As<數(shù)據(jù)類型>例如:DimNAsInteger第22頁,課件共95頁,創(chuàng)作于2023年2月5、算術(shù)運算符與算術(shù)表達(dá)式表達(dá)式是由變量、常量、運算符、函數(shù)和圓括號等按一定的規(guī)則組合而成的。VB中有算術(shù)表達(dá)式、字符串表達(dá)式、日期表達(dá)式、關(guān)系表達(dá)式與邏輯表達(dá)式。運算符號含義運算優(yōu)先級實例結(jié)果^指數(shù)15^225-取負(fù)2-5+2-3*乘法35*210/除法45/22.5\整除55\22mod求余65Mod21+加法75+27-減法85-23第23頁,課件共95頁,創(chuàng)作于2023年2月6、算術(shù)運算符注意事項:A、整除(\)運算時,若運算量為實數(shù),則先取整,后相除,結(jié)果為整型或者長整型。

例如:5.2\2轉(zhuǎn)化為5\25.6\2轉(zhuǎn)化為5\2B、求余(Mod)運算時,若運算量不是整數(shù),則先將運算量四舍五入為整數(shù),然后再做求余運算,求余結(jié)果的正負(fù)號始終與第一個運算量的符號相同。

例如:5.2Mod2轉(zhuǎn)化為5Mod25.6Mod2轉(zhuǎn)化為6Mod27、字符串運算符與字符串表達(dá)式

VB中字符串運算符有:

+和&兩個,其作用是將兩個字符串連接起來。例如:”123”&”45”結(jié)果為“12345”“計算機(jī)”+”雜志”結(jié)果為”計算機(jī)雜志”注意:當(dāng)一個數(shù)字字符串表達(dá)式如”123”跟一個數(shù)值型表達(dá)式用如45”+”連接起來的時候,則”123”將會被VB系統(tǒng)自動按照數(shù)值型123來參與計算,所以其結(jié)果為數(shù)值型168而不是字符型“12345”;如果用&連接則結(jié)果仍為字符串類型。第24頁,課件共95頁,創(chuàng)作于2023年2月8、運算符的執(zhí)行順序算術(shù)運算符>字符串連接運算符>關(guān)系運算符>邏輯運算符9、常用數(shù)學(xué)函數(shù)函數(shù)功能Abs(x)求x的絕對值Sqr(x)求x的平方根Sin(x)求x的正弦值Cos(x)求x的余弦值Tan(x)求x的正切值A(chǔ)tn(x)求x的反切值Exp(x)求指數(shù)函數(shù)exLog(x)求x的自然對數(shù)值Int(x)取整數(shù)函數(shù)Rnd(x)產(chǎn)生0~1之間(不包括1)的隨機(jī)數(shù)第25頁,課件共95頁,創(chuàng)作于2023年2月10、常用字符串函數(shù)函數(shù)功能實例結(jié)果Len(字符串)求字符串長度Len(“2008奧運”)6Left(字符串,截取長度)截取字符串左邊部分Left(“2008奧運”,4)2008Mid(字符串,起始位置[,截取長度])從中間指定位置截取字符串Mid(“2008奧運”,3,2)08Right(字符串,長度)截取字符串右邊部分Right(“2008奧運”,2)奧運String(數(shù)值,字符)生成指定長度與指定字符的字符串String(3,“9”)99911、日期函數(shù)函數(shù)功能Date()返回系統(tǒng)的當(dāng)前日期Time()返回系統(tǒng)的當(dāng)前時間Day()返回系統(tǒng)的當(dāng)前日期Month()返回系統(tǒng)的當(dāng)前月份Year()返回系統(tǒng)的當(dāng)前年份第26頁,課件共95頁,創(chuàng)作于2023年2月12、常用轉(zhuǎn)換函數(shù)函數(shù)功能實例結(jié)果Val(字符串)將字符串轉(zhuǎn)換為數(shù)值2+Val(“12”)14Str(數(shù)值)將數(shù)值轉(zhuǎn)換為字符串Str(5)“5”Chr(字符代碼)求字符代碼(ASCII)對應(yīng)的字符Chr(65)“A”Asc(字符)求字符對應(yīng)的字符代碼(ASCII)Asc(“A”)65Cint(表達(dá)式)將表達(dá)式的結(jié)果轉(zhuǎn)換為整數(shù),小數(shù)部分四舍五入Cint(3.14259*2)6第27頁,課件共95頁,創(chuàng)作于2023年2月

結(jié)構(gòu)化程序設(shè)計的三個基本結(jié)構(gòu)形式:

順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)順序結(jié)構(gòu):數(shù)據(jù)輸入結(jié)束開始數(shù)據(jù)處理數(shù)據(jù)輸出打印第28頁,課件共95頁,創(chuàng)作于2023年2月賦值語句格式:

[Let]<變量>=<表達(dá)式>或:

[Let][對象名.]<屬性名>=<表達(dá)式>功能:將等號右邊表達(dá)式的值,賦值給等號左邊的變量或?qū)傩?。?9頁,課件共95頁,創(chuàng)作于2023年2月說明:1、關(guān)鍵字Let可以省略。2、向?qū)ο筚x值時,應(yīng)指明對象名和屬性名,系統(tǒng)默認(rèn)的對象是當(dāng)前窗口。3、等號在這里稱為賦值號。4、變量和對象一旦被賦值,新值將代替舊值。5、賦值語句具有計算和賦值的雙重功能。6、等號右邊的變量(對象)必須和等號右邊的

數(shù)據(jù)類型一致。第30頁,課件共95頁,創(chuàng)作于2023年2月輸入數(shù)據(jù)—InputBox輸入框函數(shù)這是一個利用輸入框函數(shù)向變量賦值語句,格式:<變量>=InputBox(提示信息,標(biāo)題,默認(rèn)值,位置)功能:當(dāng)程序運行到該語句后暫停程序執(zhí)行,在屏幕上顯示一個信息輸入框,等待用戶在輸入框中輸入數(shù)據(jù),用戶輸入數(shù)據(jù)并單擊“確定”按鈕,則該數(shù)據(jù)被賦值給等號左邊的變量。其中:

提示信息----在輸入框中提示的消息內(nèi)容

標(biāo)題----輸入框標(biāo)題欄顯示內(nèi)容

默認(rèn)內(nèi)容----在輸入框的文本框內(nèi)初始顯示的內(nèi)容第31頁,課件共95頁,創(chuàng)作于2023年2月數(shù)據(jù)的輸出一般程序中都設(shè)有輸出語句,其作用是用來將程序運行結(jié)果輸出到屏幕上。使用Print方法格式:Print輸出內(nèi)容功能:可以在窗體上或其它圖形對象上以及打印機(jī)上輸出信息。輸出內(nèi)容可以是一個或多個表達(dá)式,可以是數(shù)值表達(dá)式,也可以是字符串,但字符串要用引號括起來。第32頁,課件共95頁,創(chuàng)作于2023年2月說明:1、對于數(shù)值表達(dá)式,打印表達(dá)式的值(即:Print語句具有計算和輸出雙重功能,先計算后打印。);而字符串則原樣輸出。2、當(dāng)輸出多個表達(dá)式或字符串時,各表達(dá)式之間要用分隔符隔開(,或;)①若用,分隔,則按標(biāo)準(zhǔn)格式顯示數(shù)據(jù)項(以14個字符為一區(qū)段);②若用;分隔,則按緊湊格式輸出數(shù)據(jù)項(字符之間無空格);③若表達(dá)式結(jié)尾無標(biāo)點符號,則執(zhí)行完該語句后,自動換行;④若Print語句中無表達(dá)式列表,則輸出空行。第33頁,課件共95頁,創(chuàng)作于2023年2月順序結(jié)構(gòu)算法實例練習(xí)1:輸入一個圓的半徑,求圓的周長和面積,并輸出結(jié)果。代碼:DimrAsSingler=InputBox("輸入半徑")s=3.14*r^2c=2*3.14*rPrint"周長";cPrint"面積";s練習(xí)2:輸入一個兩位數(shù),交換個位和十位的值,輸出結(jié)果。代碼:x=InputBox("請輸入")a=Int(x/10)b=xMod10y=10*b+aPrinty第34頁,課件共95頁,創(chuàng)作于2023年2月選擇結(jié)構(gòu)第35頁,課件共95頁,創(chuàng)作于2023年2月注1:條件表達(dá)式的值為True或False,一般是邏輯或關(guān)系表達(dá)式,也可以是算術(shù)表達(dá)式(轉(zhuǎn)換為邏輯值)If…Then…結(jié)構(gòu)兩種格式:格式1:

塊形式

If<條件表達(dá)式>Then 語句體EndIf

格式2:單行形式

If<條件表達(dá)式>Then語句體條件表達(dá)式語句體TrueFalse注2:當(dāng)條件為True時執(zhí)行語句體,否則執(zhí)行If語句的下一條語句注3:語句體中可以是多條語句,當(dāng)采用格式2時,所有的語句必須寫在一行,用冒號隔開語句體中的語句第36頁,課件共95頁,創(chuàng)作于2023年2月

If語句的嵌套注1:If語句的完整性,即內(nèi)層If語句必須完整地出現(xiàn)在外層If語句的Then子句或Else子句中。外層If內(nèi)層If內(nèi)層If內(nèi)外層不能有交叉!第37頁,課件共95頁,創(chuàng)作于2023年2月

If語句的嵌套注2:Else-If的匹配原則Else始終與上面距離其最近的未被匹配過的If匹配注3:If-EndIf的匹配If塊必須以一個EndIf語句結(jié)束If…Then

If…Then

……

Else

……

EndIf

Else

If…Then……

If……Then

……

Else

……

EndIf

EndIf第38頁,課件共95頁,創(chuàng)作于2023年2月If語句的嵌套 為使程序結(jié)構(gòu)更為清晰,

要養(yǎng)成良好的書寫習(xí)慣。If…Then

If…Then

……

Else

……

EndIf

Else

If…Then……

If……Then

……

Else

……

EndIf

EndIf為體現(xiàn)層次,可以使用Tab健排放不同層次的語句①④②③第39頁,課件共95頁,創(chuàng)作于2023年2月SelectCase語句(多分支語句)格式:

SelectCase<測試表達(dá)式>

Case表達(dá)式列表1

<語句塊1>

Case表達(dá)式列表2

<語句塊2>

……

[CaseElse

<語句塊n+1>]

EndSelect第40頁,課件共95頁,創(chuàng)作于2023年2月SelectCase語句T表達(dá)式1語句體1表達(dá)式2語句體2T……表達(dá)式n語句體n……語句體n+1……T執(zhí)行過程:①計算測試表達(dá)式的值;②依次比較各個表達(dá)式,符合條件則進(jìn)入相應(yīng)的語句體執(zhí)行;③執(zhí)行SelectCase語句的下一條語句。計算測試表達(dá)式的值第41頁,課件共95頁,創(chuàng)作于2023年2月SelectCase語句注1:測試表達(dá)式可以是數(shù)值或字符串表達(dá)式;注2:各表達(dá)式列表

合法的格式:①一個常量或常量表達(dá)式②多個常量或常量表達(dá)式,用逗號隔開,逗號相當(dāng)于“或”,如:Case1,3,5,7③表達(dá)式1to表達(dá)式2,表示從表達(dá)式1到表達(dá)式2中所有的值,其中表達(dá)式1的值必須小于表達(dá)式2的值。如:Case1to5④Is關(guān)系運算表達(dá)式,可以使用的關(guān)系運算符為:>、>=、<、<=、<>、=,不可以使用邏輯運算符表示多個范圍。⑤前面四種情況的組合,如CaseIs>10,2,4,6,Is<0

注3:若有多個Case表達(dá)式符合條件,則只執(zhí)行第一個符合的Case下的語句體。

第42頁,課件共95頁,創(chuàng)作于2023年2月SelectCase語句所有SelectCase語句可以替換為If…Then…ElseIf…語句。只有在If語句和每一個ElseIf語句計算相同條件表達(dá)式時,才能用SelectCase結(jié)構(gòu)替換If…Then…ElseIf…結(jié)構(gòu)。Ifx<30Theny=0ElseIfx<=50Theny=(x-30)*10Elsey=(x-50)*20+20*10EndIfSelectCasexCaseIs<30y=0Case30To50y=(x-30)*10CaseIs>50y=(x-50)*20+20*10EndSelect第43頁,課件共95頁,創(chuàng)作于2023年2月算法案例練習(xí)1:輸入兩個數(shù),比較它們的大小,輸出較大的數(shù)。代碼:DimaAsSingleDimbAsSinglea=InputBox("請輸入")b=InputBox("請輸入")Ifa>bThenPrintaElsePrintbEndIf第44頁,課件共95頁,創(chuàng)作于2023年2月練習(xí)2:輸入一個三位數(shù),判斷它是否是水仙花數(shù)(三位數(shù)各個數(shù)位上的立方和等于它本身)。代碼:DimnAsSinglen=InputBox("輸入一個三位數(shù)")a=Int(n/100)b=Int(n/10)-a*10c=nMod10Ifa^3+b^3+c^3=nThenPrint"是水仙花數(shù)"ElsePrint"不是水仙花數(shù)"EndIf第45頁,課件共95頁,創(chuàng)作于2023年2月練習(xí)5:購買地鐵車票:乘1-4站3元/位,5-9站4元/位,9站以上5元/位,輸入站數(shù)和人數(shù),輸出應(yīng)付款。代碼:DimaAsIntegerDimbAsIntegera=InputBox("輸入站數(shù)")b=InputBox("輸入人數(shù)")Ifa<=4Thenm=3*bElseIfa<=9Thenm=4*bElsem=5*bEndIfEndIfPrint"應(yīng)付款";m第46頁,課件共95頁,創(chuàng)作于2023年2月循環(huán)結(jié)構(gòu)第47頁,課件共95頁,創(chuàng)作于2023年2月用For~Next語句建立循環(huán)結(jié)構(gòu)

用循環(huán)語句編寫:PrivateSubCommand1_Click()Dimsasinteger,xasintegerS=0ForX=1to10step1

S=S+XnextXprintSEndsub循環(huán)變量初值終值步長循環(huán)體1、For-next循環(huán)語句的格式:用于建立已知循環(huán)次數(shù)的循環(huán)結(jié)構(gòu)

For循環(huán)變量=初值To終值Step步長循環(huán)體Next循環(huán)變量2、For循環(huán)語句的功能:執(zhí)行For語句:先將初值賦給循環(huán)變量,并記住終值和步長(兩數(shù)間隔)。然后進(jìn)行判斷,是否超出終值?如“超出”終值時,執(zhí)行Next下一語句,否則執(zhí)行循環(huán)體。執(zhí)行循環(huán)體

執(zhí)行Next語句:循環(huán)變量加步長,返回重新判斷次數(shù)=(終值-初值)/步長+1當(dāng)初值小于終值時,步長為正數(shù);當(dāng)初值大于終值時,步長為負(fù)數(shù);第48頁,課件共95頁,創(chuàng)作于2023年2月For循環(huán)語句的執(zhí)行過程第49頁,課件共95頁,創(chuàng)作于2023年2月用Do語句建立循環(huán)結(jié)構(gòu)

1、Do語句的功能:用于建立循環(huán)次數(shù)未知的循環(huán)結(jié)構(gòu)2、Do語句的格式:格式一(當(dāng)循環(huán))

DoWhile<條件>

循環(huán)體

Loop

功能:執(zhí)行Do語句先判斷條件,當(dāng)條件滿足,則執(zhí)行循環(huán)體,然后執(zhí)行Loop語句就回到DoWhile再判斷,直到條件不滿足,跳出循環(huán),執(zhí)行Loop下一語句。

S=0N=0DoWhileN<10N=N+1S=S+N

Loop

第50頁,課件共95頁,創(chuàng)作于2023年2月Do語句的第二種格式(直到循環(huán))

1、直到形循環(huán)格式

Do

循環(huán)體

Loopuntil<條件>

2、格式二功能:執(zhí)行Do語句,就進(jìn)入循環(huán),直接執(zhí)行循環(huán)體,再判斷條件,若條件不滿足,回到上面繼續(xù)執(zhí)行循環(huán)體,直到條件滿足,跳出循環(huán),執(zhí)行Loop下一語句。S=0

N=0

Do

N=N+1

S=S+N

LoopuntilN>=10

第51頁,課件共95頁,創(chuàng)作于2023年2月條件判斷放在循環(huán)語句的開頭部分條件判斷放在循環(huán)語句的結(jié)尾部分所列條件滿足時執(zhí)行循環(huán)所列條件滿足時退出循環(huán)所列條件滿足時執(zhí)行循環(huán)所列條件滿足時退出循環(huán)DoWhile條件循環(huán)體LoopDoUntil條件循環(huán)體LoopDo循環(huán)LoopWhile條件Do循環(huán)體LoopUntil條件Do循環(huán)語句四種形式的比較第52頁,課件共95頁,創(chuàng)作于2023年2月循環(huán)語句嵌套的定義雙重循環(huán)語句:在循環(huán)體內(nèi)含有另一個循環(huán)語句的結(jié)構(gòu)

如:

For循環(huán)變量1=初值To終值Step步長

For循環(huán)變量2=初值To終值Step步長

循環(huán)體

Next循環(huán)變量2

Next循環(huán)變量1多重循環(huán):如循環(huán)體內(nèi)再包含循環(huán)結(jié)構(gòu),我們將這種循環(huán)結(jié)構(gòu)稱作多重循環(huán)。

多重循環(huán)的原則是:外層循環(huán)與內(nèi)層循環(huán)必須層層相套,循環(huán)體之間不能交叉。每個循環(huán)必須有一個唯一的循環(huán)控制變量。第53頁,課件共95頁,創(chuàng)作于2023年2月練習(xí)1:輸出1,2,3,4,5方法一:用次數(shù)來控制循環(huán)方法二:用輸出的數(shù)字來控制循環(huán)a=1DoWhilea<=5Printaa=a+1Loop第54頁,課件共95頁,創(chuàng)作于2023年2月練習(xí)2:求1+3+5+7+9的和練習(xí)3:求1+2+3+……+k的和,其中k由鍵盤輸入。第55頁,課件共95頁,創(chuàng)作于2023年2月****************************************************************************************************PrivateSubCommand1_Click()Fori=1To10Forj=1To10Print"*";NextjPrint"*"NextiEndSub練習(xí)4、輸出下列圖形(循環(huán)語句的嵌套)第56頁,課件共95頁,創(chuàng)作于2023年2月常用算法枚(窮)舉算法:列舉出各種可能的情況并逐一進(jìn)行檢驗,根據(jù)檢驗的結(jié)果執(zhí)行相應(yīng)的操作,“枚”是一個一個,“舉”是列舉。枚舉算法的優(yōu)點:有非常高的準(zhǔn)確性和全面性;枚舉算法的缺點:效率不高;枚舉算法的注意事項:不能重復(fù)也不能遺漏;枚舉算法的一般結(jié)構(gòu):循環(huán)結(jié)構(gòu)中嵌入分支結(jié)構(gòu);枚舉法的關(guān)鍵:列舉和檢驗。第57頁,課件共95頁,創(chuàng)作于2023年2月解析算法:根據(jù)題目中給出的已知條件,找出已知條件與要求結(jié)果之間的數(shù)學(xué)表達(dá)式,并通過表達(dá)式的計算來實現(xiàn)問題求解的方法。解析法的關(guān)鍵:尋找正確的數(shù)學(xué)表達(dá)式。第58頁,課件共95頁,創(chuàng)作于2023年2月3.1

可視化編程的基本概念

對象是現(xiàn)實世界的、具有一定特征和感知(接收)外界信息功能的一個實體;

對象的各種特征在VB中被稱為對象的屬性,能感知外界信息被稱為對象的事件;第59頁,課件共95頁,創(chuàng)作于2023年2月3.1

可視化編程的基本概念3.類

類是同種對象共同特征的抽象;是創(chuàng)建對象的模板。如引例中:Label1、Label2兩個標(biāo)簽對象都是由Label類創(chuàng)建的Text1、Text2兩個文本框?qū)ο笫怯蒚extBox類創(chuàng)建的Command1命令按鈕對象都是由CommandButton類創(chuàng)建的Form1窗體對象是由Form類創(chuàng)建的,這個類由VB系統(tǒng)內(nèi)部提供,我們在工具箱里看不到其類圖標(biāo)

以上各類都可以在工具箱里看到其類圖標(biāo)。第60頁,課件共95頁,創(chuàng)作于2023年2月3.1可視化編程的基本概念4.類與對象比較

(1)類是同種對象的抽象,對象是類的一個實例;

(2)類和對象都有屬性和事件,但類的屬性和事件是抽象的,而對象的屬性和事件可以具體;

例如:人都有身高、姓名、性別等屬性,但我們不能確定人這個類的身高、姓名、性別;

而小王是人類實例化的一個對象,就可以確定小王這個對象的身高、姓名、性別了。第61頁,課件共95頁,創(chuàng)作于2023年2月3.1

可視化編程的基本概念5.對象的建立

(1)單擊工具箱中的類圖標(biāo);再將鼠標(biāo)移動窗體某位置,按住鼠標(biāo)左鍵再拖到所需要的大小后放開鼠標(biāo)即可創(chuàng)建一個對象;

(2)雙擊工具箱中的類圖標(biāo),可在窗體中心出現(xiàn)一個默認(rèn)大小的對象,再將其拖到適當(dāng)大小及位置即可。第62頁,課件共95頁,創(chuàng)作于2023年2月3.1

可視化編程的基本概念6.對象的選定

(1)選一個對象,用鼠標(biāo)單擊即可;

(2)選多個對象,先按住Shitf或Ctrl鍵后,再用鼠標(biāo)單擊需要選中的多個對象即可;

(3)用鼠標(biāo)在窗體上畫框,被涉及到的對象都會被選中;

(4)用Ctrl+A可以選中當(dāng)前窗體上的所有對象;第63頁,課件共95頁,創(chuàng)作于2023年2月3.1

可視化編程的基本概念7.對象的刪除選中對象后按鍵盤上的“Delete”鍵即可;8.對象的復(fù)制選中對象后按Ctrl+C組合鍵即可;

注意復(fù)制操作容易創(chuàng)建控件數(shù)組,目前我們還不能處理控件數(shù)組,所以建議不要用復(fù)制的方式產(chǎn)生對象第64頁,課件共95頁,創(chuàng)作于2023年2月3.1

可視化編程的基本概念9.對象的命名

對象的名稱(Name)是程序中引用對象的基礎(chǔ),建議不要改動對象默認(rèn)的名稱。

同時要注意對象的名稱(Name)屬性與Caption屬性是有區(qū)別的。這在實習(xí)中經(jīng)常會改錯。第65頁,課件共95頁,創(chuàng)作于2023年2月3.1

可視化編程的基本概念10.對象的屬性

(1)許多對象都有很多相同的屬性,見P14;

(2)對象屬性設(shè)置有兩種方法,注意With…EndWith的用法;

(3)大部分對象都有默認(rèn)屬性,在程序中使用時可以省略默認(rèn)屬性而直接寫出對象名即可,但建議少用這種方式。如:Text1.Text=3可以直接寫成Text1=3Label1.Caption=“西北農(nóng)林科技大學(xué)”可寫成

Label1=“西北農(nóng)林科技大學(xué)”

第66頁,課件共95頁,創(chuàng)作于2023年2月3.1可視化編程的基本概念11.對象的事件與事件過程

(1)對象的事件是由系統(tǒng)設(shè)計好的、能被對象識別的動作。

(2)對象的事件過程是能完成某一功能的程序段,事件過程是某種事件發(fā)生后要處理的某個程序段。VB為各種對象準(zhǔn)備了不同的事件過程接口,格式為:

PrivateSub對象名_事件過程名()

程序代碼段

EndSub第67頁,課件共95頁,創(chuàng)作于2023年2月3.1

可視化編程的基本概念11.對象的事件與事件過程

(1)對象的事件是由系統(tǒng)設(shè)計好的、能被對象識別的動作。

(2)過程是能完成某一功能的程序段,事件過程是某種事件發(fā)生后要處理的個程序段。VB為各種對象準(zhǔn)備了不同的事件過程接口,格式為:PrivateSub對象名_事件過程名()

程序代碼段

EndSub說明事件過程的有效范圍,與之對應(yīng)的還有Public第68頁,課件共95頁,創(chuàng)作于2023年2月3.1可視化編程的基本概念11.對象的事件與事件過程

(1)對象的事件是由系統(tǒng)設(shè)計好的、能被對象識別的動作。

(2)過程是能完成某一功能的程序段,事件過程是某種事件發(fā)生后要處理的個程序段。VB為各種對象準(zhǔn)備了不同的事件過程接口,格式為:

PrivateSub

對象名_事件過程名()

程序代碼段

EndSub說明過程的類型,與之對應(yīng)的還有Function第69頁,課件共95頁,創(chuàng)作于2023年2月3.1可視化編程的基本概念11.對象的事件與事件過程

(1)對象的事件是由系統(tǒng)設(shè)計好的、能被對象識別的動作。

(2)過程是能完成某一功能的程序段,事件過程是某種事件發(fā)生后要處理的個程序段。VB為各種對象準(zhǔn)備了不同的事件過程接口,格式為:

PrivateSub對象名_事件過程名()

程序代碼段

EndSub過程結(jié)束語句,與之對應(yīng)的還有EndFunction等第70頁,課件共95頁,創(chuàng)作于2023年2月3.1可視化編程的基本概念12、對象的方法

(1)對象的方法就是能夠完成某種功能的程序,完成功能的代碼是VB系統(tǒng)設(shè)計好的,不需用戶自己編寫,用戶只需要掌握如何調(diào)用對象的方法。(2)對象方法的調(diào)用格式為:[對象名].方法名[參數(shù)列表]

Printa,b,cPicture1.Printa,b,cpicture1.Cls第71頁,課件共95頁,創(chuàng)作于2023年2月3.2窗體(From)1、窗體的主要屬性

(1)Caption屬性(2)Picture屬性(3)BorderStyle屬性(4)ControlBox屬性(5)MaxButton/MinButton屬性(6)AutoRedrow屬性(7)WindowsState屬性第72頁,課件共95頁,創(chuàng)作于2023年2月3.2窗體(From)2、窗體的主要事件(1)Load事件Load事件在窗體被載入時引發(fā),應(yīng)用程序一啟動就會自動執(zhí)行該事件中的代碼。若不專門調(diào)用,此事件中的代碼只被執(zhí)行一次。該事件通常用來在啟動應(yīng)用程序時,設(shè)置對象屬性的初始屬性值和為變量賦初值。(2)Click事件在窗體上單擊鼠標(biāo)左鍵時發(fā)生的事件注意:課本中有些程序代碼為了讓大家更容易讀懂加了注釋(用“

”開頭的一句話)第73頁,課件共95頁,創(chuàng)作于2023年2月3.2窗體(From)

3、窗體的方法

(1)Print方法窗體的Print方法的作用是在窗體上輸出信息。此方法并不是窗體對象獨有的,有一些其它的對象也有Print方法,如:圖片框?qū)ο?Picture)、打印機(jī)(Printer)和立即窗口(Debug)。

格式:

[對象名].print[Tab(n)]輸出項列表[;|,](2)Cls方法用于清除使用Print方法輸出到窗體或圖片框中的內(nèi)容。第74頁,課件共95頁,創(chuàng)作于2023年2月3.2窗體(From)實習(xí)題:窗體無最大化按鈕和最小化按鈕,在窗體裝入時,在窗體標(biāo)題欄顯示“裝入窗體”,并在窗體上添加一副圖片作為背景;當(dāng)用戶單擊窗體,在標(biāo)題欄顯示“鼠標(biāo)單擊”,在窗體上顯示“歡迎使用VB”;當(dāng)用戶雙擊窗體,在標(biāo)題欄顯示“鼠標(biāo)雙擊”,去除窗體的背景圖片和“歡迎使用VB”,并再窗體上顯示“結(jié)束使用VB”。第75頁,課件共95頁,創(chuàng)作于2023年2月3.3命令按鈕(CommandButton)1、命令按鈕的主要屬性(1)Caption屬性用于設(shè)置命令按鈕上顯示的文字內(nèi)容。(2)Style屬性用于決定按鈕上是否顯示圖形(3)Picture屬性用于選擇一個圖形文件(.bmp或.ico)顯示在命令按鈕上。當(dāng)Style屬性為0時,該屬性設(shè)置的圖形不顯示。(4)ToolTipText屬性用于對按鈕的作用做進(jìn)一步的解釋。第76頁,課件共95頁,創(chuàng)作于2023年2月3.3命令按鈕(CommandButton)2、命令按鈕的主要事件

在命令按鈕的事件中,我們最常用的是單擊事件(Click)3、Shell函數(shù)

功能:用來調(diào)用一個可執(zhí)行程序格式:Shell(命令字符串[,窗口類型])

其中:(1)Shell為函數(shù)名(2)“命令字符串”和“窗口類型”為參數(shù)(3)“命令字符串”指定執(zhí)行的應(yīng)用程序名,包括盤符和路徑(4)“窗口類型”指調(diào)用可執(zhí)行程序時,可執(zhí)行程序的窗口第一次如何顯示第77頁,課件共95頁,創(chuàng)作于2023年2月3.4vb程序設(shè)計步驟和執(zhí)行過程1、VB可視化編程的一般步驟(1)界面設(shè)計,分析所需要的對象,并添加到窗體上,擺放好位置(2)設(shè)置各對象的屬性(3)編寫事件代碼(4)運行程序,看結(jié)果2、VB程序的執(zhí)行過程(1)啟動應(yīng)用程序,裝載和顯示窗體(2)窗體(或窗體上的對象)等待事件發(fā)生(3)事件發(fā)生,執(zhí)行對應(yīng)的事件過程(4)重復(fù)執(zhí)行步驟(2)和(3),直到關(guān)閉窗體強(qiáng)行結(jié)束或遇到End語句結(jié)束程序運行在四個步驟中隨時保存程序第78頁,課件共95頁,創(chuàng)作于2023年2月3.5標(biāo)簽(Label)1、標(biāo)簽的主要屬性Caption、Font、Left、Top、BorderStyle、BackStyle、ForeColor、AutoSize2、標(biāo)簽的主要事件單擊(Click)、雙擊(DblClick)和鼠標(biāo)移動(MouseMove)等第79頁,課件共95頁,創(chuàng)作于2023年2月3.6文本框(Text)1、文本框的主要屬性

(1)Text屬性用于存放文本框中要顯示的內(nèi)容

(2)Locked屬性指定文本框內(nèi)容是否可被編輯

(3)Maxlength指定文本框中能夠輸入的正文的最大長度

(4)Multiline設(shè)計文本框是否為多行文本

(5)ScrollBars設(shè)計文本框是否具有滾動條

第80頁,課件共95頁,創(chuàng)作于2023年2月3.6文本框(Text)1、文本框的主要屬性(6)SelStart、SelLength和SelTextSelStart:返回插入點位置SelLength:返回選定文本的長度(字符個數(shù))SelText:返回選定文本的內(nèi)容(7)PassWordChar指定顯示文本框中的替代符第81頁,課件共95頁,創(chuàng)作于2023年2月3.6文本框(Text)2、文本框的主要事件(1)GotFocus當(dāng)光標(biāo)定位到文本框時,引發(fā)文本框的GotFocus事件

溫馨提示

  • 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

提交評論