| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1068 人关注过本帖
标题:请教:用VBscript 的 for next 语句 输出金字塔(叠罗汉)问题
只看楼主 加入收藏
learnerok
Rank: 2
等 级:论坛游民
帖 子:387
专家分:47
注 册:2011-5-21
结帖率:91.67%
收藏
已结贴  问题点数:20 回复次数:11 
请教:用VBscript 的 for next 语句 输出金字塔(叠罗汉)问题
我刚刚学习ASP编程,有些问题请教老师:

用VBscript 的 for next 语句 输出 × 的金字塔(叠罗汉),其程序语句:

<script language=”vbscript”>
for i=1 to 4
   for j=4 to 4-i
       document.write(“&nbsp;”)
   next
   for j=1 to i
       document.write(“*&nbsp;”)
   next
document.write(<br>)
next
</script>


我不理解的是:for j=4 to 4-i 和j=1 to i
这里的 4 to 4-i 和 1 to i 怎么理解呀?

按照上面的语句4 to 4-i 就是4 to 4 - 1 to 4 ;
而 1 to i 就是 1 to 1 to 4
真是不理解呀。

期待老师的帮教,多谢啦!!
搜索更多相关主题的帖子: 金字塔 
2011-05-21 15:50
liang198207
Rank: 5Rank: 5
等 级:职业侠客
帖 子:70
专家分:300
注 册:2011-5-10
收藏
得分:7 
我个人认为你可以这么理解
第一个for 就是 输出行 每一行之后输出一个<br>
第二的for就是每行里的哪些列输出空格
第三个for就是每行里那些列输出*
这样分开理解是不是容易些.
2011-05-21 21:28
learnerok
Rank: 2
等 级:论坛游民
帖 子:387
专家分:47
注 册:2011-5-21
收藏
得分:0 
非常感谢 liang198207 道帮助!!

我想学习编程语言,想搞懂为什么要这样写,真正理解那样写的意思,以便我今后能自己编写。

表面上的目的我知道,但不理解这样的写法(这里的 4 to 4-i 和 1 to i 怎么理解呀?)。

哪位老师能进一步帮助解释,多谢了!

2011-05-22 10:51
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:7 
嵌套循环的一句口诀就是外行内列
也就是外循环循环行内循环循环列
2011-05-24 15:27
learnerok
Rank: 2
等 级:论坛游民
帖 子:387
专家分:47
注 册:2011-5-21
收藏
得分:0 
谢谢yms123!!
能帮忙解释 一下 4 to 4-i 和 1 to i 吗??
实在不理解。
2011-05-24 18:06
dzt0001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:5
帖 子:1281
专家分:4998
注 册:2005-10-12
收藏
得分:7 
   for j=4 to 4-i
       document.write("&nbsp;")
   next
上面这段代码,没有执行效果的

----我怎能在别人的苦难面前转过脸去----
2011-05-24 18:58
liang198207
Rank: 5Rank: 5
等 级:职业侠客
帖 子:70
专家分:300
注 册:2011-5-10
收藏
得分:0 
昨天有事没来,如果你非要具体理解一下,那我说一遍你听一下(个人的理解):你这个程序写的应该是半个金子塔(我没运行),首先你要理解这半个金子塔的分布规律,
第一行有一个位置(第一列为*),第二行有两个位置(第一和第二列为*).....如此类推第j行有j个位置(第一到第j列为*)所有就出现了这个for 1 to j write“*”语句,
另外那个for呢也就是第一行除去第一列均为&nbsp;.....类推第j行是从最后一列(这个根据你定的金子大小而定比如你这个就是4)到4-i列为&nbsp;也就是这个for 4-i to 4。
不知道这样说能不能明白了。程序实现的是有规律的东西,完全杂乱无章的东西,也只能用近似的规律。
2011-05-24 21:39
learnerok
Rank: 2
等 级:论坛游民
帖 子:387
专家分:47
注 册:2011-5-21
收藏
得分:0 
感谢 liang198207 的回复!

但是我还是没有明白您的解释!

*******************************
昨天有事没来,如果你非要具体理解一下,那我说一遍你听一下(个人的理解):你这个程序写的应该是半个金子塔(我没运行),首先你要理解这半个金子塔的分布规律,
第一行有一个位置(第一列为*),第二行有两个位置(第一和第二列为*).....如此类推第j行有j个位置(第一到第j列为*)所有就出现了这个for 1 to j write“*”语句,
另外那个for呢也就是第一行除去第一列均为&nbsp;.....类推第j行是从最后一列(这个根据你定的金子大小而定比如你这个就是4)到4-i列为&nbsp;也就是这个for 4-i to 4。
不知道这样说能不能明白了。程序实现的是有规律的东西,完全杂乱无章的东西,也只能用近似的规律。
*******************************

我想再解释一下我的问题:
1. 首先我知道每个语句的目的和作用,也知道输出来的是什么样的东东。
2. 我的问题是 不懂下面语句的红色部分。

---------------------------------------

<script language=”vbscript”>
for i=1 to 4
   for j=4 to 4-i
       document.write(“&nbsp;”)
   next
   for j=1 to i
       document.write(“*&nbsp;”)
   next
document.write(<br>)
next
</script>

----------------------------------------

上面的 for j=4 to 4-i 可以写成:for j=4 to 1 吗?也就是 to 后面放数字,而不是外循环的变量i?

上面的 for j=1 to i 可以写成:for j=1 to 4 吗?也就是 to 后面放数字,而不是外循环的变量i?

3. for next 语句是循环语句,for 后面的变量的值是循环次数,给出具体的循环数字不行吗?

期待老师的帮教,谢谢了!




2011-05-25 10:44
learnerok
Rank: 2
等 级:论坛游民
帖 子:387
专家分:47
注 册:2011-5-21
收藏
得分:0 
管理员:
您好,我是本论坛的新手,近来发了第一个帖子。
昨天看到论坛要我“结贴”,我不理解为什么?

“结贴”是什么意思?是否意味着不能再就同样的问题询问?或再不予答复了?

引出的“分数”是什么意思?是否意味着问题的数量?分数用完了,就不能再提问了?


我的帖子问题还未完,还在继续就同样的问题询问,希望能完满地解决我的问题。

虽然我是新手,但我认为本论坛是一个好论坛,会经常访问贵坛的。

谢谢管理员!
2011-05-25 11:38
liang198207
Rank: 5Rank: 5
等 级:职业侠客
帖 子:70
专家分:300
注 册:2011-5-10
收藏
得分:0 
楼主看来你得好好理解一下程序语言了,程序处理一些重复的有规律的复杂的工作。
上面的j不是没有循环次数,4 to 4-i 不就是么,当i从1到4之间被赋值的时候,j的范围(或者说成你说的循环次数)不就出来了么。
像你说的那样想输出个金子塔那得写成i=1的时候 for j=1 to 1 输出* i=2的时候for j=1 to 2 输出 * i=3的 时候.......那这样写不就
等于你帮电脑做了它应该去做的事了么。是把。
你不要把外面的循环丢了只看里面的,i不也就是个1到4之间的任意一个整数么,i不得从1到4一个一个被赋值么,因为你要的是金子塔
里面的j的范围由外面的i决定,i的值不出来,j的值不能确定,你要是想输出一个4X4的“*”矩阵那你可以写成1 to 4啊,以为里面的j
的范围固定了,不由i决定。
希望你不要钻牛角尖,不行先放一放过几天再一看,没准一下就豁然开朗了!
2011-05-27 07:06
快速回复:请教:用VBscript 的 for next 语句 输出金字塔(叠罗汉)问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018277 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved