首页 > 其他分享 >结对项目:自动生成小学四则运算题目

结对项目:自动生成小学四则运算题目

时间:2023-09-28 13:11:26浏览次数:38  
标签:分数 结对 20 答案 四则运算 生成 Fraction 题目

所属课程 软件工程导论
作业要求 个人项目
作业目标 熟悉结对编程、完成小学四则运算题目的自动生成

小组成员

姓名 班级 学号
林劲辰 计科2班 3121004707
许庆阳 计科2班 3121004931

Github链接: https://github.com/HsuQingYoung/PeerWork

项目要求

1、实现一个自动生成小学四则运算题目的命令行程序(也可以用图像界面,具有相似功能)
2、程序应能支持一万道题目的生成。
3、使用 n 参数控制生成题目的个数,使用 r 参数控制题目中数值(自然数、真分数和真分数分母)的范围
4、不能出现负数,假分数,每题运算符不能超过3个
5、生成的题目存入执行程序的当前目录下的Exercises.txt文件,在生成题目的同时,计算出所有题目的答案,并存入执行程序的当前目录下的Answers.txt文件
6、程序支持对给定的题目文件和答案文件,判定答案中的对错并进行数量统计,统计结果输出到文件Grade.txt

1.PSP表格

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 20 30
Estimate 估计这个任务需要多少时间 10 10
Development 开发 200 250
Analysis 需求分析 (包括学习新技术) 80 80
Design Spec 生成设计文档 40 50
Design Review 设计复审 20 30
Coding Standard 代码规范 (为目前的开发制定合适的规范) 20 20
Design 具体设计 60 60
Coding 具体编码 150 180
Code Review 代码复审 20 30
Test 测试(自我测试,修改代码,提交修改) 90 110
Reporting 报告 80 50
Test Repor 测试报告 20 40
Size Measurement 计算工作量 20 20
Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 30 30
合计 900 1000

2.模块接口设计

2.1流程图

2.2类

类名 作用
main 主函数
BuildFormula 随机生成式子
checkAnswer 对照答案
FileOperation 文件相关
Fraction 表示分数
GetResultFromArray 转换分数

2.3函数

函数名 功能 归属的类
generate 随机生成公式,如果有减法,则判定减数和被减数的大小,确保计算的子过程不出现负数 BuildFormula类
addBrackets 符合条件的话随机生成括号 BuildFormula类
check 讲用户输入的答案与正确答案比较,正确则在后面打勾,否则打叉 checkAnswer类
writeFormulaIntoTxt 讲生成的公式写入文件 FileOperation类
writeAnswerIntoTxt 讲每条公式对应的答案写入文件 FileOperation类
createFraction 根据分子分母构建分数 Fraction类
add 分数的加操作 Fraction类
sub 分数的减操作 Fraction类
mul 分数的乘操作 Fraction类
div 分数的除法操作 Fraction类
toString 分数转换为字符串 Fraction类
calculateStringArray 根据字符串数组中的公式将其转换为分数并计算其结果 GetResultFromArray类

3代码性能分析

4单元测试展示

4.1测试代码

生成测试

点击查看代码
public class TestMain {
    public static void main(String[] args) {//测试生成公式和答案
//-n 10 -r 10
        int range=10;
        int count=10;
        BuildFormula bf=new BuildFormula(range,count);
        bf.generate();
    }
}

答案测试

