Presentation is loading. Please wait.

Presentation is loading. Please wait.

第3 章 VBScript的控制结构.

Similar presentations


Presentation on theme: "第3 章 VBScript的控制结构."— Presentation transcript:

1 第3 章 VBScript的控制结构

2 引言 一般脚本程序往往包含一些根据不同的情况选择执行的语句,以及根据某些条件重复执行的语句。为了能实现这样的功能,VBScript中设置了相应的流程控制语句,控制程序的执行。

3 主要内容 本章主要讨论VBScript中常用的几种控制结构,具体包含以下内容: 条件语句If … Then 多分支语句Select Case
计数式循环For…Next 集合元素循环For each 条件式循环While和Do…Loop

4 本章目录 本章小结 3.1 条件语句If …Then 习题 3.2 多分支语句 Select…Case 3.3 计数循环语句For…Next
3.1.1 单一选择 3.1.2 双向选择 3.1.3 多向选择 3.2 多分支语句 Select…Case 3.3 计数循环语句For…Next 3.4 For Each In…Next(数组循环) 3.5 条件式循环 3.5.1 Do While…Loop循环 3.5.2 Do Until…Loop循环 3.5.3 后测试式循环 3.5.4 强制退出循环和无条件循环 3.5.5 While…Wend循环

5 3.1 条件语句If …Then 在VBScript脚本语言中,If…Then的语句有多种格式,我们以下分别进行讨论: 3.1.1 单一选择
3.1.2 双向选择 3.1.3 多向选择

6 3.1.1 单一选择 单一选择是指当条件成立时执行某些语名,而条件不成立时不执行任何语句。中文含义可以表示为:如果…就…。具体有两种格式。
格式一: If 条件Then语句组 其中语句组可以是一个或多个用“:”分隔的语句,这种形式中,语句组中的各语句必须写在同一行。

7 3.1.1 单一选择 格式二: 其中语句组可以是多行语句,每一行可以是一个或多个用“:”分隔的语句。 If 条件 Then 语句组
End If 其中语句组可以是多行语句,每一行可以是一个或多个用“:”分隔的语句。

8 3.1.1 单一选择 执行流程 即条件为真(非零)时,执行语句组中的语句,之后继续执行后面的语句,条件为假时直接执行后面的语句。 真 条件

9 3.1.1 单一选择 格式辨别 形式一: 形式二: If x>3 Then 错误形式: If x>3 Then y=1:z=2
End If 错误形式: If x>3 Then Y=1 Z=2 End If

10 单一选择举例 例1:简单的If语句 定义一个变量,并赋值为70 判断变量值是否大于等于60 ,若是显示信息框 <html>
<head>  <title>If</title> <script language="VBScript"> <!-- Score=70 If Score>=60 Then MsgBox "及格!" --> </script> </head> </html> 定义一个变量,并赋值为70 判断变量值是否大于等于60 ,若是显示信息框

11 单一选择举例 浏览结果 测试本例

12 3.1.2 双向选择 双向选择是指当条件成立时执行某些语名,而条件不成立时执行另外一些语句。中文含义可以表示为:如果…就…否则…具体也有两种格式。 格式一: If 条件 Then 语句组一 Else 语句组二 其中语句组一和语句组二中可包含一个或用“:”隔开的多个语句,但必须写在同一行上。

13 3.1.2 双向选择 格式二: 其中语句组一和语句组二都可以由多行组成,每一行可包含一个或用“:”隔开的多个语句。 If 条件 Then
Else 语句组二 End If 其中语句组一和语句组二都可以由多行组成,每一行可包含一个或用“:”隔开的多个语句。

14 3.1.2 双向选择 执行流程 即条件为真(非零)时,执行语句组一中的语句,之后继续执行后面的语句,条件为假时执行语句组二中的语句,之后继续执行后面的语句。 条件 语句组二 语句组一

