还有没有elseif
没有Select Case 语句
没有Do While
还有数值输入功能不是很强大 不知容错能力如何,比如我打个死循环进去? 1 建议丰富库函数,如随机数函数,截图函数等
2 有时不是很稳定,会爆机
3 exit不能直接退回到菜单
4 同21L增强数值(包括字符串)输入功能
5 能否一键构造矩阵(还有多维数组),如a=【【【1】【2】】【【3】【4】】】
话说LZ的malical对手持党帮助极大。。希望越做越强。 不知容错能力如何,比如我打个死循环进去?
GWHBOB 发表于 2011-7-11 17:53 http://www.cncalc.org/images/common/back.gif设置一个多按键组合强行退出键?(要不常按但按起来难度并不大的) 设置一个多按键组合强行退出键?(要不常按但按起来难度并不大的)
noivan 发表于 2011-7-12 11:45 http://www.cncalc.org/images/common/back.gif
要是我的话,我会选optn+exp+del 24# noivan 不如拔电池……不过既然不好提高运行效率,往人性化方面走提高编程效率(如21L字串输入)也是一个很好的选择。 本帖最后由 diameter 于 2011-7-12 18:27 编辑
26# GWHBOB
这样吧,添加一个System函数,把能否退出的权利让给程序作者system["AC_Break"]=false #关闭了按AC键退出的检查,默认为true还有什么其他的关于解释器配置的想法吗?(比如数值强制用常量初始化等……) 26# GWHBOB
这样吧,添加一个System函数,把能否退出的权利让给程序作者system["AC_Break"]=false #关闭了按AC键退出的检查,默认为true还有什么其他的关于解释器配置的想法吗?(比如数值强制用常量初始化等…… ...
diameter 发表于 2011-7-12 18:22 http://www.cncalc.org/images/common/back.gif希望本机可以轻松编译,如提供书写工具,前一段时间我用EDIT打开MCL文件,好像有点问题,保存后就不能运行了。。。 本帖最后由 l5h5t7 于 2011-7-14 11:37 编辑
希望增加超频函数,提高运行效率。
建议增加多程序启动,如果麻烦的话可以把后台程序挂起。 还是把Malical写的3DFP贴出来
附地址啊 自己编写的一段计算方位角,用来极坐标放样的程序
说明:在显示计算结果时按exit键返回上一级菜单
按AC键退出程序
按exp键输入度分秒
输入数据时直接回车使用默认值
选择菜单
1为坐标反算
2为坐标正算
输入坐标框
角度输入框
var func= "sin(x)+cos(y)"
var x_min=-6.3,x_max=6.3,y_min=-3.1,y_max=3.1,sp=0.5
var px1=0, py1=0, px2=0, py2=0
var bx, by, g=30, h=30
var cos_s, sin_s, cos_t, sin_t
var dx,dy
::main()
var i
var func2
while 1>0
i = show_menu()
if i==2
func2 = requeststr("sin(x)+cos(y)","f(x,y)=")
if dim(func2) then
func=func2
ifend
continue
ifend
if i==1 then
view()
continue
ifend
if i==3 then
exit()
ifend
wend
::endf
::show_menu()
var index;
index=menu("3D Function Power","1: Draw ","2: z(x,y) ","3: Exit ")
return index
::endf
::view()
var key
# 30020 = left
# 30021 = right
while 1
draw_3d()
key = getkey()
if key==30018 or key==30020 # up
h = h + 10
continue
ifend
if key==30023 or key==30021 # down
h = h -10
continue
ifend
if key==30002
ClrIO()
return nil
ifend
wend
::endf
::rcl_deg()
var s,t
s = 3.1415926 * g / 180;
t = 3.1415926 * (90 - h) / 180;
sin_s = sin(s)
cos_s = cos(s)
sin_t = sin(t)
cos_t = cos(t)
::endf
::_3d_to_win(x,y,z)
var w
if g !=0
w = x * cos_s - y * sin_s
y = x * sin_s + y * cos_s
x = w
ifend
if h != 90 then
w = y * cos_t - z * sin_t;
z = y * sin_t + z * cos_t;
y = w;
IfEnd
px2 = px1
py2 = py1
px1 = (x - x_min)*(127/(x_max-x_min))+1
py1 = (y - y_min)*(63 /(y_max-y_min))+1
::EndF
::draw_3d()
var x,y,z
rcl_deg()
clrio()
x = x_min
while 1
if x > x_max
break
ifend
y = y_min
z = eval(func)
_3d_to_win(x,y,z)
while y <= y_max
z = eval(func)
_3d_to_win(x,y,z)
line(px1,py1,px2,py2)
y = y+sp
wend
putdisp()
x = x+sp
Wend
y = y_min
while y <= y_max
x = x_min
z = eval(func)
_3d_to_win(x,y,z)
while x <= x_max
z = eval(func)
_3d_to_win(x,y,z)
line(px1,py1,px2,py2)
x = x+sp
wend
putdisp()
y = y+sp
wend
locate(1,1,func)
::endf
页:
1
[2]