结对项目:用python实现一个自动生成小学四则运算题目的命令行程序

发布时间 2023-09-28 12:15:39作者: 追code的人
这个作业属于哪个课程 计科21级12班
这个作业的要求在哪里 结对项目
这个作业的目标 了解结对项目的过程

团队成员信息

姓名 学号
肖兴明 3121004712
徐强 3121004713

Github链接

Github

PSP

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

效能分析

expression_result函数

check_answer函数

generateBinaryTree函数

creQuestion函数
s
normalizeExpression函数

main函数

消耗最大的函数是

设计实现expression_result函数

共有六个类:SuffixExpression类,Product类,Node类,BinaryTree类,Answer类,main类
SuffixExpression类:将中缀表达式转化为后缀表达式,计算后缀表达式的值
Product类:生成表达式
Node类:定义二叉树数据结构
BinaryTree类:二叉树操作
Answer类:生成答案
main类:设置命令行参数,调用函数

关键代码

使用二叉树数据结构存储

生成二叉树

判断二叉树是否重复

中缀表达式转为后缀表达式

后缀表达式求值

生成表达式


求表达式的结果

校对答案

main函数设置命令行参数

测试运行




生产了50道题目,和答案,全对

项目小结#

在本次软件工程结对项目中,我们成功合作完成了一个重要的任务。通过结对编程,我们能够更快速地解决问题,减少了错误和代码质量问题。我们积极分享知识,提高了团队的整体效率。此外,结对项目也帮助我们更好地理解了项目需求,并提前发现了一些潜在问题。总之,结对项目是一个有益的经验,对我们的技能和团队合作有了显著的提升。