15 3.1.2 双向选择 错误形式: 格式辨别 形式一: 形式二:
If Score>=60 Then Msg=“及格!” Else Msg=“不及格!” 形式二: If Score>=60 Then Msg=“及格!” Else Msg=“不及格!” End if 错误形式: If Score>=60 Then Msg=“及格!” Else Msg=“不及格!”

16 双向选择举例 例2:双向选择 <html><head> <title>If</title>
<script language="VBScript"> <!-- Score=InputBox("请输入计算机成绩:","输入成绩") If Score>=60 Then Msg="及格!" Else Msg="不及格!" End If MsgBox "你的计算机成绩" & Msg --> </script> </head></html>

17 例2:双向选择 浏览结果 浏览时,首先显示一输入框,当输入大60的数字时,显示及格的信息提示框,当输入小于60时,显示不及格的信息提示框。
测试本例

18 3.1.3 多向选择 当有多种情况需要进行分别处理时,可以使用如下格式的If语句: If 条件1 Then 语句组1 Elseif 条件2
语句组2 Elseif 条件3 语句组3 …… Else 语句组N+1 End If

19 3.1.3 多向选择 程序执行时,先检查“条件1”,若返回值为“True”,则执行“语句组1”,然后跳到End If的下一个指令;若“条件1”的返回值为“False”,则检查“条件2”,若返回值为“True”,则执行“语句组2”,再跳到End If的下一个指令,否则检查“条件3”,依此类推。 条件1 语句组1 条件2 语句组2 条件3 语句组3 条件n 语句组n 语句组n+1

20 多向选择举例 例3:使用多种条件 <html>
<head><title>如果就否则如果就</title> <script language="VBScript"> <!-- Score=InputBox("请输入计算机成绩:","输入成绩") If Score>=90 Then Msg="优等" ElseIf Score<90 And Score>=80 Then Msg="甲等"

21 例3:使用多种条件 ElseIf Score<80 And Score>=70 Then Msg="乙等"
End If MsgBox "你的计算机成绩为" & Msg --> </script> </head></html>

22 例3:使用多种条件 浏览结果 本例中的代码时,若输入“99”,然后按“确定”,会显示“优等”,如图所示:
测试本例 若输入“46”,然后选取“确定”,则会显示“丁等”。

23 多向选择举例 例4:根据时间不同显示不同的问候信息 <html> <head>
<title>判断语句</title> <script language="VBScript"> Dim iTime Dim strmsg iTime=HOUR(TIME) If iTime<3 then strmsg="凌晨了,还没睡,小心身体噢。" elseIf iTime<7 then strmsg="起这么早?" elseIf iTime<12 then strmsg="上午好。"

24 例4:显示不同的问候信息 例4:根据时间不同显示不同的问候信息 elseIf iTime<18 then strmsg="下午好。"
end If msgbox strmsg </Script> </head> <body> 随时间变化的问候。 </body> </html>

25 例4:显示不同的问候信息 当你在深夜浏览该网页时,将得到如图所示的问候,你的心情如何? 测试本例

26 3.2多分支语句 Select…Case 这种流程控制结构可以根据一个变量的值选择不同的执行方向,它的格式如下:
语句组1 Case 值2 语句组2 Case 值3 语句组3 …… Case Else 语句组N+1 End Select Select会从第一个值依次比较,看看是否和变量的值相等,如果相等就会执行其后的语句组,执行完之后再跳到End Select继续执行后面的程序。

27 多分支语句举例 例5:多向选择 <html>
<head><title>多向选择1</title> <script language="VBScript"> <!-- NO=InputBox("请输入一个1-5之间的数字:","汉译英") Select Case NO '以NO作为比较对象 Case 1 MSG="ONE" Case 2 MSG="TWO" Case 3 MSG="THREE"

28 例5:多向选择 Case 4 MSG="FOUR" Case Else MSG="FIVE" End Select
MsgBox NO & "的英文为:" & MSG --> </script> </head> <body></body> </html>

29 例5:多向选择 浏览结果 代码在浏览时,首先将给出一个输入框,若输入“1”,然后按“确定”,将显示左图所示信息框,若输入5,则将显示右图所示信息框。 测试本例

