Vbscript基本功能

时间:2015-02-26 19:33:58

标签: vbscript

我是编程和计算机科学的新手。 HTML是我所知道的,我一直面临着vbscript的问题。 这个程序(我在vbscript中的第一个)是由我的老师给出的。但我真的什么都不懂。我提到了我的书却徒劳无功。 我甚至不确定这是否是发布问题的正确的SE。 请帮忙。

enter image description here

1 个答案:

答案 0 :(得分:2)

你所拥有的是一个带有另一个嵌套循环的循环,它们都会在屏幕上打印一些文本(document.write("..."))。

外圈

For i = 1 To 5 Step 1
  ...
Next

以1为步长从1迭代到5(这是多余的,因为1是默认步长,所以你可以省略Step 1)。如果您在循环中打印了i的值

For i = 1 To 5 Step 1
  document.Write(i & "<br>")
Next

您将获得以下输出:

1
2
3
4
5

在您的代码示例中,您只需打印<br>,因此外循环的每个循环都会打印一个换行符。

除了在外部循环中打印换行符之外,您还有一个嵌套循环,对于外循环的每个循环,它从1迭代到当前值i,再次以1为步长。

For j = 1 To i Step 1
  ...
Next

所以在外循环的第一个循环(i=1)中,内循环从1迭代到1,在外循环的第二个循环(i=2)中,它从1迭代到2,等等。

For i = 1 To 5 Step 1
  document.Write(i & "<br>")
  For j = 1 To i Step 1
    document.Write("*")
  Next
Next

由于内部循环在每个循环中打印一个星号,在内部循环结束之前每行得到i个星号,然后外部循环进入下一个循环并打印换行符,从而结束当前输出行

了解循环如何工作的一种好的(虽然有点乏味)方法是记录每个变量的当前值以及纸张表格中的当前输出行,例如:像这样:

code line | instruction            |   i   |   j   | output line
----------+------------------------+-------+-------+------------
        1 | For i = 1 To 5 Step 1  |   1   | Empty |
        2 | document.Write("<br>") |   1   | Empty | <br>
        3 | For j = 1 To i Step 1  |   1   |   1   |
        4 | document.Write("*")    |   1   |   1   | *
        5 | Next                   |   1   |   1   | *
        6 | Next                   |   1   |   1   | *
        1 | For i = 1 To 5 Step 1  |   2   |   1   | *
        2 | document.Write("<br>") |   2   |   1   | *<br>
        3 | For j = 1 To i Step 1  |   2   |   1   | 
        4 | document.Write("*")    |   2   |   1   | *
        5 | Next                   |   2   |   1   | *
        3 | For j = 1 To i Step 1  |   2   |   2   | *
        4 | document.Write("*")    |   2   |   2   | **
        5 | Next                   |   2   |   2   | **
        6 | Next                   |   2   |   2   | **
        1 | For i = 1 To 5 Step 1  |   3   |   2   | **
        2 | document.Write("<br>") |   3   |   2   | **<br>
        3 | For j = 1 To i Step 1  |   3   |   1   | 
        4 | document.Write("*")    |   3   |   1   | *
      ... | ...                    |  ...  |  ...  | ...