用VB编写一个简单公式程序

用VB编写一个简单公式程序,第1张

界面如上图所示, 其中公式用OLE 控件绘制,将该控件绘制到窗体中,点击右键,插入对象,选择microsoft 公式3 ,即可编辑。代码如下:

Private Sub Command1_Click()

Dim x, n As Integer

Dim p, q As Single

If (Val(Text1.Text) >= 0) And (Val(Text1.Text) >= 0) Then

n = Val(Text1.Text)

x = Val(Text2.Text)

p = x / n

q = f(n) / (f(x) * f((n - x))) * p ^ x * (1 - p) ^ (n - x)

Text3.Text = q

End If

End Sub

Function f(n)

  Dim i As Long

  f = 1

  For i = 1 To n

      f = f * i

  Next

End Function

如有其它需要,请继续追问~~~

Private Sub Command1_Click()

x = Val(Text1.Text)

If x >0 And x <= 3 Then y=12

If x >3 And x<=10 Then y = 12 + (x - 3) * 2

If x >10 Then y = 26+(x-10) * 3

If x <= 0 Then y = 0

Label1.Caption = x &"公里"

Label2.Caption = y &"元"

End Sub

Visual Basic中随机函数

格式:Rnd(<数值表达式>)

功能:求[0,1)之间的一个随机数

语法: Rnd[(number)]

如果 number 的值是 Randomize 生成

小于 0 ,每次都使用 number 作为随机数种子得到的相同结果。

大于 0 ,以上一个随机数为种子产生下一个随机数。

等于 0 ,产生与最近生成的随机数相同的随机数。

省略, 以上一个随机数为种子产生下一个随机数。

说明

Rnd 函数返回小于 1 但大于或等于 0 的值。

number 的值决定了 Rnd 生成随机数的方式。

对最初给定的种子都会生成相同的数列,因为每一次调用 Rnd 函数都用数列中的前一个数作为下一个数的种子。

在调用 Rnd 之前,先使用无参数的 Randomize语句初始化随机数生成器(若带参数,则产生由参数对应的一个特定序列的随机数),该生成器具有根据系统计时器得到的种子。

为了生成某个范围内的随机整数,可使用以下公式:

Int((upperbound - lowerbound + 1) * Rnd + lowerbound)

这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限。

注意 若想得到重复的随机数序列,在使用具有数值参数的 Randomize 之前直接调用具有负参数值的 Rnd。使用具有同样 number 值的 Randomize 是不会得到重复的随机数序列的。

编辑本段Rnd 函数示例

本示例使用 Rnd 函数随机生成一个 1 到 6 的随机整数。

Dim MyValue

MyValue = Int((6 * Rnd) + 1) ' 生成 1 到 6 之间的随机数值 ,这里的int 是把后面产生的小数转换成整数!

由于Rnd是[0,1),(6*Rnd)+1为[0,7)。int是求不大于number 的最大整数,所以得出1~6的随机数

拓展资料:

随机数字:

(1)生成随机数比较简单,=rand()即可生成0-RAND_MAX之间的随机数;(#define RAND_MAX 0x7fffu)

(2)如果要是整数,就用=int(rand()%10),表示0至9的整数,以此类推;

(3)如果要生成a与b之间的随机实数,就用=rand()%(b-a+1)+a,就能产生固定位数的整数了,以此类推;

注意:如果要使用函数rand()生成一随机数,并且使之不随单元格计算而改变,可以在编辑栏中输入“=rand()”,保持编辑状态,然后按F9,将公式永久性地改为随机数。不过,这样只能一个一个的永久性更改,如果数字比较多,也可以全部选择之后,另外选择一个合适的位置粘贴,粘贴的方法是点击右键,选择“选择性粘贴”,然后选择“数值”,即可将之前复制的随机数公式产生的数值(而不是公式)复制下来。

参考资料:随机函数 百度百科


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11510703.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存