30 等价的IF形式 例6:用If语句实现的多向选择 <html>
<head><title>多项选择2</title> <script language="VBScript"> <!-- NO=InputBox("请输入一个1-5之间的数字:","汉译英") If NO=1 Then MSG="ONE" Elseif NO=2 Then MSG="TWO" Elseif NO=3 Then MSG="THREE"

31 等价的IF形式 测试本例 Elseif NO=4 Then MSG="FOUR" Elseif NO=5 Then MSG="FIVE"
End If MsgBox NO & "的英文为" & MSG --> </script> </head> </html> 测试本例

32 多分支语句举例 例7:求本月的天数 <html>
<head><title>多向选择1</title> <script language="VBScript"> <!-- m=month(date()):y=year(date()) Select Case m '以m作为比较对象 Case 1,3,5,7,8,10,12 D=31 Case 2 If y mod 4=0 and y mod 100<>0 or y mod 400=0 then D=29 Else D=28 End If

33 多分支语句举例 例7:求本月的天数 Case Else D=30 End Select MsgBox "本月共有:" & d & "天"
--> </script> </head> </html>

34 多分支语句举例 例中把天数相同的那些月份放在同一个Case中。写成如下形式: Case 1,3,5,7,8,10,12
注意:在VB中,Case后面可以使用如下两种形式: Case 1 To 10 Case IS<4 这在VBScript脚本语言中都不能使用。

35 多分支语句举例 浏览结果 本例随访问时的时间不同,显示的结果有所不同。一般形式如下: 测试本例

36 3.3计数循环语句For…Next 循环语句用于重复执行一组语句。格式如下:
For变量=起始值To终止值[Step步长] 语句组 Next 其中:起始值和终止值可以是表达式,但开始循环时将首先计算其值,用其值来控制重复执行的次数,因此循环次数一开始就基本上确定了。步长是可选的,默认为1。 这里的语句组也称为循环体

37 执行过程 当步长为正时 起始值送u 终止值送v u送变量 语句组重复执行的次数等于 假 变量<=v 真 语句组 循环结束
For变量=起始值To终止值[Step步长] 语句组 Next 语句组重复执行的次数等于 (终止值-起始值+1)/步长 起始值送u 终止值送v u送变量 变量<=v 语句组 循环结束 变量+步长送变量

38 执行过程 当步长为负时 起始值送u 终止值送v u送变量 语句组重复执行的次数等于 假 变量>=v 真 语句组 循环结束
For变量=起始值To终止值[Step步长] 语句组 Next 语句组重复执行的次数等于 (终止值-起始值-1)/步长 起始值送u 终止值送v u送变量 变量>=v 语句组 循环结束 变量+步长送变量

39 执行过程 循环次数判断 (1) For j=1 To 10 k=k+1 Next (2) For j=1 to 9 step 2 (3)
(4) For j=10 to 3 step -2 (5) For j=1+j To 10 k=k+1 Next (6) For j=1 to 9+j

40 For…Next循环举例 例8:求1加到10的总和 <html>
<head><title>循环1</title> <script language="VBScript"> <!-- ‘ 计算1加到10的总和 TOTAL=0 For COUNTER=1 TO 10 TOTAL=TOTAL+COUNTER Next MsgBox "1加到10的总和为 " & TOTAL --> </script> </head></html>

41 例8:求1加到10的总和 浏览结果 测试本例

42 循环程序调试 通过跟踪循环体(循环中的语句组,本例为:total=total+count),可以正确地得到结果。 次数 COUNTER
第一次 1 第二次 2 3 第三次 6 第九次 9 36 45 第十次 10 55

43 For…Next循环举例 例9 :设置步长的循环 <html><head>
<title>循环2</title> <script language="VBScript"> <!-- ' 用循环求 的和 TOTAL=0 For I=2 TO 100 STEP 2 TOTAL=TOTAL+I Next MsgBox " = "& TOTAL --> </script> </head><body ></body></html>

