您将如何解决以下问题,它是一个埃菲尔计算器:埃菲尔编程练习
输入是通过命令行参数。
这些操作数由整数“a b c”的三元组组成,它们表示术语“a x^b Y^c”。多项式的三元组用下面的例子中的字符'#'分隔:
我们有多项式(x^2 - 2xy + y^2)用输入字符串“1 2 0#-2 1 1#1 0 2“
执行周期
$波利
>> 1 2 0 # -2 1 1 # 1 0 2
>> 1 2 1 # 1 2 0 # 2 1 1 # -1 0 2
>> +
1 2 1 + 2 2 0
>> e 4 3
80 0 0
你能更具体一点,你面对什么具体问题?你有什么设计/课程/功能?应该支持哪些操作?为什么输入使用'#'符号连接三元组,但输出使用'+'?示例最后一部分的含义是什么?在哪里提供字符而不是数字?我会建议用更具体的问题或更具体的问题来替换问题,这些问题会显示您进行锻炼的努力以及您不知道如何去做的事情。 –
应支持的操作如下:+, - ,*:如果堆栈至少包含2个元素,则将它们都置于堆栈顶部并以中缀方式执行操作:op1 opr op2。还需要能够通过以下方式评估(操作'e'):e v1 v2。 –
关于使用#符号连接三元组但输出使用+的原因,这是因为实际上+不是输出,而是指示程序将两个操作数添加到堆栈顶部的操作,所以不是指定值沿着这个操作,我们首先将它们插入到堆栈中,然后在其顶部执行操作。 –