软件工程学习之小学四则混合运算出题软件 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 设计思路及感想的主要内容,如果未能解决你的问题,请参考以下文章