点击查看代码
public class TestCheckAnswer {//测试校对答案
    public static void main(String[] args) {
        checkAnswer ca=new checkAnswer();
        try {
            ca.check();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

4.2测试结果

式子生成:

答案生成:

测试结果:成功生成式子,并且结果正确,没有出现问题。

4.3测试覆盖率

5.作业总结

团结协作是一切事业成功的基础,个人和集体只有依靠团结的力量才能把人人的愿望和团队的目标结合起来,超越人体的局限,发挥集体的协作作用,产生1+1>2的效果,在合作中,我们对出现的问题进行统一讨论,有时候我没能解决的问题,对方能解决。我们彼此都能想到对方想不到的点,这样互相完善,比起一个人来说,效率大大提升了。在这次代码中遇到最大的问题就是公式生成不合理的问题,因为之前没有学习过相关方面的问题,经过这次作业,也让我们学到了新的东西,取得了一定的进步。对于以后的结对编程,我们的建议是可以先了解彼此的长处,合理分配任务,是项目完成更加高效。

标签:分数,结对,20,答案,四则运算,生成,Fraction,题目
From: https://www.cnblogs.com/kinsonlin/p/17734489.html

相关文章

  • 结对项目:用python实现一个自动生成小学四则运算题目的命令行程序
    这个作业属于哪个课程计科21级12班这个作业的要求在哪里结对项目这个作业的目标了解结对项目的过程团队成员信息姓名学号肖兴明3121004712徐强3121004713Github链接GithubPSPPSP2.1PersonalSoftwareProcessStages预估耗时(分钟)实......
  • 结对项目
    Github链接姓名:韩业浩 学号:3121004860这个作业属于那个课程软件工程-计科21级12班这个作业要求在哪里结对项目这个作业的目标实现一个自动生成小学四则运算题目的命令行程序一、PSP表格PSP2.1PersonalSoftwareProcessStages预估耗时(分钟)实际耗时(......
  • 结对项目:自动生成小学四则运算题目
    软件工程https://edu.cnblogs.com/campus/gdgy/CSGrade21-12?filter=all作业要求https://edu.cnblogs.com/campus/gdgy/CSGrade21-12/homework/13016作业目标学习算法,完成简单的四则运算团队成员:姓名:陈鑫杰学号:3121004688姓名:黄嘉俊学号:3121004696Git链接:h......
  • 结对项目(王浩忠 曾铭鸿)
    学生个人信息成员学号王浩忠3121005099曾铭鸿3121005101作业信息这个作业属于哪个课程软件工程这个作业要求在哪里结对项目这个作业的目标实现一个自动生成小学四则运算的程序GitHub地址https://github.com/Binezis/Pair_ProgramPSP表格......
  • 结对项目
    姓名学号张钟杰3121005324伊尔帕提江3121005318Github结对项目github作业概述这个作业属于那个课程软件工程这个作业的要求结对项目这个作业的目标实现一个自动生成小学四则运算题目的命令行程序PSP表PSPPersonalSoftwareProcessStages预......
  • 小学四则运算题目生成器
    这个作业属于哪个课程软件工程这个作业要求在哪里在这里这个作业的目标写个小学四则运算题目生成器,学会与同伴合作做项目陈威衡3121005206郑贵南3121005237github连接需求分析表达式中的分数都用真分数的形式表示生成的表达式里只包含四则运算和括号每......
  • 9.27四则运算思路
    1.写一个控制操作数的函数,控制随机数范围,是否有括号,操作数,是否写入文件可以用数组储存数值用集合存运算符,存括号可以采用随机第一个左括号产生0到n-1之间,包左不包右,假设y,第二个的取值是第一个y+1到n若有括号n个数,n-1个运算符,数据结构,两个栈,一个存数,一个存运算符,然后运算得出结......
  • 结对项目
    结对项目姓名学号李嘉鹏3121005091田小古3121005098作业概述这个作业属于哪个课程班级链接这个作业要求在哪里作业链接这个作业的目标1.实现一个自动生成小学四则运算题目的命令行程序2.结对编程一、github仓库github地址二、PSP表格......
  • Python实现自动生成四则运算题目和答案检测
    这个作业属于哪个课程软件工程这个作业要求在哪里结对项目这个作业的目标实现自动生成四则运算题目功能,以及给定题目和答案、判断答案对错的功能本项目上传至个人GitHub:yulinnn/PythonProject_FourOperations项目需求题目:实现一个自动生成小学四则运算题目的......
  • 结对编程-小学四则运算
    结对编程——小学四则运算这个作业属于哪个课程软件工程这个作业要求在哪里软件工程这个作业的目标1、尝试结对编程2、深入熟悉开发过程3、设计一个能自动生成小学四则运算题并批改题目的程序 一、合作者姓名学号郑佳媚322100507......