内容正文:
专题16 随机数应用
1.Rnd函数产生的是范围[0,1)的随机小数,该数乘以x再取整即VB表达式___________,能产生一个[0,x)或___________之间的随机整数,若要获取某个范围内的整数,可以平移若干单位到0开始的区间,即产生一个在[a,b]之间的随机整数的表达式为______________________。
2.表达式Int(Rnd*45)*2+11产生的是在____到_____之间的______ (选填:奇数/偶数)。
3.表达式Int(Rnd*6)*2+2产生的是在____到______之间偶数(选填:奇数/偶数)。
4.若变量i表示某个数组元素的位置,那么_____表示该位置上的数值,________表示前一位置上的数值,_________表示后一位置上的数值。
Int(Rnd*x)
[0,x-1]
Int(Rnd*(b-a+1))+a
11
99
奇数
2
12
a(i)
a(i-1)
a(i+1)
2
5.表达式a(i-1)+Int(Rnd*2)+1的值比a(i-1)的值大____或____。
6.关系表达式i Mod 2=a(i) Mod 2的含义是奇数位上的数是____数,偶数位上的数是____数。
7.关系表达式 i Mod 2=0 And a(i)<a(i-1) 的条件是偶数位上的数比他前面的小。如果条件不成立,可以表达为__________ Or (___________________________)。
1
2
奇
偶
I Mod 2=1
I Mod 2=0 And a(i)>=a(i-1)
考点一 利用Rnd函数产生某个范围内的整数
【例1】 已知字母A-Z的AscII码值的范围是[65,90],则产生一个大写英文AscII码值表达式______________。
答案 Int(Rnd()*26+65)
解析 本题考核的知识点是Rnd函数与Int函数的应用。从Rnd函数产生的范围[0,1)来看,把该范围先转换一个下限是可取的,上限取不到的范围,再把该区域平移到0为起点的范围。这个新范围又是[0,1)的若干倍。具体的计算步骤如下:
[65,90]→[65,91) →[0,?)+65→[0,26)+65→[0,1)*26+65,再把这个表达式用VB语言来表示。
4
【变式1】 写出产生一个两位能被3整除的正整