ASP程序設(shè)計培訓(xùn)-共11章 課件_第1頁
ASP程序設(shè)計培訓(xùn)-共11章 課件_第2頁
ASP程序設(shè)計培訓(xùn)-共11章 課件_第3頁
ASP程序設(shè)計培訓(xùn)-共11章 課件_第4頁
ASP程序設(shè)計培訓(xùn)-共11章 課件_第5頁
已閱讀5頁,還剩77頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、通過本章的學(xué)習(xí),讀者應(yīng)該掌通過本章的學(xué)習(xí),讀者應(yīng)該掌握以下內(nèi)容:握以下內(nèi)容: VBScript的選擇結(jié)構(gòu)的選擇結(jié)構(gòu) VBScript的循環(huán)結(jié)構(gòu)的循環(huán)結(jié)構(gòu) VBScript過程過程語法:語法:IfThenElse例例4-1 IfThenElse語句用法示例。語句用法示例。 IfThenElse語句用法示例語句用法示例=85 Then Response.write 好優(yōu)好優(yōu)秀喲!秀喲! Else Response.write 較上次有較上次有進步喲!進步喲!% 塊塊If語句又稱多行語句又稱多行If語句,也就是將語句,也就是將一個選擇結(jié)構(gòu)用多個語句來實現(xiàn)。一個選擇結(jié)構(gòu)用多個語句來實現(xiàn)。語法:語法:I

2、fThenElse語句序列語句序列2End If例例4-2 塊塊If語句應(yīng)用。語句應(yīng)用。 塊塊If語句實例語句實例 日期型測試函數(shù)日期型測試函數(shù) 請輸入日期型數(shù)據(jù):請輸入日期型數(shù)據(jù): x = Text1.value If Isdate(x) Then msgbox 您輸入的是日期型數(shù)據(jù)您輸入的是日期型數(shù)據(jù) else MsgBox 您輸入的不是日期型數(shù)據(jù)您輸入的不是日期型數(shù)據(jù) end if 例例4-4 某超市店慶促銷,采用多購物某超市店慶促銷,采用多購物多打折的優(yōu)惠辦法,條件為每位顧客一次多打折的優(yōu)惠辦法,條件為每位顧客一次購物累計:購物累計:(1)在)在500元以上者,按九五折優(yōu)惠;元以上者,

3、按九五折優(yōu)惠;(2)在)在1 000元以上者,按九折優(yōu)惠;元以上者,按九折優(yōu)惠;(3)在)在1 500元以上者,按八五折優(yōu)惠;元以上者,按八五折優(yōu)惠;(4)在)在3 000元以上者,按八折優(yōu)惠。元以上者,按八折優(yōu)惠。編寫如下編寫如下VBScript代碼:代碼: 優(yōu)惠價格計算優(yōu)惠價格計算 優(yōu)惠后價格優(yōu)惠后價格 所購商品總金額:所購商品總金額:  元元 x = Text1.value If Not IsNumeric(x) Then MsgBox 您您輸入的不是數(shù)值數(shù)據(jù)輸入的不是數(shù)值數(shù)據(jù) : Exit Sub If x 500 Then y = x ElseIf x 1000 T

4、hen y = 0.95 * x ElseIf x 1500 Then y = 0.9 * x ElseIf x 3000 Then y = 0.85 * x Else y = 0.8 * x End If MsgBox 優(yōu)惠后價格為:優(yōu)惠后價格為: & y & 元元 語法:語法:Select Case測試條件測試條件 Case表達式表表達式表1 語句序列語句序列1 Case表達式表表達式表2 語句序列語句序列2 . Case Else 其他語句序列其他語句序列End Select例例4-5 將例將例4-4中的中的If語句改為語句改為Select語句。語句。代碼如下:代碼如下:

5、 優(yōu)惠價格計算優(yōu)惠價格計算 優(yōu)惠后價格優(yōu)惠后價格 所購商品總金額:所購商品總金額:  元元 x = Text1.value If Not IsNumeric(x) Then MsgBox 您您輸入的不是數(shù)值數(shù)據(jù)輸入的不是數(shù)值數(shù)據(jù) : Exit Sub Select Case True Case x = 500 And x = 1000 And x = 1500 And x 300 y = 0.85 * x Case Else y = 0.8 * x End Select MsgBox 優(yōu)惠價為:優(yōu)惠價為: & y & 元元 循環(huán)可分為循環(huán)可分為3類:類:(1)

