ASP程序设计培训-共11章 课件_第1页
ASP程序设计培训-共11章 课件_第2页
ASP程序设计培训-共11章 课件_第3页
ASP程序设计培训-共11章 课件_第4页
ASP程序设计培训-共11章 课件_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、通过本章的学习,读者应该掌通过本章的学习,读者应该掌握以下内容:握以下内容: VBScript的选择结构的选择结构 VBScript的循环结构的循环结构 VBScript过程过程语法:语法:IfThenElse例例4-1 IfThenElse语句用法示例。语句用法示例。 IfThenElse语句用法示例语句用法示例=85 Then Response.write 好优好优秀哟!秀哟! Else Response.write 较上次有较上次有进步哟!进步哟!% 块块If语句又称多行语句又称多行If语句,也就是将语句,也就是将一个选择结构用多个语句来实现。一个选择结构用多个语句来实现。语法:语法:I

2、fThenElse语句序列语句序列2End If例例4-2 块块If语句应用。语句应用。 块块If语句实例语句实例 日期型测试函数日期型测试函数 请输入日期型数据:请输入日期型数据: x = Text1.value If Isdate(x) Then msgbox 您输入的是日期型数据您输入的是日期型数据 else MsgBox 您输入的不是日期型数据您输入的不是日期型数据 end if 例例4-4 某超市店庆促销,采用多购物某超市店庆促销,采用多购物多打折的优惠办法,条件为每位顾客一次多打折的优惠办法,条件为每位顾客一次购物累计:购物累计:(1)在)在500元以上者,按九五折优惠;元以上者,

3、按九五折优惠;(2)在)在1 000元以上者,按九折优惠;元以上者,按九折优惠;(3)在)在1 500元以上者,按八五折优惠;元以上者,按八五折优惠;(4)在)在3 000元以上者,按八折优惠。元以上者,按八折优惠。编写如下编写如下VBScript代码:代码: 优惠价格计算优惠价格计算 优惠后价格优惠后价格 所购商品总金额:所购商品总金额:  元元 x = Text1.value If Not IsNumeric(x) Then MsgBox 您您输入的不是数值数据输入的不是数值数据 : 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 & 元元 语法:语法:Select Case测试条件测试条件 Case表达式表表达式表1 语句序列语句序列1 Case表达式表表达式表2 语句序列语句序列2 . Case Else 其他语句序列其他语句序列End Select例例4-5 将例将例4-4中的中的If语句改为语句改为Select语句。语句。代码如下:代码如下:

5、 优惠价格计算优惠价格计算 优惠后价格优惠后价格 所购商品总金额:所购商品总金额:  元元 x = Text1.value If Not IsNumeric(x) Then MsgBox 您您输入的不是数值数据输入的不是数值数据 : 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 & 元元 循环可分为循环可分为3类:类:(1)

6、在条件变为)在条件变为False之前重复执行语句;之前重复执行语句;(2)在条件变为)在条件变为True之前重复执行语句;之前重复执行语句;(3)按照指定的次数重复执行语句。)按照指定的次数重复执行语句。( 1 ) 进 入 循 环 之 前 检 查 条 件) 进 入 循 环 之 前 检 查 条 件(DoLoop循环)是否为循环)是否为True。进入循环之前检查条件是首先判断条进入循环之前检查条件是首先判断条件,根据条件判断结果决定是否执行循环,件,根据条件判断结果决定是否执行循环,执行循环的最少次数为执行循环的最少次数为0。语法:语法:Do While | Until 条件条件 语句序列语句序列

7、1 Exit Do 语句序列语句序列2Loop例例4-6 求累加和求累加和1 + 2 + 3 + 100。分析:采用累加的方法,用变量分析:采用累加的方法,用变量s来来存放相加的和(开始为存放相加的和(开始为0),用变量),用变量n来存来存放加数(加到放加数(加到s中)这里的中)这里的n又用来计数,又用来计数,作为循环条件至作为循环条件至100为止,则停止循环。为止,则停止循环。程序代码如下:程序代码如下:累加和计算累加和计算 累加和计算累加和计算 求累加求累加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 上面的当型循环的实例,当上面的当型循环的实例,当n小于等小于等于于100时是循环的起始条件,否则一次也不时是循环的起始条件,否则一次也不循环。将上例改为直到型循环循环。将上例改为直到型循环 。修改后的修改后的VBScript代码如下:代码如下: s = 0: n = 1 Do until n100 s = s + n n = n + 1 Loop MsgBox 1+2+3+100 = & s 例例4-7 计算计算100以内的奇数的平方和。以内的奇数的平方和。分析:分析:100以内的奇数为:以内的奇数为:1,3,5

9、,7。连续奇数之间相差。连续奇数之间相差2,赋初值,赋初值I=1,在在循环内使变量循环内使变量I=I+2,保证保证I总为奇数即可。总为奇数即可。 DoLoop循环语句用法示例循环语句用法示例%Dim Sum,I,NSum=0 N=100 I=1循环,从循环,从1加到加到NDo While I (2)进入循环之后检查条件是)进入循环之后检查条件是否为否为True。进入循环之后检查条件,首先执进入循环之后检查条件,首先执行循环体,然后判断条件,根据判定行循环体,然后判断条件,根据判定结果决定是否继续执行循环,因此执结果决定是否继续执行循环,因此执行循环次数至少为行循环次数至少为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,则会重复执行一系列的语则会重复执行