44 例9 :设置步长的循环 浏览结果 测试本例

45 For…Next循环举例 例10 :步长为负时的循环 <html> <head>
<title>输出一由星号组成的三角形</title> <script language="VBScript"> <!-- For i = 10 To 1 step -1 document.write String( i, "*") & "<BR>" Next --> </script> </head> </html>

46 例10 :步长为负时的循环 浏览结果 本例中使用函数string每次形成i个“*”,作为第i行的输出,随着i从10到1的变化,输出如图的形式
测试本例

47 循环体中执行的语句又是循环语句时,这种形式称为嵌套循环
For…Next循环举例 例11 :输出九九表 <html><head> <title>九九表</title> <script language="VBScript"> <!-- For a = 1 To 9 For b = 1 To a Document.write a & "*" & b & "=" & a * b & " " If b = a Then document.write "<BR>" Next --> </script> </head></html> 循环体中执行的语句又是循环语句时,这种形式称为嵌套循环

48 例11 :输出九九表 浏览结果 b从1到a 测试本例 a从1到9

49 For…Next循环举例 例12 :使用循环处理数组
例12 :使用循环处理数组 <html><head> <title>循环与数组1</title> <script language="VBScript"> <!-- DIM A(99) For I=0 TO 99 A(I)=I+1 Next --> </script> </head></html> 这个程序定义了一个可以存放一百个元素的数组,然后使用循环,当第1次执行循环体时,I的值为0,执行结果将把值1(I+1)赋给数组元素A(0);当第2次执行循环体时,又把值2赋给数组元素A(1),依次类推 。

50 For…Next循环举例 例13:输出数组内容 <html><head>
<script language="VBScript"> DIM mc(3)'定义一个有4个变量的数组 mc(0)= "机械工程系" mc(1)= "电子工程系" mc(2)= "计算机科学系" mc(3)= "网络工程系" </script> </head> <body> <select name="xm">

51 例13:输出数组内容 <script> For I=0 TO 3
Document.write "<OPTION value=" & I & ">" & mc(I) & "</OPTION>" Next </script> </select> </body></html> 根据数组的内容形成下拉列表框的各选项

52 例13:输出数组内容 浏览结果 测试本例

53 For循环的非正常退出 对于For…Next结构的循环中,若需要非正常的退出,可以在循环体中使用如下形式的语句:
Exit For 它将无条件退出当For循环,当然,一般情况这一语句放在条件语句中。

54 3.4 For Each In…Next(数组循环)
用于对数组或集合的元素进行循环,它的格式如下: For Each变量In数组名 语句组 Next 其中的“变量”就是存放数组或集合的元素值的地方,作用是对数组或集合中的每一个元素执行一次语句组,请看例子。

55 For Each循环举例 例14:输出数组内容 形成数组内容
<html><head><title>FOR Each循环</title> <script language="VBScript"> DIM hf(4,4)'定义了一个5*5的二维数组 i=0:j=2 For k=1 To 25 hf(i,j)=k If k mod 5=0 then i=i+1 else i=i-1:If i=-1 then i=4 j=j+1:If j=5 then j=0 end If next </script></head> 形成数组内容

56 例14:输出数组内容 输出数组内容 每行5个元素 <body> <script> j=0
For each i in hf If j mod 5=0 then document.write "<BR>" Document.write "&nbsp" & i & "&nbsp" j=j+1 Next </script> </body> </html> 输出数组内容 每行5个元素

57 例14:输出数组内容 浏览结果 输出结果中各元素输出顺序是按行还是按列? 测试本例

58 这段代码的作用是用循环方式将数组内容按行顺序输出
数组元素顺序 可以把本例的输出部分改为: <body> <script> For I=0 To 4 For J=0 To 4 Document.write "&nbsp" & hf(I,j) & "&nbsp" Next Document.write "<BR>" </script> </body> </html> 这段代码的作用是用循环方式将数组内容按行顺序输出

