pascal中的random问题

来源:百度知道 编辑:UC知道 时间:2024/06/10 03:39:07
random(7)应该是能取0~6啊,为什么我的总是3??
random和randomize有什么区别?randomize怎么用??

random:使用随机种子(存在系统内部)产生随机数
randomize:重新产生随机种子(存在系统内部)
调用random之前必须先调用没有参数的randomize,即
begin
randomize;
writeln(random(100));
end.

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

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

不过在一些版本较新的编译器中不使用randomize也没关系