11、一系列的语句,但是由于句,但是由于WhileWend缺少灵活性,缺少灵活性,所以建议最好使用所以建议最好使用DoLoop语句。语句。 ForNext语句用于指定语句块运行语句用于指定语句块运行的次数。在循环中使用计数器变量,该变的次数。在循环中使用计数器变量,该变量的值随每一次循环增加或减少。量的值随每一次循环增加或减少。语法:语法:For=ToStep语句序列语句序列1Exit For 语句序列语句序列2Next循环变量循环变量说明:说明:(1)如果没有指定步长,是默认为)如果没有指定步长,是默认为1。(2)可是正数也可是负数。可是正数也可是负数。(3)可以在循环中的任何位置放置一)可以在循

12、环中的任何位置放置一个个Exit For语句,可随时退出循环。语句,可随时退出循环。例例4-10 使用使用ForNext循环,计算循环,计算“2+4+6+100”的和。的和。分析:求分析:求100以内偶数的和,从初值以内偶数的和,从初值j=2开始,终值为开始,终值为100,步长为,步长为2。ForNext循环,步长为正循环,步长为正求求2+4+6+n=?例例4-11 使用使用ForNext循环,求循环,求“50+48+46+2”的和。的和。分析:从初值分析:从初值j=50,计数器变量每次计数器变量每次减减2(步长为(步长为-2),终值为),终值为2。ForNext循环,步长为负循环,步长为负求

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= &j&时时停止循环。停止循环。则计算则计算50+48+.+&j&=&total%循环可以多级嵌套。所谓嵌套,就是循环可以多级嵌套。所谓嵌套,就是在一个大循环内可以包含一个小循环,此在一个大循环内可以包含一个小

14、循环,此时小循环就相当于大循环内的执行语句。时小循环就相当于大循环内的执行语句。 图4-12 循环嵌套示意图 循环 1 循环 2 循环 2 循环 1 可以嵌套 不可交叉 例例4-13 循环的嵌套示例。循环的嵌套示例。定义一个二维数组并给其赋值,然后定义一个二维数组并给其赋值,然后求出数组变量的和。求出数组变量的和。分析:要给二维数组赋值,首先要读分析:要给二维数组赋值,首先要读出二维数组变量的个数,用二重循环来实出二维数组变量的个数,用二重循环来实现分别读出行列,然后用一个变量赋给数现分别读出行列,然后用一个变量赋给数组变量,最后用累加方法求出数组变量的组变量,最后用累加方法求出数组变量的和。

15、和。循环嵌套的使用循环嵌套的使用求出数组求出数组a(12,20)中各变量值的总和中各变量值的总和 Dim a(12,20),sum 声明一个声明一个2行行2列的数组列的数组For I=0 to 12 循环循环1 For j=0 to 20 循环循环2 a(i,j)=i 给数组变量赋值给数组变量赋值 Sum=sum+a(I,j) Next Nextmsgbox 求出数组变量求出数组变量a(12,20)中各中各变量值的总和:变量值的总和:&Cstr(sum)例例4-14 编写一个程序,输出如图编写一个程序,输出如图4-14所示的图案。所示的图案。分析:图为分析:图为4行行4列,那么用一个循

16、环列,那么用一个循环控制行,嵌套一循环控制列的输出即可。控制行,嵌套一循环控制列的输出即可。 图4-14 长方形图案 源程序代码如下:源程序代码如下:使用循环嵌套输出一图形使用循环嵌套输出一图形%s=*:p=For I=0 to 3 循环循环1 For j=0 to 3 循环循环2 p=p&nbsp&S NextRESPONSE.WRITE P&p=Next%注意:注意:在在doloop中跳出循环的指令中跳出循环的指令是:是:exit do。如下例为当和数大于如下例为当和数大于1000时,时,使用使用exit do强行终止循环。强行终止循环。% sum=0n=100do

17、 while n1000 exit do enddon=n+1%在在VBScript过程中,过程有两种,一过程中,过程有两种,一种是种是Sub子程序,一种是子程序,一种是Function函数。两函数。两者的区别在于:者的区别在于:Sub子程序只执行程序而子程序只执行程序而不返回值,而不返回值,而Function函数可以将执行代函数可以将执行代码后的结果返回给请求程序。码后的结果返回给请求程序。语法:语法:Sub子程序名子程序名(参数参数1,参数,参数2,)end sub或或sub子程序名子程序名()end sub语法:语法:Call 子程序名子程序名(参数参数1,参数,参数2,)语法:语法:子

18、程序名子程序名 参数参数1,参数,参数2例例4-15 Sub子程序示例。子程序示例。 Sub子程序示例子程序示例 例例4-16 求求a和和b的立方和。的立方和。 用用sub子程序求子程序求a3+b3=?计算计算a3+b3=? 语法:语法:Function函数名函数名(参数参数1,参数,参数2,)end Function或或Function函数名函数名end FunctionFunction过程调用方式只有一种,即过程调用方式只有一种,即通过直接引用函数名实现函数的调用,而通过直接引用函数名实现函数的调用,而且函数名必须用在变量赋值语句的右端或且函数名必须用在变量赋值语句的右端或表达式中,和函数调用一样。表达式中,和函数调用一样。例例4-17 调用自定义函数。调用自定义函数。调用自定义函数调用自定义函数function myfunction ()flag=0response.write(函数被调用了函数被调用了!1次次!)&mend function例例44-1818 为了与子程序相比较,下面利用为了与子程序相比较

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论