宏算算式初级示例:折扣价格计算器

2017-09-29 12:25:07 NUMKIT.COM  欢迎转载,转载请注明出处

我们将通过创建一个计算折扣价格的计算器,来讲解宏算算式的基本用法。

对很多人来说,示例是学习新事物的最好方法。本文可以作为初学者的第一篇入门文章来阅读。

您可以通过在线计算手机宏算处理宏算算式得到界面。 您还可以登录宏算账户,将宏算算式生成的界面保存为“我创建的”,生成公共链接,甚至发布到算式知识库供其他人使用。

从数学算式开始

计算折扣价格?这个问题并不复杂。只需要一个数学算式就可以了:

p*(1-d/100)

算式中,p表示“原价”;d表示百分数形式的“折扣率”。

另外,我们使用星号(*)作为乘号,使用斜线(/)作为除号。这也是计算机中乘除号的常规写法。

宏算网站(www.numkit.com)的大多数页面(不包括“我的账户”)的上部都包含一个多功能搜索条:

我们把算式p*(1-d/100)填写进去,按回车后即可得到如下界面:

pd填入一些数值,点击“确定”即可得到计算结果。

标识输入参数

现在我们的“折扣价格计算器”已经能用了。 但是有个问题:其他人在使用这个“折扣价格计算器”时会很困惑,因为只有我们知道pd参数以及计算出的结果的确切含义。 时间久了,也许连我们自己也会忘记。我们需要给参数指定一些标签以提高可读性。

为输入参数指定标签可以通过修饰器input来做到:

input{p:"原价";d:"折扣率","%"}

修饰器是宏算设计的能控制生成的界面细节的语法结构。 通过以上修饰器,我们可以给参数p指定标签“原价”;给参数d指定标签“折扣率”和扩展标签“%”(扩展标签会显示在输入框后面)。 我们希望生成的界面中参数排列的顺序是pd,所以在修饰器中先写p,后写d

input修饰器只是众多修饰器中的其中一个。 关于所有修饰器的详细用法可参考宏算定义的修饰器

修饰器可以添加在数学算式的前面,也可以添加在数学算式的后面。 无论哪种情况,数学算式后面都必须添加一个分号;,作用是标明一个数学算式的结束以及避免与修饰器的混淆。

添加修饰器后我们得到宏算算式:

input{p:"原价";d:"折扣率","%"} p*(1-d/100);

把以上算式填入宏算网站上的多功能搜索条,按回车后即可得到如下界面:

可以看到,原先显示参数名的位置已经换成了相应的标签;“折扣率”输入框后面多出了“%”扩展标签;输入参数排列的顺序变为“原价”、“折扣率”。

标识输出参数

现在,界面已经标明了输入参数的标签。但是输出结果的标签仍然是“结果”,我们希望将它明确的标识为“折后价”。

为了达到这一效果,我们需要先在p*(1-d/100)的前面添加a=

a=p*(1-d/100);

以上语句的效果是,计算p*(1-d/100)的值并存储到参数a中。 注意,语句中的=与传统数学等式中的等号(=)含义不同。 在宏算算式中,它的含义是将=右侧的算式的计算结果赋给=左侧的参数。

有了输出结果对应的参数a,我们就可以通过修饰器output来给它指定标签了:

output{a:"折后价"}

再添加以上修饰器后,我们得到宏算算式:

input{p:"原价";d:"折扣率","%"} output{a:"折后价"} a=p*(1-d/100);

把以上算式填入宏算网站上的多功能搜索条,按回车后即可得到如下界面:

可以看到,原先在输出结果数值前显示的标签“结果”已经变成了“折后价”。

输出多个结果

在上一节中,我们把算式的计算结果存储到新参数a中。 引入新参数a除了可以使用修饰器output指定标签外,还可以有另外的用途:让参数a参与后续运算。

