我向18岁的孩子教授计算机。在向他们解释了反波兰符号后,有人问为什么它足够重要才能参加公开考试。我解释了70年代计算器的历史意义,但这未能真正解决这个问题。RPN也有并发的实际或理论应用。
我向18岁的孩子教授计算机。在向他们解释了反波兰符号后,有人问为什么它足够重要才能参加公开考试。我解释了70年代计算器的历史意义,但这未能真正解决这个问题。RPN也有并发的实际或理论应用。
Answers:
只是为了扩展前面的答案/评论:请不要忘记RPN仍然存在并且形式良好 ...实际上,它目前已在Java虚拟机等堆栈计算机中使用。
来自维基百科:“ ...堆栈计算机使用寄存器实现堆栈。算术逻辑单元(ALU)的操作数始终是堆栈的顶部两个寄存器,并且ALU的结果存储在堆栈的顶部寄存器中。“堆栈机”通常是指使用后进先出堆栈在执行单个程序语句时保存短暂的临时值的计算机,指令集使用后缀(反向波兰表示法)操作执行大多数ALU操作,这些操作包括仅适用于表达式堆栈,不适用于数据寄存器或主存储单元...”
顾名思义,反向波兰符号或直接波兰符号是符号。它们是表示事物的语法,如果考虑内存需求,它们实际上是有效的语法。它们代表的是根树,可以是公式树,抽象语法树(AST)和其他类型的实体,任何人都有权享有绝对无用的宪法权利。
有时,必须将此类实体存储在文件中。例如,有些系统可能将程序编辑或转换为AST,并且可能需要存储此类表示。波兰表格很方便。它对人类(尤其是大树)的可读性有限,但是对于机器而言却是非常方便的表示形式。
它的另一个方面是,我相信对树木及其基本用途和表示以及相关设备(堆栈)的研究在教学上是有用的,可作为对更高级概念(语法,解析,逻辑,语言学)的未来研究的介绍。 ,...)。
它还具有在概念上相当简单并且易于在纸上进行实验的优点。这也是讨论语法以及语法是表示形式的事实的好时机,表示形式可能会有所不同,而表示相同的事物,并且可以根据需要满足使用不同的表示形式(空间优化,轻松修改,可读性,计算机可读性,...)。
但是令我惊讶的是,这个问题及其答案只考虑了RPN,而没有人考虑直接使用波兰语表示法。
学生们问的当然很棒。但是回答这样的问题总是有不同的方面。它对知识本身有用吗?我认为是这样。它作为教学活动有用吗?我认为是的,但这在很大程度上取决于目标受众,只有老师才能评估它能够理解的内容。了解一些概念性问题是否有用?我认为是的,但这又取决于老师对可以向学生解释哪些概念的评估。
你的学生是绝对正确的。波兰语反向符号在计算机科学中的意义还不足以值得在其上花费非常有限的课堂时间。取而代之的是,您可以教过许多其他奇妙的概念性想法,并带有深刻的智力想法:稳定的婚姻,切蛋糕,对角线化和无法确定停顿问题,交互式证明和零知识证明等,等等,是的,所有这些都可以让18岁的儿童使用。
而且,我确实希望您称赞您的学生勇于提出问题!他们不得不站在窗台上提出这个问题。他们对您提出这个问题感到很舒服,这很适合您的教学风格。