您现在的位置:小学生自学网>> 信息>> 学习电脑

pascal中 random的用法

作者: 来源: 发布时间:2013年01月16日 点击数:
 

随意产生一个三位数

方法一: trunc(random*900)+100

random是0~1之间的小数
Trunc(random*900)就是0~899+100就可以保证是三位数100~999

方法二:random(900)

 

random:随机产生一个[0,1)之间的小数(不能取到1)
random(x):随机产生一个0~x-1之间的整数
random(900)表示0~899之间的数,所以random(900)+100就是100~999
而random是[0,1),则random*900就是[0,900),所以trunc(random*900)的范围是0~899,所以trunc(random*900)+100 的范围就是100~999
故两种都可以!!
Random函数定义是这样的:

function Random [ ( Range: Integer) ];

即整数参数Range是可选项,可有可无。没有参数时产生的随机数x满足:0<=x<1; 有参数时产生的随机数x满足:0<=x<Range。

所以 0<=random*900<900, 而 0<=random(900)<900
可以看出:random(900)与random(900)效果是一样的!

不过我喜欢用random(900),感觉更随机一些,只是感觉而已!

别忘了在程序FormCreate里加Randomize;


 random范围公式:
random(上界+1);产生0~上界
random(上界)+1;产生1~上界
random(上界);产生0~上界-1
random(上界)+下界;产生下界~上界+下界
random(上界-下界)+下界;产生下界~上界

 

random(X)是随机函数,产生0到X-1随即整数
randomize是随机数初始化过程
在一些旧版Pascal编译器中必须在random函数使用之前执行randomize
所以一般在程序开头就写好
否则在执行randomize之前的程序段中每次使用random产生的函数值就会是相同的