6、在條件變?yōu)椋┰跅l件變?yōu)镕alse之前重復(fù)執(zhí)行語句;之前重復(fù)執(zhí)行語句;(2)在條件變?yōu)椋┰跅l件變?yōu)門rue之前重復(fù)執(zhí)行語句;之前重復(fù)執(zhí)行語句;(3)按照指定的次數(shù)重復(fù)執(zhí)行語句。)按照指定的次數(shù)重復(fù)執(zhí)行語句。( 1 ) 進 入 循 環(huán) 之 前 檢 查 條 件) 進 入 循 環(huán) 之 前 檢 查 條 件(DoLoop循環(huán))是否為循環(huán))是否為True。進入循環(huán)之前檢查條件是首先判斷條進入循環(huán)之前檢查條件是首先判斷條件,根據(jù)條件判斷結(jié)果決定是否執(zhí)行循環(huán),件,根據(jù)條件判斷結(jié)果決定是否執(zhí)行循環(huán),執(zhí)行循環(huán)的最少次數(shù)為執(zhí)行循環(huán)的最少次數(shù)為0。語法:語法:Do While | Until 條件條件 語句序列語句序列

7、1 Exit Do 語句序列語句序列2Loop例例4-6 求累加和求累加和1 + 2 + 3 + 100。分析:采用累加的方法,用變量分析:采用累加的方法,用變量s來來存放相加的和(開始為存放相加的和(開始為0),用變量),用變量n來存來存放加數(shù)(加到放加數(shù)(加到s中)這里的中)這里的n又用來計數(shù),又用來計數(shù),作為循環(huán)條件至作為循環(huán)條件至100為止,則停止循環(huán)。為止,則停止循環(huán)。程序代碼如下:程序代碼如下:累加和計算累加和計算 累加和計算累加和計算 求累加求累加1 + 2 + 3 + 100的值。的值。 s = 0: n = 1 do while n = 100 s = s + n n = n

8、 + 1 loop msgbox 1+2+3+100 = & s 上面的當(dāng)型循環(huán)的實例,當(dāng)上面的當(dāng)型循環(huán)的實例,當(dāng)n小于等小于等于于100時是循環(huán)的起始條件,否則一次也不時是循環(huán)的起始條件,否則一次也不循環(huán)。將上例改為直到型循環(huán)循環(huán)。將上例改為直到型循環(huán) 。修改后的修改后的VBScript代碼如下:代碼如下: s = 0: n = 1 Do until n100 s = s + n n = n + 1 Loop MsgBox 1+2+3+100 = & s 例例4-7 計算計算100以內(nèi)的奇數(shù)的平方和。以內(nèi)的奇數(shù)的平方和。分析:分析:100以內(nèi)的奇數(shù)為:以內(nèi)的奇數(shù)為:1,3,5

9、,7。連續(xù)奇數(shù)之間相差。連續(xù)奇數(shù)之間相差2,賦初值,賦初值I=1,在在循環(huán)內(nèi)使變量循環(huán)內(nèi)使變量I=I+2,保證保證I總為奇數(shù)即可??倿槠鏀?shù)即可。 DoLoop循環(huán)語句用法示例循環(huán)語句用法示例%Dim Sum,I,NSum=0 N=100 I=1循環(huán),從循環(huán),從1加到加到NDo While I (2)進入循環(huán)之后檢查條件是)進入循環(huán)之后檢查條件是否為否為True。進入循環(huán)之后檢查條件,首先執(zhí)進入循環(huán)之后檢查條件,首先執(zhí)行循環(huán)體,然后判斷條件,根據(jù)判定行循環(huán)體,然后判斷條件,根據(jù)判定結(jié)果決定是否繼續(xù)執(zhí)行循環(huán),因此執(zhí)結(jié)果決定是否繼續(xù)執(zhí)行循環(huán),因此執(zhí)行循環(huán)次數(shù)至少為行循環(huán)次數(shù)至少為1。語法:語法:Do

10、 語句序列語句序列1 Exit Do 語句序列語句序列2Loop While | Until 條件條件例例4-8 將例將例4-6用用Doloop Until改寫。改寫。累加和計算累加和計算 累加和計算累加和計算 求累加求累加1 + 2 + 3 + 100的值。的值。 s = 0: n = 1 do s = s + n n = n + 1 loop while n = 100 只是條件放到只是條件放到Loop while后后 msgbox 1+2+3+100 = & s WhileWend語句比較簡單,只要指語句比較簡單,只要指定條件為定條件為True,則會重復(fù)執(zhí)行一系列的語則會重復(fù)執(zhí)行

11、一系列的語句,但是由于句,但是由于WhileWend缺少靈活性,缺少靈活性,所以建議最好使用所以建議最好使用DoLoop語句。語句。 ForNext語句用于指定語句塊運行語句用于指定語句塊運行的次數(shù)。在循環(huán)中使用計數(shù)器變量,該變的次數(shù)。在循環(huán)中使用計數(shù)器變量,該變量的值隨每一次循環(huán)增加或減少。量的值隨每一次循環(huán)增加或減少。語法:語法:For=ToStep語句序列語句序列1Exit For 語句序列語句序列2Next循環(huán)變量循環(huán)變量說明:說明:(1)如果沒有指定步長,是默認為)如果沒有指定步長,是默認為1。(2)可是正數(shù)也可是負數(shù)??墒钦龜?shù)也可是負數(shù)。(3)可以在循環(huán)中的任何位置放置一)可以在循

12、環(huán)中的任何位置放置一個個Exit For語句,可隨時退出循環(huán)。語句,可隨時退出循環(huán)。例例4-10 使用使用ForNext循環(huán),計算循環(huán),計算“2+4+6+100”的和。的和。分析:求分析:求100以內(nèi)偶數(shù)的和,從初值以內(nèi)偶數(shù)的和,從初值j=2開始,終值為開始,終值為100,步長為,步長為2。ForNext循環(huán),步長為正循環(huán),步長為正求求2+4+6+n=?例例4-11 使用使用ForNext循環(huán),求循環(huán),求“50+48+46+2”的和。的和。分析:從初值分析:從初值j=50,計數(shù)器變量每次計數(shù)器變量每次減減2(步長為(步長為-2),終值為),終值為2。ForNext循環(huán),步長為負循環(huán),步長為負求

13、求50+48+46+2=?例例4-12 修改例修改例4-11,求使,求使50+48+46+j的和大于的和大于500后的第一個值后的第一個值j。exit for的用法的用法求使求使50+48+46+j的和大于的和大于500后的后的第一個值第一個值j=500 then exit forNext response.write 則程序運行到則程序運行到j(luò)= &j&時時停止循環(huán)。停止循環(huán)。則計算則計算50+48+.+&j&=&total%循環(huán)可以多級嵌套。所謂嵌套,就是循環(huán)可以多級嵌套。所謂嵌套,就是在一個大循環(huán)內(nèi)可以包含一個小循環(huán),此在一個大循環(huán)內(nèi)可以包含一個小

14、循環(huán),此時小循環(huán)就相當(dāng)于大循環(huán)內(nèi)的執(zhí)行語句。時小循環(huán)就相當(dāng)于大循環(huán)內(nèi)的執(zhí)行語句。 圖4-12 循環(huán)嵌套示意圖 循環(huán) 1 循環(huán) 2 循環(huán) 2 循環(huán) 1 可以嵌套 不可交叉 例例4-13 循環(huán)的嵌套示例。循環(huán)的嵌套示例。定義一個二維數(shù)組并給其賦值,然后定義一個二維數(shù)組并給其賦值,然后求出數(shù)組變量的和。求出數(shù)組變量的和。分析:要給二維數(shù)組賦值,首先要讀分析:要給二維數(shù)組賦值,首先要讀出二維數(shù)組變量的個數(shù),用二重循環(huán)來實出二維數(shù)組變量的個數(shù),用二重循環(huán)來實現(xiàn)分別讀出行列,然后用一個變量賦給數(shù)現(xiàn)分別讀出行列,然后用一個變量賦給數(shù)組變量,最后用累加方法求出數(shù)組變量的組變量,最后用累加方法求出數(shù)組變量的和。

15、和。循環(huán)嵌套的使用循環(huán)嵌套的使用求出數(shù)組求出數(shù)組a(12,20)中各變量值的總和中各變量值的總和 Dim a(12,20),sum 聲明一個聲明一個2行行2列的數(shù)組列的數(shù)組For I=0 to 12 循環(huán)循環(huán)1 For j=0 to 20 循環(huán)循環(huán)2 a(i,j)=i 給數(shù)組變量賦值給數(shù)組變量賦值 Sum=sum+a(I,j) Next Nextmsgbox 求出數(shù)組變量求出數(shù)組變量a(12,20)中各中各變量值的總和:變量值的總和:&Cstr(sum)例例4-14 編寫一個程序,輸出如圖編寫一個程序,輸出如圖4-14所示的圖案。所示的圖案。分析:圖為分析:圖為4行行4列,那么用一個循

16、環(huán)列,那么用一個循環(huán)控制行,嵌套一循環(huán)控制列的輸出即可??刂菩?,嵌套一循環(huán)控制列的輸出即可。 圖4-14 長方形圖案 源程序代碼如下:源程序代碼如下:使用循環(huán)嵌套輸出一圖形使用循環(huán)嵌套輸出一圖形%s=*:p=For I=0 to 3 循環(huán)循環(huán)1 For j=0 to 3 循環(huán)循環(huán)2 p=p&nbsp&S NextRESPONSE.WRITE P&p=Next%注意:注意:在在doloop中跳出循環(huán)的指令中跳出循環(huán)的指令是:是:exit do。如下例為當(dāng)和數(shù)大于如下例為當(dāng)和數(shù)大于1000時,時,使用使用exit do強行終止循環(huán)。強行終止循環(huán)。% sum=0n=100do

17、 while n1000 exit do enddon=n+1%在在VBScript過程中,過程有兩種,一過程中,過程有兩種,一種是種是Sub子程序,一種是子程序,一種是Function函數(shù)。兩函數(shù)。兩者的區(qū)別在于:者的區(qū)別在于:Sub子程序只執(zhí)行程序而子程序只執(zhí)行程序而不返回值,而不返回值,而Function函數(shù)可以將執(zhí)行代函數(shù)可以將執(zhí)行代碼后的結(jié)果返回給請求程序。碼后的結(jié)果返回給請求程序。語法:語法:Sub子程序名子程序名(參數(shù)參數(shù)1,參數(shù),參數(shù)2,)end sub或或sub子程序名子程序名()end sub語法:語法:Call 子程序名子程序名(參數(shù)參數(shù)1,參數(shù),參數(shù)2,)語法:語法:子

18、程序名子程序名 參數(shù)參數(shù)1,參數(shù),參數(shù)2例例4-15 Sub子程序示例。子程序示例。 Sub子程序示例子程序示例 例例4-16 求求a和和b的立方和。的立方和。 用用sub子程序求子程序求a3+b3=?計算計算a3+b3=? 語法:語法:Function函數(shù)名函數(shù)名(參數(shù)參數(shù)1,參數(shù),參數(shù)2,)end Function或或Function函數(shù)名函數(shù)名end FunctionFunction過程調(diào)用方式只有一種,即過程調(diào)用方式只有一種,即通過直接引用函數(shù)名實現(xiàn)函數(shù)的調(diào)用,而通過直接引用函數(shù)名實現(xiàn)函數(shù)的調(diào)用,而且函數(shù)名必須用在變量賦值語句的右端或且函數(shù)名必須用在變量賦值語句的右端或表達式中,和函數(shù)調(diào)用一樣。表達式中,和函數(shù)調(diào)用一樣。例例4-17 調(diào)用自定義函數(shù)。調(diào)用自定義函數(shù)。調(diào)用自定義函數(shù)調(diào)用自定義函數(shù)function myfunction ()flag=0response.write(函數(shù)被調(diào)用了函數(shù)被調(diào)用了!1次次!)&mend function例例44-1818 為了與子程序相比較,下面利用為了與子程序相比較

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論