|
本帖最后由 CNWTEPRG 于 2020-4-10 17:14 编辑
- .版本 2
- .支持库 eCalc
- .程序集 程序集1
- .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码
- 置随机数种子 ()
- _临时子程序 () ' 在初始化代码执行完毕后调用测试代码
- 返回 (0) ' 可以根据您的需要返回任意数值
- .子程序 _临时子程序
- .局部变量 最小值, 长整数型
- .局部变量 最大值, 长整数型
- .局部变量 随机数, 长整数型
- 最小值 = -10000
- 最大值 = 10000
- .计次循环首 (100, )
- 随机数 = 取长随机数 (最小值, 最大值)
- .如果真 (随机数 < 最小值 或 随机数 > 最大值)
- 暂停 ()
- .如果真结束
- 输出调试文本 (随机数)
- .计次循环尾 ()
- .子程序 取长随机数, 长整数型, 公开, 在使用本命令取一系列的随机数之前,应该先使用“置随机数种子”命令为随机数生成器初始化一个种子值。
- .参数 欲取随机数的最小值, 长整数型, 可空, 留空默认 -9223372036854775808
- .参数 欲取随机数的最大值, 长整数型, 可空, 留空默认 9223372036854775807
- .局部变量 最小值, 大数
- .局部变量 最大值, 大数
- .局部变量 随机数, 大数
- .局部变量 随机数据, 字节集
- .局部变量 指针, 整数型
- .局部变量 常量, 大数, 静态, , 固定:9223372036854775808
- .局部变量 常量1, 大数, 静态, , 固定:1
- .局部变量 INT_MIN, 长整数型, 静态, , 固定:-9223372036854775808
- .局部变量 INT_MAX, 长整数型, 静态, , 固定:9223372036854775807
- .局部变量 随机长整数, 长整数型
- .如果真 (INT_MIN = 0 或 INT_MAX = 0)
- INT_MIN = 取字节集数据 ({ 0, 0, 0, 0, 0, 0, 0, 128 }, #长整数型, )
- INT_MAX = 取字节集数据 ({ 255, 255, 255, 255, 255, 255, 255, 127 }, #长整数型, )
- 常量.导入文本 (“9223372036854775808”)
- 常量1.导入数字 (1)
- .如果真结束
- 欲取随机数的最小值 = 选择 (是否为空 (欲取随机数的最小值), INT_MIN, 欲取随机数的最小值)
- 欲取随机数的最大值 = 选择 (是否为空 (欲取随机数的最大值), INT_MAX, 欲取随机数的最大值)
- .判断开始 (欲取随机数的最大值 < 欲取随机数的最小值)
- 交换变量 (欲取随机数的最大值, 欲取随机数的最小值)
- .判断 (欲取随机数的最大值 = 欲取随机数的最小值)
- 返回 (欲取随机数的最小值)
- .默认
- .判断结束
- 最小值.导入数字 (欲取随机数的最小值)
- 最大值.导入数字 (欲取随机数的最大值)
- 随机数据 = 取空白字节集 (8)
- .计次循环首 (8, 指针)
- 随机数据 [指针] = 取随机数 (, )
- .计次循环尾 ()
- 随机长整数 = 取字节集数据 (随机数据, #长整数型, )
- .如果真 (欲取随机数的最小值 = INT_MIN 且 欲取随机数的最大值 = INT_MAX)
- 返回 (随机长整数)
- .如果真结束
- 随机数.导入数字 (随机长整数)
- 最小值 = 最小值.加 (常量)
- 最大值 = 最大值.加 (常量)
- 随机数 = 随机数.加 (常量).求余 (最大值.减 (最小值).加 (常量1)).加 (最小值)
- 返回 (随机数.减 (常量).导出长整数 ())
复制代码 |
|