⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 8-15.cfm.htm

📁 本文件是一个ASP教程
💻 HTM
字号:
<html>

<head>
<title>使用随机数</title>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb_2312-80">
<meta NAME="GENERATOR" CONTENT="Microsoft FrontPage 3.0">
</head>

<body>
<font FACE="宋体" SIZE="5"><b>

<p ALIGN="JUSTIFY">使用随机数</p>
</b></font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY">函数RND()是一个非常重要的函数。如果你想建立一个随机的问候语,一个日期的随机提示,或者甚至一个游戏,你将要使用这个函数。</p>

<p ALIGN="JUSTIFY">函数RND()返回一个0到1之间的随机数。这里有这个函数的一个例子及其可能的返回值:</p>

<p ALIGN="JUSTIFY">&lt;%=RND()%&gt;</p>

<blockquote>
  <p ALIGN="JUSTIFY">0.7055643</p>
</blockquote>

<p ALIGN="JUSTIFY">典型情况下,你更感兴趣的是用这个函数来返回处在一定范围内的整数。要返回一个大于等于0而小于某个特定整数的数字,你可以使用如下的语句:</p>

<p ALIGN="JUSTIFY">&lt;%=INT((upperbound+1)*RND)%&gt;</p>

<p ALIGN="JUSTIFY">用你想产生的最大随机数代替表达式upperbound。例如,下面的脚本返回一个0和5之间的数,包括0和5:</p>

<p ALIGN="JUSTIFY">&lt;%=INT(5+1)*RND)%&gt;</p>

<p ALIGN="JUSTIFY">如果你想产生一个处在某个范围内的随机数,该范围有一个大于0的下界,可以使用如下的脚本:</p>

<p ALIGN="JUSTIFY">&lt;%=INT((upperbound </font><font SIZE="3">–</font><font
FACE="宋体" SIZE="3"> lowerbound + 1)*RND+lowerbound)%&gt;</p>

<p ALIGN="JUSTIFY">例如,下面的脚本产生一个50到75之间的随机数(包括50和75):</p>

<p ALIGN="JUSTIFY">&lt;%=INT((75-50+1)*RND+50)%&gt;</p>

<p ALIGN="JUSTIFY">无论何时使用函数RND(),它将以同样的顺序返回同样的随机数,这也许另你吃惊。考虑如下的例子:</p>

<p ALIGN="JUSTIFY">&lt;%</p>

<p ALIGN="JUSTIFY">Pick_Greeting=INT((2+1)*RND)</p>

<p ALIGN="JUSTIFY">SELECT CASE Pick_Greeting</p>

<p ALIGN="JUSTIFY">CASE 0</p>

<p ALIGN="JUSTIFY">Greeting=</font><font SIZE="3">”</font><font FACE="宋体" SIZE="3">Welcome!</font><font
SIZE="3">”</p>
</font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY">CASE 1</p>

<p ALIGN="JUSTIFY">Greeting=</font><font SIZE="3">”</font><font FACE="宋体" SIZE="3">Hello!</font><font
SIZE="3">”</p>
</font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY">CASE 2</p>

<p ALIGN="JUSTIFY">Greeting=</font><font SIZE="3">”</font><font FACE="宋体" SIZE="3">Happy 
to see you!</font><font SIZE="3">”</p>
</font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY">END SELECT</p>

<p ALIGN="JUSTIFY">%&gt;</p>

<p ALIGN="JUSTIFY">&lt;%=Greeting%&gt;</p>

<p ALIGN="JUSTIFY">这个脚本建立并打印一个随机的问候语。但是,它有可能并不按你想象的方式工作。无论何时有人下载了包含这段脚本的网页,将有同样的随机问候语被打印。如果有人多次回到这个网页,他或她将得到同样的问候。一个随机数产生了,但是每次都是同样的随机数。</p>