59 数组元素顺序 从如图的浏览结果可以看出,用For Each方式输出的各元素顺序同按行顺序的输出不同,即是按列的顺序排列的。

60 For Each循环举例 For each 循环对于不知道元素个数的数组或集合是非常有用的。 例15:显示表单域中各元素名称 定义表单
<html> <head><title>FOR EACH循环</title> </head> <body> <form name="abc"> 姓名:<Input name="txt1" type="text"><BR> 年龄:<Input name="txt2" type="text"><BR> 学号:<Input name="txt3" type="text"><BR> <Input name="button" type="button" value="提交"> </form> 定义表单

61 例15:显示表单域中各元素名称 表单中包含以下名称的元素: <script language="VBScript">
For each i in document.abc.elements document.write i.name & "&nbsp" next </script> </body> </html> 显示表单域中各元素名称 具体讨论将 在以后章节进行

62 例15:显示表单域中各元素名称 浏览结果 测试本例

63 3.5 条件式循环 条件式循环是指以条件来判断循环的执行与否,以下分别介绍几种形式: 3.5.1 Do While…Loop循环
3.5 条件式循环 条件式循环是指以条件来判断循环的执行与否,以下分别介绍几种形式: Do While…Loop循环 3.5.2 Do Until…Loop循环 后测试型循环 3.5.4 强制退出循环和无条件循环 While…Wend循环

64 3.5.1 Do While…Loop循环 Do While…Loop循环形式如下:
语句组 Loop 执行时,首先检查“条件”,若为“True”,就执行“语句组”,碰到Loop时又回到Do While再检查“条件”的成立与否。若“条件”为“False”,则跳到Loop的下一个指令(即离开循环)。

65 3.5.1 Do While…Loop循环 执行流程: Do While 条件 语句组 Loop 条件 语句组

66 Do While…Loop举例 例16:使用Do…While循环 用Ucase函数将小写转换成大写
<html><head><title>While循环</title> <script language="VBScript"> <!-- ' 英文单词测验,不管大小写都算正确 ANS=InputBox("请输入'快乐'的英文") Do While UCase(ANS) <>"HAPPY" MSG= "不正确!" & vbCrLf & "请重新输入'快乐'的英文" ANS=InputBox(MSG) Loop MsgBox "太棒了!你答对了!" ' UCase()函数可将括号内的字符全部转换为大写字母 --> </script></head></html> 用Ucase函数将小写转换成大写

67 例16:使用Do…While循环 浏览结果 初始显示如图 输入不是HAPPY时显示 最后显示 测试本例

68 3.5.2 Do Until…Loop循环 Do Until…Loop循环 的形式如下:
语句组 Loop Until循环与While循环的不同点就在于,Until是在“条件”不成立时执行循环内的“语句组”,成立时则跳出循环。

69 3.5.2 Do Until…Loop循环 执行流程 Do Until条件 语句组 Loop 条件 语句组

70 Do While…Loop举例 例17 :使用Do…Until 测试本例
<html><head><title>Until循环</title> <script language="VBScript"> <!-- ANS=InputBox("请输入'快乐'的英文") Do Until UCase(ANS)="HAPPY" MSG= "不正确!" & vbCrLf & "请重新输入'快乐'的英文" ANS=InputBox(MSG) Loop MsgBox "太棒了!你答对了!" --> </script> </head><body></body></html> 测试本例

71 3.5.3 后测试式循环 后测试式循环指先执行循环体,再测试条件的一种循环形式,格式如下:
Do   语句组 Loop While(Until) 条件 这样开始循环时,它就会先执行一次“语句组”再进行“条件”的测试,所以它至少会执行一次循环体中的语句组。

72 3.5.3 后测试式循环 执行流程 Do 语句组 Loop While(Until) 条件 Until形式 While形式 语句组 语句组
  语句组 Loop While(Until) 条件 Until形式 While形式 语句组 语句组 条件 条件 结束循环 结束循环

