编写方式:
- 2-D/1-D输入:Shift+Ente
- 使用‘插入’菜单中的‘代码编辑区’。
此时为编程环境,Crtl+E执行代码,Tab缩进 - 调用外部文件:
read"文件路径"
编写Procedures(过程程序)
- Procedure:过程。在 Maple 中,一个 procedure 是一个对象,可以通过函数调用被调用,可以传递参数、执行指定的操作、返回结果。
一个过程的定义以关键词 proc 开始,以 end proc 结尾封装。 - Function Call:函数调用,调用格式是name(arguments) ,函数调用返回的值是过程返回的值。
- Argument:实参。实参是指过程调用具体调用时的参数值。注意一个默认值并不是一个实参。
- Parameter 或者 Formal Parameter:参数,或形参。形参是在过程中定义中的参数名,获取实参的值。形参名称用于指向过程中的值。
- Actual Parameter:指形参的值,既不是实参也不是形参。这个术语是指形式参数在过程执行过程中使用的值。这个值来自于一个实参或一个默认值。
注
1.若 proc( )和 end 中间多条命令,Maple 会把最后一
个语句的结果作为整个子程序的返回结果。
f:=proc(x,y)
x+y;
x-y;
end proc:
f(1,2)
输出结果
-1
2.输出所有计算结果:使用print语句
f:=proc(x,y)
print(x+y);
print(x-y);
end proc:
f(1,2)
输出结果
3
-1
3.指定程序返回的语句:return
f:=proc(x,y)
x+y;
return x*y;
x-y;
end proc:
f(2,3)
输出结果:
6
条件和循环语句
FALL:计算被意外中断
if 条件 then
语句
else 语句
end if;
if 条件1 then
语句
else if 条件2 then
语句 elif
else if 条件3 then
...
else
语句
end if;
Division:=proc(x,y) #定义程序
if y=0 then # y=0,则中断计算
#return FALL
error"除0错误"
else
x/y;
end if:#结束 if 循环
end proc: #结束程序
Division(3,0)
Division(4,2)
计算结果:
#FALL
Error, (in Division) 除0错误
2
for 和while循环语句
for 循环
for ... from .../for ... by .../for ... in ...
do ....
end do;
- for … from: 循环重复执行一个程序语句序列,直到计算变量值超过极限值
for counter from initial by increment to final do
statement_sequence;
end do;
increment:步长
执行过程:
1.将初始值赋给变量counter
2.若counter>final,则退出循环;否则:执行程序语statement_sequence
3.counter=counter+步长
4.重复2、3
例:
2. for … in:重复执行表达式中的每一个元素(运算对象)
for variable in L do
statement_sequence;
end do;
变量的取值遍历表达式L中所有元素
while循环
重复执行程序语句,直到布尔表达式不成立
while conditional_expression do
statement_sequence;
end do;
程序调试
1.trace()
:以让 Maple 输出调用参数,并输出每次退出时的返回值。
2. showstat()
:查看所有使用 Maple 语言编写的程序的源代码,或者内置算法的源代码
3. tracelast()
:当发生意外的错误时,使用tracelast帮助找到错误的位置。
4. Debugger调试器
进入调试器的方式:
- 在运行计算过程中,按下工具栏上的调试按钮
- 使用 stopat, stoperror 或者 stopwhen 设置断点
stopat()
:设置一个断点,启动 Maple debugger
unstopat( )
:取消断点,结束调试
stoperror("numeric exception")
:进入 Maple Debuger
代码分析
1.CodeTools:-Usage
:给出运算消耗时间和内存
2.CodeTools:-Profiling
:列出每段程序执行所花时间、内存