为期两周的个人项目告一段落,大家也各自完成了自己的作业。通过个人项目,我们发现并解决了一些问题,各自都有收获。
本次的个人作业是设计实现一个小型计算器。由于在大家以往课程中,涉及到了相关算法,所以做起来相对比较轻松。本次作业的难点在于:分数的运算。和一般的整数算式相比,如何实现分数之间的运算并且化简结果是本题的关键。大部分同学运用到了结构体,将分子分母分别设计为属性,将约分设计为方法,最后实现运算输出等功能。但是这期间也出现一些问题。有些同学偷工减料,把所有数字设计成一定要有分子分母的形式,省去了对整数的操作,这样虽然逻辑上容易,但是扩展性降低。自动生成算式这个功能,有部分同学实现。生成算式的算法用到了数据结构中栈的相关操作,让同学们可以体会到软件工程与其他学科联系的紧密性。有些同学也实现了图形界面,良好的图形界面让程序的交互性大大增加,使程序具有更强的直观性。
通过个人项目,相信大家对于软件工程中所学知识有了初步的认识。接下来的结对项目,是个人项目的延伸。相信通过结对项目,大家能对软件工程这一课程内容有更加深刻的体会。
本次的个人作业是设计实现一个小型计算器。由于在大家以往课程中,涉及到了相关算法,所以做起来相对比较轻松。本次作业的难点在于:分数的运算。和一般的整数算式相比,如何实现分数之间的运算并且化简结果是本题的关键。大部分同学运用到了结构体,将分子分母分别设计为属性,将约分设计为方法,最后实现运算输出等功能。但是这期间也出现一些问题。有些同学偷工减料,把所有数字设计成一定要有分子分母的形式,省去了对整数的操作,这样虽然逻辑上容易,但是扩展性降低。自动生成算式这个功能,有部分同学实现。生成算式的算法用到了数据结构中栈的相关操作,让同学们可以体会到软件工程与其他学科联系的紧密性。有些同学也实现了图形界面,良好的图形界面让程序的交互性大大增加,使程序具有更强的直观性。
通过个人项目,相信大家对于软件工程中所学知识有了初步的认识。接下来的结对项目,是个人项目的延伸。相信通过结对项目,大家能对软件工程这一课程内容有更加深刻的体会。