cnCalc计算器论坛

 找回密码
 注册
搜索
12
返回列表 发新帖
楼主: diameter

[fx-9860/9750系列] [Add-in]Malical 2.15[我要专家]

[复制链接]
发表于 2011-7-11 11:12:07 | 显示全部楼层
名字不是很好听,换一个

还有没有elseif
没有Select Case 语句
没有Do While
还有数值输入功能不是很强大

评分

参与人数 1金钱 +2 收起 理由
diameter + 2 除了换名字其他建议都接受

查看全部评分

发表于 2011-7-11 17:53:26 | 显示全部楼层
不知容错能力如何,比如我打个死循环进去?

评分

参与人数 1金钱 +1 收起 理由
diameter + 1 就会退不出来……

查看全部评分

发表于 2011-7-11 18:12:22 | 显示全部楼层
1 建议丰富库函数,如随机数函数,截图函数等
2 有时不是很稳定,会爆机
3 exit不能直接退回到菜单
4 同21L增强数值(包括字符串)输入功能
5 能否一键构造矩阵(还有多维数组),如a=【【【1】【2】】【【3】【4】】】

话说LZ的malical对手持党帮助极大。。希望越做越强。
发表于 2011-7-12 11:45:21 | 显示全部楼层
不知容错能力如何,比如我打个死循环进去?
GWHBOB 发表于 2011-7-11 17:53
设置一个多按键组合强行退出键?(要不常按但按起来难度并不大的)
发表于 2011-7-12 13:20:44 | 显示全部楼层
设置一个多按键组合强行退出键?(要不常按但按起来难度并不大的)
noivan 发表于 2011-7-12 11:45

要是我的话,我会选optn+exp+del
发表于 2011-7-12 18:03:23 | 显示全部楼层
24# noivan 不如拔电池……不过既然不好提高运行效率,往人性化方面走提高编程效率(如21L字串输入)也是一个很好的选择。
 楼主| 发表于 2011-7-12 18:22:07 | 显示全部楼层
本帖最后由 diameter 于 2011-7-12 18:27 编辑

26# GWHBOB

这样吧,添加一个System函数,把能否退出的权利让给程序作者
  1. system["AC_Break"]=false #关闭了按AC键退出的检查,默认为true
复制代码
还有什么其他的关于解释器配置的想法吗?(比如数值强制用常量初始化等……)
发表于 2011-7-13 12:20:25 | 显示全部楼层
26# GWHBOB

这样吧,添加一个System函数,把能否退出的权利让给程序作者system["AC_Break"]=false #关闭了按AC键退出的检查,默认为true还有什么其他的关于解释器配置的想法吗?(比如数值强制用常量初始化等…… ...
diameter 发表于 2011-7-12 18:22
希望本机可以轻松编译,如提供书写工具,前一段时间我用EDIT打开MCL文件,好像有点问题,保存后就不能运行了。。。
发表于 2011-7-14 11:29:41 | 显示全部楼层
本帖最后由 l5h5t7 于 2011-7-14 11:37 编辑

希望增加超频函数,提高运行效率。
建议增加多程序启动,如果麻烦的话可以把后台程序挂起。
发表于 2013-1-25 20:09:42 | 显示全部楼层
[url=]还是把Malical写的3DFP贴出来[/url]
附地址啊
发表于 2013-6-27 19:57:39 | 显示全部楼层
自己编写的一段计算方位角,用来极坐标放样的程序
说明:在显示计算结果时按exit键返回上一级菜单
按AC键退出程序
按exp键输入度分秒
输入数据时直接回车使用默认值

2cla.rar

40.11 KB, 下载次数: 0, 下载积分: 金钱 -1

发表于 2013-6-27 20:52:03 | 显示全部楼层
未命名2.JPG

选择菜单
1为坐标反算
2为坐标正算

未命名1.JPG
输入坐标框
未命名3.JPG
角度输入框

发表于 2013-6-27 21:09:59 | 显示全部楼层
  1. var func= "sin(x)+cos(y)"
  2. var x_min=-6.3,x_max=6.3,y_min=-3.1,y_max=3.1,sp=0.5
  3. var px1=0, py1=0, px2=0, py2=0
  4. var bx, by, g=30, h=30
  5. var cos_s, sin_s, cos_t, sin_t
  6. var dx,dy
  7. ::main()
  8.   var i
  9.   var func2
  10.   while 1>0
  11.     i = show_menu()
  12.     if i==2
  13.       func2 = requeststr("sin(x)+cos(y)","f(x,y)=")
  14.       if dim(func2) then
  15.              func=func2
  16.           ifend
  17.         continue
  18.     ifend
  19.     if i==1 then
  20.       view()
  21.           continue
  22.     ifend
  23.     if i==3 then
  24.       exit()
  25.     ifend
  26.   wend
  27. ::endf

  28. ::show_menu()
  29.   var index;
  30.   index=menu("3D Function Power","1:     Draw      ","2:     z(x,y)    ","3:     Exit      ")
  31.   return index
  32. ::endf

  33. ::view()
  34.   var key
  35.   # 30020 = left
  36.   # 30021 = right
  37.   while 1
  38.     draw_3d()
  39.     key = getkey()
  40.     if key==30018 or key==30020 # up
  41.       h = h + 10
  42.           continue
  43.     ifend

  44.     if key==30023 or key==30021 # down
  45.       h = h -10
  46.           continue
  47.     ifend
  48.     if key==30002
  49.       ClrIO()
  50.       return nil
  51.     ifend
  52.   wend
  53. ::endf

  54. ::rcl_deg()
  55.   var s,t
  56.   s = 3.1415926 * g / 180;
  57.   t = 3.1415926 * (90 - h) / 180;
  58.   sin_s = sin(s)
  59.   cos_s = cos(s)
  60.   sin_t = sin(t)
  61.   cos_t = cos(t)
  62. ::endf

  63. ::_3d_to_win(x,y,z)
  64.   var w
  65.   if g !=0
  66.     w = x * cos_s - y * sin_s
  67.     y = x * sin_s + y * cos_s
  68.     x = w
  69.   ifend
  70.   if h != 90 then
  71.     w = y * cos_t - z * sin_t;
  72.     z = y * sin_t + z * cos_t;
  73.     y = w;
  74.   IfEnd
  75.   px2 = px1
  76.   py2 = py1
  77.   px1 = (x - x_min)*(127/(x_max-x_min))+1
  78.   py1 = (y - y_min)*(63 /(y_max-y_min))+1
  79. ::EndF

  80. ::draw_3d()
  81.   var x,y,z
  82.   rcl_deg()
  83.   clrio()
  84.   x = x_min
  85. while 1
  86.     if x > x_max
  87.            break
  88.         ifend
  89.     y = y_min
  90.     z = eval(func)
  91.     _3d_to_win(x,y,z)
  92.     while y <= y_max
  93.       z = eval(func)
  94.       _3d_to_win(x,y,z)
  95.       line(px1,py1,px2,py2)
  96.       y = y+sp
  97.     wend
  98.     putdisp()
  99.     x = x+sp
  100. Wend
  101. y = y_min
  102. while y <= y_max
  103.     x = x_min
  104.     z = eval(func)
  105.     _3d_to_win(x,y,z)
  106.    while x <= x_max
  107.       z = eval(func)
  108.       _3d_to_win(x,y,z)
  109.       line(px1,py1,px2,py2)
  110.       x = x+sp
  111.    wend
  112.    putdisp()
  113.    y = y+sp
  114. wend
  115. locate(1,1,func)
  116. ::endf
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cnCalc计算器论坛

GMT+8, 2024-4-19 05:24 , Processed in 0.066696 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表