<p ALIGN="JUSTIFY">有一个特殊的语句可以帮助解决这个问题。RANDOMIZE语句用来强制函数RND()使用一个新的随机数序列。RANDOMIZE语句通过计算机的系统计时器,为函数RND()提供一个新的种子值。下面的例子显示了如何修改上面的例子,使其正确工作:</p>

<p ALIGN="JUSTIFY">&lt;%</p>

<p ALIGN="JUSTIFY">RANDOMIZE</p>

<p ALIGN="JUSTIFY">Pick_Greeting=INT((2+1)*RND)</p>

<p ALIGN="JUSTIFY">SELECT CASE Pick_Greeting</p>

<p ALIGN="JUSTIFY">CASE 0</p>

<p ALIGN="JUSTIFY">Greeting=</font><font SIZE="3">”</font><font FACE="宋体" SIZE="3">Welcome!</font><font
SIZE="3">”</p>
</font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY">CASE 1</p>

<p ALIGN="JUSTIFY">Greeting=</font><font SIZE="3">”</font><font FACE="宋体" SIZE="3">Hello!</font><font
SIZE="3">”</p>
</font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY">CASE 2</p>

<p ALIGN="JUSTIFY">Greeting=</font><font SIZE="3">”</font><font FACE="宋体" SIZE="3">Happy 
to see you!</font><font SIZE="3">”</p>
</font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY">END SELECT</p>

<p ALIGN="JUSTIFY">%&gt;</p>

<p ALIGN="JUSTIFY">&lt;%=Greeting%&gt;</p>

<p ALIGN="JUSTIFY">这个脚本可以正确工作。每次执行这个脚本时,将会产生一个新的随机问候。RANDOMIZE语句强制函数RND()使用新的随机数序列。</p>

<p ALIGN="JUSTIFY">最后,如果你对函数RND()所产生的数值的分布感到好奇,你可以用下面的脚本来确定它:</p>

<p ALIGN="JUSTIFY">&lt;%</p>

<p ALIGN="JUSTIFY">CONST upperbound=9,iterations=100</p>

<p ALIGN="JUSTIFY">REDIM DIST(upperbound)</p>

<p ALIGN="JUSTIFY">RANDOMIZE</p>

<p ALIGN="JUSTIFY">FOR i=1 to iterations</p>

<p ALIGN="JUSTIFY">rnd_num=INT((upperbound+1)*RND)</p>

<p ALIGN="JUSTIFY">DIST(rnd_num)=DIST(rnd_num)&amp;</font><font SIZE="3">”</font><font
FACE="宋体" SIZE="3">#</font><font SIZE="3">”</p>
</font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY">NEXT</p>

<p ALIGN="JUSTIFY">FOR i=0 to upperbound</p>

<p ALIGN="JUSTIFY">%&gt;</p>

<p ALIGN="JUSTIFY">&lt;%=i&amp;</font><font SIZE="3">”</font><font FACE="宋体"
SIZE="3"> : </font><font SIZE="3">“</font><font FACE="宋体" SIZE="3">&amp;DIST(i)%&gt;&lt;BR&gt;</p>

<p ALIGN="JUSTIFY">&lt;%</p>

<p ALIGN="JUSTIFY">NEXT</p>

<p ALIGN="JUSTIFY">%&gt;</p>

<p ALIGN="JUSTIFY">这段脚本在0到9之间产生100个随机数。它跟踪对于每一个值有多少个随机数产生。最后,它打印一个代表结果的条形图(见图8.3)。</p>

<p ALIGN="JUSTIFY"> </p>

<p ALIGN="JUSTIFY"><b>图8.3 随机数的分配</b></p>

<p><img SRC="Image83.gif" tppabs="http://210.74.168.175/guide/asp/part8/Image83.gif" WIDTH="505" HEIGHT="353" ALIGN="LEFT"> </p>

<p ALIGN="JUSTIFY"><b> </p>
</b></font><font SIZE="3">

<p ALIGN="JUSTIFY"> </p>
</font>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -