软件工程学习之小学四则混合运算出题软件 Version 1.00 设计思路及感想

Posted Mr.AJKO

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件工程学习之小学四则混合运算出题软件 Version 1.00 设计思路及感想相关的知识,希望对你有一定的参考价值。

    对于小学四则混合运算出题软件的设计,通过分析设计要求,我觉得为了这个软件在今后便于功能上的扩充,可以利用上学期所学习的《编译原理》一课中的LL1语法分析及制导翻译的算法来实现。这样做的好处有以下几点:

    1. 由于LL1制导翻译是一项成熟且可靠的技术,并且其递归下降算法易于改编为算式生成算法;

    2. 我们有系统的方法可以获得较复杂表达式的LL1文法,则可以方便地生成形式丰富的算式;

    3.由于四则混合运算中需要考虑运算优先级的问题,那么采用LL1分析器可以很方便的实现计算表达式的功能;

    4.当用户需求给出一个解题过程而不仅仅是一个答案时,LL1分析器可提供一个正确的解题过程(可以将LL1制导翻译中四元式的生成改写为计算过程)。

    当然,在实现中也有一些问题需要分析解决的,比如控制算式的长度、避免算式中出现多余的括号、避免出现无运算符的算式、避免出现无意义的算式等等。

    目前我的 Version 1.00 已经实现采用改写的LL1分析器来产生算式并且能够同时获得答案的功能,但同时也出现了上述问题中的一部分。毕竟1.00版本的程序挺粗糙的,接下来我会逐个分析并解决,之后发布 Version 1.01。

    基于LL1文法的混合运算生成器 1.00 调试:

以上是关于软件工程学习之小学四则混合运算出题软件 Version 1.00 设计思路及感想的主要内容,如果未能解决你的问题,请参考以下文章

201571030139/201571030134 小学生四则运算软件结对编程

软件工程第一次作业,小学生四则运算的出题程序

Java实现小学四则运算练习系统(UI)

2016012070小学四则运算练习软件项目报告

小学生四则运算出题系统——计应193许颖然

2016012098+小学四则运算练习软件项目报告