73 后测试式循环举例 例18:循环后测试 循环体至少执行一次 <html>
<head><title>循环测试1</title> <script language="VBScript"> <!-- Do A=InputBox("请输入小于10的数字") Loop While A>10 --> </script> </head> <body></body> </html> 循环体至少执行一次

74 例18:循环后测试 浏览结果 若输入一个小于10的数字,然后按下“确定”,就会结束程序。若输入的数字大于10,程序就会要求重新输入。如图所示。 测试本例

75 3.5.4强制退出循环和无条件循环 有时希望强制退出循环,如例中要求输入一个英文单词,但用户确实不知怎样拼写,应该提供一种强制退出的手段。在脚本中使用Exit Do来实现。 注意:这一语句只能用在用Do引导的循环结构中。

76 强制退出循环例 例19:强制结束循环 <html><head><title>循环测试2</title> <script language="VBScript"> ANS=InputBox("请输入'快乐'的英文") Do While UCase(ANS) <>"HAPPY" If ANS="" Then Exit Do MSG= "不正确!" & vbCrLf & "请重新输入'快乐'的英文" ANS=InputBox(MSG) Loop If ANS<>"" Then MsgBox "太棒了!你答对了!" Else MsgBox "结束" End If </script></head><body></body></html> 测试本例

77 3.5.4强制退出循环和无条件循环 有时还可以使用不加任何条件的循环形式,格式如下:
Do 语句组 Loop 这时,语句组中应包含一条exit do的强制退出循环的语句。

78 无条件循环举例 例20:猜数小游戏 <html><head><title>Loop</title> <script language="VBScript"> Do ANS=InputBox("请输入一个数字") '要求输入数字 If ANS="" Then   MsgBox “结束”:Exit Do '按取消跳出循环 Elseif ANS>678 Then MsgBox "输入的数太大了" Elseif ANS<678 Then MsgBox "输入的数太小了" Else MsgBox “答对了”:Exit Do End If Loop </script></head></html> 没有条件

79 例20:猜数小游戏 浏览结果 首先显示 当输入500时,显示如图 当输入678时,显示如图 测试本例

80 3.5.5 While…Wend循环 这种循环和Do…Loop循环作用类似,它的格式如下:
语句组 Wend 执行时会先测试“条件”,若“条件”的False,跳出循环;若“条件”为True,则执行“语句组”,然后执行到Wend时,又会跳回循环的开头,再测试“条件”;如此继续下去。

81 3.5.5 While…Wend循环 执行流程 同do while 一样 所不同的是,语句组中 不能包含Exit Do While 条件
条件 语句组

82 While…Wend循环举例 例21:使用While循环 测试本例 <html>
<head><title>While...Wend循环</title> <script language="VBScript">   ANS=InputBox("请输入“快乐”的英文") While UCase(ANS)<>"HAPPY" '用While来写 MSG= "不正确!" & CHR(13) & CHR(10) & "请重新输入“快乐”的英文" ANS=InputBox(MSG) Wend MsgBox "太棒了!你答对了!" </script> </head><body></body></html> 测试本例

83 综合举例 例22:显示当月月历 显示表头 <html><body>
<div align="center"> <p> <script language="VBScript"> document.write year(date())& " 年 " & month(date()) </script> 月  <font size="6">月 历</font></p> <table border="1" width="512"> <script> document.write "<tr>" For i=1 To 7 document.write "<th width='67' height='38'>星期" document.write mid("日一二三四五六",i,1)& "</th>" next 显示表头

84 例22:显示当月月历 计算本月1日是星期几 i为行号 document.write "</tr>“
  tday=day(date())   tweekday=weekday(date())   tweekday=((tweekday-tday) mod 7+7) mod 7+1   t=0:i=1   do   document.write "<tr align='center'>"    ’显示一行   document.write "</tr>"    i=i+1   loop until t=0  </script>  </table> </div></body></html> i为行号 t=0显示空格 t=1显示数字

85 第1行该月1日显示的位置,设置开始显示数字标志,显示数字k设为1
例22:显示当月月历 第1行该月1日显示的位置,设置开始显示数字标志,显示数字k设为1 显示一行 For j=1 To 7 If j=tweekday and i=1 then t=1:k=1 If t=1 then If k=tday then document.write "<td bgcolor='Olive'>" & k & "</td> " else document.write "<td>" & k & "</td> " end If k=k+1 document.write "<td>" & " " & "</td> " If k>=28 and day(k+date()-tday)=1 then t=0 next 当天日期以特殊颜色输出 t<>1时单元格中显示空白 k+1是下月1日时,设置结束数字输出标志

86 例22:显示当月月历 浏览结果 t=0 i=1 k=1 测试本例 t=0

87 本章小结 本章讨论了作为常用的两种控制结构的五种表现形式,即分支语句和循环语句。
根据条件选择执行某些语句的If语句,有三种基本形式,即简单的If语句,包含Else部分的If语句和使用Elseif的If语句。它们都是根据某一条件的满足与否来决定选择哪一些语句执行。 根据某个变量或表达式的值的种类或大小来确定选择执行哪一组语句,通常使用Select引导的多分支语句。

88 本章小结 循环语句是用于控制重复执行一组语句的语句。VBScript中可用的循环有四种形式,即For-Next、While-Wend、Do-Loop和For Each…Next。其中For-Next往往用在循环次数事先确定的场合;For Each用在集合或数组中;Do…Loop是功能较强的条件式循环。 通过本章的学习,读者应该能使用这些控制结构,并参照例子中的程序,编写出满足自己需要的简单脚本程序。

89 习题 一、判断下列说法的正确性 1.多分支语句格式中的变量可以是字符串。
2.若当变量的值从1到10都作相同的处理,能写成Case 1 TO 10。 3.If的第二种格式中,若Else部分包含If语句,则可转换成第三种格式。那么,Then部分可以包含If语句。 4.在If语句中,若有Else部分,则必须写在几行中。 5.在If语句中,若Then后面要执行几个赋值操作,又有Else部分,则这个If语句必须分几行写。 6.请指出下面的格式是否合法,会不会有二义性。  If 条件 Then   If 条件2 Then 语句  Else    语句  End If

90 习题 二、操作题 查看结果 1.你能看出以下网页的功能吗?请上机验证。 <html><head>
<title> 1到100的和</title> <script language="VBScript"> <!-- Do i = i + 1 s = s + i Loop Until i = 100 msgbox "1到100的和为:" & s --> </script> </head></html> 查看结果

91 习题 2.能看出以下代码会输出什么结果吗?请上机验证。 查看结果
<html><head><title>风景画</title> <script language="VBScript"> document.write("<CENTER><FONT size=60 color=#c99c96 FACE=Webdings>") For i=65 To 75 document.write "&#" & i next document.write "<BR>&#116" For i=80 To 84 document.write "</FONT></CENTER>" </script></head></html> 查看结果

92 习题 3.设计一个VBScript程序,依用户在对话框内输入的身高判断是否要购买全票(身高160以上需购买全票),效果如图所示。

93 习题 4.设计一个VBScript程序,依用户在对话框内输入的身高判断所需买的票种类(身高160以上需购买全票,140—159买半票,139以下儿童票),效果如图所示。

94 习题 5.编写网页,当单击窗口中按钮时,输出以下形式的三角形 ********* ******* ***** *** *
    ********* ******* ***** *** * 6.编写网页显示以下级数之和。    S=2+4+6+…+98

95 习题 三、阅读和理解程序,指出以下各程序段运行时会输出什么 1. For i=3 To 17 step 3 document.write i
next document.write "i的终值为:" & i 2. j=4 For i=1 To j step 2 document.write i & "<BR>" j=j+1

96 习题 三、阅读和理解程序,指出以下各程序段运行时会输出什么 3. i=4 For i=1 To i+1 i=i+1
document.write i Next 4. i=1:s=0 Do until i>10 s=s+i loop document.write "s=" & s


Download ppt "第3 章 VBScript的控制结构."

Similar presentations


Ads by Google