PSP数据比较(四则运算)——计应193第6组栗亚文
计划:编写一个四则运算的程序进行一些小程序软件的一些辅助计算,后期会根据实际需求进行代码复审以及更改和增添一些复杂的计算来完善
开发:初期编写加减乘除的简单代码如下:
public class Calculator {
public static Integer simplify(Integer numerator, Integer denominator) {
if (denominator == 0) return numerator;
return numerator % denominator == 0 ? denominator : simplify(denominator, numerator % denominator);
}
//相加
public static Fraction ADD(Fraction first, Fraction second) {
return new Fraction(first.getNumerator() * second.getDenominator() + first.getDenominator() * second.getNumerator(),
first.getDenominator() * second.getDenominator());
}
//相减
public static Fraction SUB(Fraction first, Fraction second) {
return new Fraction(first.getNumerator() * second.getDenominator() - first.getDenominator() * second.getNumerator(), first.getDenominator() * second.getDenominator());
}
//相乘
public static Fraction MUL(Fraction first, Fraction second) {
return new Fraction(first.getNumerator() * second.getNumerator(), first.getDenominator() * second.getDenominator());
}
//相除
public static Fraction DIV(Fraction first, Fraction second) {
return MUL(first, Countdown(second));
}
//取倒
public static Fraction Countdown(Fraction fraction) {
return new Fraction(fraction.getDenominator(), fraction.getNumerator());
}
//比较大小
public static boolean CMP(Fraction first, Fraction second) {
Fraction result = DIV(first, second);
return result.getNumerator() > result.getDenominator() && result.getNumerator() > 0 ? true : false;
}
//获取最大公因数并约去(辗转相除法)
public static int GCD(int a, int b) {
if (b == 0) return a;
return a % b == 0 ? b : GCD(b, a % b);
}
}
报告:编写过程中进行功能整改,进行代码复查后续进行补充
总结:现阶段一个大概的构想,不够充分,后续根据项目进行的情况进行实时总结。
PSP阶段 |
预计时间 |
实际记录 |
计划 |
10 |
10 |
|
10 |
10 |
开发 |
86 |
73 |
|
12 |
8 |
|
8 |
10 |
|
12 |
7 |
|
8 |
3 |
|
16 |
13 |
|
21 |
22 |
|
9 |
10 |
报告 |
7 |
5 |
|
3 |
3 |
|
2 |
1 |
|
2 |
1 |
总共花费的时间 |
103 |
93 |