如何根据text里用户输入的函数解析式画函数?

tianxueer 2004-03-27 07:34:00
就是类似几何画板里的公式编辑器。
谢!
...全文
64 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianxueer 2004-03-28
  • 打赏
  • 举报
回复
呵呵,我是老师的学生。
高一上信息技术课,会考要求做一个程序,100分呢。
ColdMooon 2004-03-27
  • 打赏
  • 举报
回复
长见识了。
有很多好用的外部控件,可是不会使!
建议老大们把这些东西总结一下,方便我们查找。
华芸智森 2004-03-27
  • 打赏
  • 举报
回复
有其它的方法.但是,这样做几乎是最简单的.当然,对于程序来说.能用就行了.呵呵呵...
当然,这里还有改进的地方.例如:可以将画点改成描线.
还有,请问一下,你是做老师的吗?俺以前也在教育系统呆过了. :-)
tianxueer 2004-03-27
  • 打赏
  • 举报
回复
哈哈,成功了!!
陈大哥,能不能讲一讲原理。
还有,不用那个控件,用其他方法行吗?
华芸智森 2004-03-27
  • 打赏
  • 举报
回复
按 CTRL+T ,添加组件 Microsoft ScriptControl
tianxueer 2004-03-27
  • 打赏
  • 举报
回复
运行错误:变量未定义,就是ScriptControl
华芸智森 2004-03-27
  • 打赏
  • 举报
回复
'改一下:

Private Sub Command1_Click()
Dim MathStr As String
Dim TmpStr As String

MathStr = "2*(X^2)+3*(X)+23" '定义一个数学函数,也可以用一个TEXTBOX输入,例如:输入 1/(2*x)+16 等,但公式中只能有一个变量,就是X.而且,也要调整下面的FOR语句.的X的初始值.

For X = -10 To 10 Step 0.05
TmpStr = Replace(ucase$(MathStr), "X", X) '替换掉原公式中的值
Y = ScriptControl1.Eval(TmpStr) '根据表达式计算值.
'坐标原点是500,500
Picture1.CurrentX = 1000 + X * 15
Picture1.CurrentY = 3000 - Y * 15
Picture1.Print "."
Next
End Sub
华芸智森 2004-03-27
  • 打赏
  • 举报
回复
'CTRL+T ==>Microsoft ScriptControl


Option Explicit

Public Y As Double
Public X As Double

'引用

Private Sub Command1_Click()
Dim MathStr As String
Dim TmpStr As String

MathStr = "2*(X^2)+3*(X)+23" '定义一个数学函数

For X = -10 To 10 Step 0.05
TmpStr = Replace(MathStr, "X", X) '替换掉原公式中的值
Y = ScriptControl1.Eval(TmpStr) '根据表达式计算值.
'坐标原点是500,500
Picture1.CurrentX = 1000 + X * 15
Picture1.CurrentY = 3000 - Y * 15 '注意,电脑的Y坐标与数学坐标是相反的.
Picture1.Print "."
Next
End Sub
northwolves 2004-03-27
  • 打赏
  • 举报
回复
需要考虑到所有可能情况

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