我们在计算语句a=p*(1-d/100);的后面添加另一个计算语句s=p-a;,即可再计算出折扣金额。 同时,按照上一节中说明的方法,我们在修饰器output中为新参数s指定标签“折扣金额”。最终得到宏算算式:

input{p:"原价";d:"折扣率","%"} output{a:"折后价";s:"折扣金额"} a=p*(1-d/100);s=p-a;

把以上算式填入宏算网站上的多功能搜索条,按回车后即可得到如下界面:

可以看到,在界面上进行一次计算可以同时输出“折后价”和“折扣金额”两个结果。

默认情况下,在宏算算式执行过程中所有被赋值(通过=符号)的参数都会被认定为输出参数并显示于界面上的结果区。 在上例中,参数a和参数s在计算过程中被赋值,所以计算完成后,这两个参数的值被作为计算结果显示在界面上的结果区。

我们可以在修饰器output中通过关键字hidden改变上述默认行为。 例如,在修饰器output中将属性a的属性值修改为hidden即可在界面上的结果区中彻底隐藏掉“折后价”结果行:

input{p:"原价";d:"折扣率","%"} output{a:hidden;s:"折扣金额"} a=p*(1-d/100);s=p-a;

这种情况下,界面上的结果区只会出现“折扣金额”结果行;参数a作为一个中间计算结果,只起到在计算过程中传递数值的作用。

添加描述信息

在以上几节,我们通过给“折扣价格计算器”的参数们加上标签提高了界面的友好度。但是在有些情况下,添加一些说明性的文字更加明白有效。

宏算算式中的描述信息包括:

  • 标题 显示于界面的标题位置。
  • 说明 显示于界面的上部,可用于描述界面的用途和适用范围等
  • 脚注 显示于界面的底部,可用于注明提示信息、注意事项等

在以前几节中,我们是通过宏算网站上的多功能搜索条来测试验证宏算算式的。多功能搜索条只支持单行输入,编辑内容较长的算式时并不方便。 现在我们把测试验证宏算算式的位置移到“我的账户”中。访问“我的账户”页面需要登录,如果您还没有宏算账号可以立即注册一个。 您只需提供用户名、密码、电子邮箱(可以暂不验证),几秒钟后就可以拥有一个账户了。

打开宏算网站“我的账户”内“宏算界面”菜单的“新创建”子菜单,可以直接填入描述信息:

注意上图中的“算式”文本框的内容,这次我们使用了分多行的写法。这与以前几节使用的单行写法是完全等效的,优点是语法结构更清晰、更易于编辑了。

点击页面上的“预览”按钮,即可得到如下界面:

宏算算式中的描述信息也可以通过修饰器option来指定,如:

option{
    title:"折扣价格计算器";
    usage:"这是一个折扣价格计算器。输入原价和折扣率,即可计算出折后价和折扣金额。";
    footnote:"注:这是一个宏算算式的入门示例。"
}

在多功能搜索条、手机宏算等不提供额外的“标题”、“说明”、“脚注”文本框的地方,使用修饰器option是指定宏算界面的描述信息的唯一方法。

我们修改“新创建”子菜单页面的填写方法为如下所示:

点击“预览”按钮,可以看到生成的界面与修改前是完全一致的。

如果在“标题”、“说明”、“脚注”文本框和修饰器option中同时为宏算界面指定了描述信息,则以“标题”、“说明”、“脚注”文本框输入的内容为准。

完成

至此,我们的“折扣价格计算器”已经制作完成了。

我们推荐您继续阅读宏算算式高级示例:日期计算器来了解宏算算式的高级用法。

使用宏算算式生成的界面称为“宏算界面”。宏算提供多样的方式来管理您创建的宏算界面。 您可以将创建的宏算界面保存到您的账户中仅供自己使用,也可以生成公共链接或发布到算式知识库中供其他人使用,还可以生成HTML格式并下载等。 您还可以下载手机宏算,仅将创建的宏算界面离线保存在手机上,通过二维码在手机间传输文档等。 要详细了解宏算界面的相关操作,请参考文档宏算界面操作指南