oo第一单元总结
OO第一单元总结
能力有限,仅完成第一次作业
一、程序结构
1. 方法度量
2. 类度量

3. UML图
4. 说明
本次作业中,根据已知文法,表达式均可以由项生成,而项都可以由因子生成,考虑到层次关系,我运用了Polynominal和Item两个类来维护(后期才考虑到可以再增加一个Factor类使层次更加清晰)。
-
Item类
匹配方法
matchString:进行分类匹配,并由此初始化项的系数(val)和指数(power)计算方法
addmul:对项进行加减法、乘法运算求导方法
derivation:对项进行求导运算 -
Polynominal类
预处理方法
pretreatment:去掉/t、空格,将** 替换成^防止和乘法运算混淆,完成符号正负判断分割方法
matchString:完成字符串分割、去除空白项计算方法
addAllmulAll:分别计算乘法和加法,化简多项式 -
由UML图可看出,这一架构仍然无法摆脱面向过程的影子,虽然有严格区分出两个类,但是本质上仍然属于面向过程的写法,虽然类较为简单,但这种架构严重依赖输入数据的特性,需要保证较好的合法性和简单表达式的条件,根本无法扩展。
二、自己程序中的bug
我在强测中丢掉一个点,输出是none,原因是我在去除空白项时将所有项都去除,而没有考虑到0的情况,这一点也在互测中被发现,成功被hack了一次。
三、别人程序中的bug
我在互测中并未发现别人程序中的bug
四、心得体会
我的编程基础很差,成绩也不好,我不想隐瞒此点。
oo作业可能对大部分计算机学院的人来说是可完成的,但对我这种基础差的人来讲,这样的作业难度是地狱级的,从第一次作业开始我就深感吃力,在第二次作业的挣扎后就直接已经放弃了第三次作业,尤其在没有指导、几乎全靠自学的环境下,我实在不具备这种能力。
个人观点,如有冒犯,it‘s my fault.



浙公网安备 33010602011771号