社区
VFP
帖子详情
FoxPro2.5b for windows中的一个函数问题!
oycnight
2004-09-20 08:24:50
格式:RAND([<数指表达式>])
功能:获得一个0~1之间的随机数,其中数值表达式的值为随机数的种子数,可缺省.如果缺省,则两次系列调用会得到相同的随机数序列.如果数值表达式取一个负数,系统将从当前时钟获得一个种子数,此后的调用能确保获得真正随机数序列.
还有一本书上说如果缺省后面的数指表达式,则自动以100001为种子数.
在这里我想请问种子数是什么意思?有谁能详细解释该函数?谢谢!
...全文
152
4
打赏
收藏
FoxPro2.5b for windows中的一个函数问题!
格式:RAND([]) 功能:获得一个0~1之间的随机数,其中数值表达式的值为随机数的种子数,可缺省.如果缺省,则两次系列调用会得到相同的随机数序列.如果数值表达式取一个负数,系统将从当前时钟获得一个种子数,此后的调用能确保获得真正随机数序列. 还有一本书上说如果缺省后面的数指表达式,则自动以100001为种子数. 在这里我想请问种子数是什么意思?有谁能详细解释该函数?谢谢!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dfwxj
2004-11-19
打赏
举报
回复
随机数很简单,先发出一个“=rand(-1)”,然后出来的肯定是很随机的,如果嫌随机度不够可以增加小数位数解决,round(rand(),5)
mh_xxw
2004-11-19
打赏
举报
回复
已经很详细了
十豆三
2004-09-21
打赏
举报
回复
返回一个0到1之间的随机数。
语法
RAND([种子值])
返值类型
数值型
参数描述
种子值:用于设定随机数出现的序列(一定没看明白),也就是说您第一次调用此函数代入一个种子值,那么其后对不代值的调用此函数,其返回值是按照一定序列出现,比如您运行如下命令:
? rand(1)
返回值将会是:0.03
其后您再调用:
? rand()
返回值一定是:0.25
之后一定是按照:0.71, 0.48, 0.02, ...这样的序列出现。
疑问
那这是不是说该函数返回的并不是真正的随机数呢?不能这样说,当您第一次使用某个种子值时,谁也不知道它会以怎样的序列出现,虽然说这个序列是已经固定了的,而且下一个数与上一个数之间没有任何规律可寻。
所以您现在再去运行我们以前编过的那个幸运7游戏,您会发现只要是启动软件后第一次出现的数一定是8、5、9,第二次一定是8、2、7,也就是说第二次您一定赢,因为系统隐含是以100001作为种子值。
那么怎样才能避免这种情况呢,以一个负数作为种子值,多少都没有关系,系统将会自动以系统当前的时间为种子值,由于这个值是精确到秒数,所以谁也无法预料会出现什么值,比如您在幸运7程序中将 rand() 全部改成 rand(-1),那就不能保证第二次一定赢了,其实您不需要每个都改为 rand(-1),只需要在进入系统时,比如菜单的设置代码或表单的 init 事件中加上如下代码:
rand(-1)
其它程序中仍用 rand(),出来的数一样是难以预料的,这就是种子的意义,只要播下的第一个种子不知道是怎样的,那就谁也不知道会结出什么样的果来。
十豆三
2004-09-21
打赏
举报
回复
种子:可以理解为数值参数,但这个参数是参与计算的。所以又称为种子。
返回一个 0 到 1 之间的随机数。
RAND([nSeedValue])
返回值
数值型
参数
nSeedValue
指定种子数值,它决定 rand( ) 函数返回的数值序列。
在第一次发出 rand( ) 函数时用种子数 nSeedValue,然后再使用不带 nSeedValue 参数的 rand( ) 函数,将得到一个随机数序列。如果第三次发出 rand( ) 函数时使用同样的种子数值 nSeedValue,那么 RAND( )返回同样的随机数序列。
如果第一次发出 RAND( ) 时使用的 nSeedValue 参数是负数,那么将使用来自系统时钟的种子值。若要获得随机程度最大的数字序列,可以最初用一个负的参数发出 rand( ) 函数,然后再不带参数发出 rand( ) 函数。
如果省略了 nSeedValue 参数,rand( ) 函数使用默认的种子数值 100001。
示例
第一个示例使用 rand( ) 函数创建了包含 10 条随机记录的表,然后使用 min( ) 和 max( ) 函数来显示表中的最大值和最小值。
第二个示例显示 1 到 10 之间的一个随机数。
CLOSE DATABASES
CREATE TABLE Random (cValue N(3))
FOR nItem = 1 TO 10 && 添加 10 条记录,
APPEND BLANK
REPLACE cValue WITH 1 + 100 * RAND() && 插入随机值
ENDFOR
CLEAR
LIST && 显示值
gnMaximum = 1 && 初始化最小值
gnMinimum = 100 && 初始化最大值
SCAN
gnMinimum = MIN(gnMinimum, cValue)
gnMaximum = MAX(gnMaximum, cValue)
ENDSCAN
? '最小值是: ', gnMinimum && 显示最小值
? '最大值是: ', gnMaximum && 显示最大值
CLEAR
gnLower = 1
gnUpper = 10
? INT((gnUpper - gnLower + 1) * RAND() + gnLower)
FOXPRO
W
2.5
b for
windows
windows
下的
foxpro
w
2.5
b,经典的数据库(dbf)开发工具。
2021-2022计算机二级等级考试试题及答案No.16234.docx
2021-2022计算机二级等级考试试题及答案No.16234.docx
2021-2022计算机二级等级考试试题及答案No.19748.docx
2021-2022计算机二级等级考试试题及答案No.19748.docx
Microdraw图形控件开发版本-试用版
MicroDraw图形控件最新版本 最新版本详情咨询:VX:zhangty426 MicroDraw SDK For
Windows
,支持
windows
9x/ME/XP/7/8 发行方式:单机版、开发版本、网络版、B/S版本; MicroDraw图形控件是国内专业图形组件(
中
间件),兼容多种CAD/GIS文件格式和操作方式; MDF,DWG,DXF,DWF,DXB,DGN,QCD,IGS,MDF,PLT,HPGL,MIF。并提供500多种方法和属性供开发者调用。可以用于开发行业(CAD/GIS/GPS)软件(如:建筑CAD,机械CAD,服装CAD等),数据加工软件(CAD/CNC)(如:线切割软件,激光打标软件),管理软件(MIS/PDM/ERP/MRP2/CAPP,图档管理),监控系统(煤矿,电力,电讯,煤气,消防等行业) 运行环境: 操作系统:
Windows
9x/me/nt/2k/xp /win7/8 WinServer2003/2008 编程语言:Viusal Basic/Viusal C++/Delphi/ASP/IE/Powerbuild/Viusal
Foxpro
/C++ Builder/.NET(vb.net c# vc.net)/易语言 文件管理功能: 1. 支持的文件格式包括:BMP、GIF、ICO、TGA、PCX、WBMP、WMF、JPEG、PNG、MNG、TIFF、JBIG、PNM,PPM,PGM、RAS,DXF ,DWF(4.0-6.0)、DWG(
2.5
-2014) 、IGS, PDF、MIF,PLT,PRN,HPGL/HPGL2、DGN, SHP,CGM; 2. 打开图形图像文件;支持从URL/ftp网上打开,可以将文件保存到ftp上; 3. 打印文件:全部打印和选择打印,打印预览, 打印到文件; 4. 保存和读取自定义格式文件; 5. 将矢量图以指定的尺寸保存为光珊图或者复制到系统粘贴板上; 6. 插入OLE对象,OFFICE文档。 7. 支持模型及其布局文件的浏览。 8. 在不打开文件的情况下,导入文件的某个图层; 9. 对比文件; 10. 支持FTP服务器文件的导入;. 11. 支付PDF文件的浏览和打印; 12. 设置缺省文件格式模式的显示; 打印功能: 1. 直接对当前文件进行打印; 2. 单单的打印框选的元素; 3. 预览打印; 4. 打印出图时附加打印公司标示及其文本信息; 5. 设置水印并在出图时打印水印; 显示功能: 1. 显示平移,自由缩放,框选放大,最佳显示; 2. 回溯显示; 3. 支持显示透明命令操作; 4. 支持三维文件格式显示; 5. 鸟瞰,鹰眼,放大镜功能; 6. 显示网格,显示十字光标; 7. 显示元素外框控制点,同时通过元素控制点对元素进行控制放大、缩小、旋转; 8. 显示或者隐藏元素,图层元素; 9. 设置背景图片 10. 自定义图库文件。 11. 右键菜单功能; 12. 增加了显示水印功能 13. 显示或者隐藏工具条
中
的指定按钮; 支持事件 1. 支持鼠标移动、点击、双击及滚轮操作事件; 2. 支持键盘的按下、抬起事件; 3. 支持显示绘制事件,用户可以自定义元素显示样式; 4. 支持多种缺省工具操作事件,缺省工具对元素进行操作都会触发相应事件; 5. 保存、打开、打印文件触发相应事件; 6. 文件上传和下载触发相应事件; 7. 选择操作后会触发相应事件; 元素支持功能: 1. 点;直线,折线,射线;圆,圆弧;椭圆,椭圆弧;样条线;
函数
曲线;填充区域,位图填充;多义线,文字,轨迹文字,剖面线; 2. 文字标注,尺寸标注(水平,竖直,对齐,角度,半径,直径尺寸等); 3. 块插入、图片插入、OLE对象; 4. 多边形; 5. 基本三维元素创建; 6. 图层、文字样式、尺寸样式、线型、剖面线填充样式等; 编辑构造功能: 1. 删除、复制、粘贴、镜像、移动、旋转、延伸、修剪、拖拽、缩放、圆形阵列、矩形阵列; 2. undo /redo 3. 组合、炸开;炸开文字; 其他可选模块: 1. 算法模块,计算图形的长度、面积、体积、交点等; 寻找最大封闭区域、最小 封闭区域、偏移元素;有限元分析算法;图形比较算法;区域求交算法等; 2.数控加工模块,提取几何元素加工数据;优化加工路径; 3.图库功能,自定义图库; 4.视频测绘模块,将cad图纸和视频内容进行叠加比对;
仅献给70年代的程序员
70年代的程序员应该对下面的程序记忆犹新。装了个虚拟机,把曾经的软件重新安装了一次,还是这么的亲切,这么的熟悉,在这里我们一起找找当年的回忆和感觉,看看自己曾经用过那些软件 1、dos DOS是英文Disk Operating System的缩写,意思是“磁盘操作系统”。DOS是个人计算机上的一类操作系统。从1981年直到1995年的15年间,DOS在IBM PC 兼容机...
VFP
2,748
社区成员
29,138
社区内容
发帖
与我相关
我的任务
VFP
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
复制链接
扫一扫
分享
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章