作业1

本文介绍了一个针对小学一年级学生的小型数学题生成器的设计与实现过程。该程序能够生成符合教学大纲要求的100以内加减法题目,并确保题目及答案符合特定规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

鲁迅

一、预估与实际

PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划650700
• Estimate• 估计这个任务需要多少时间700700
Development开发600600
• Analysis• 需求分析 (包括学习新技术)80100
• Design Spec• 生成设计文档1020
• Design Review• 设计复审1015
• Coding Standard• 代码规范 (为目前的开发制定合适的规范)1015
• Design• 具体设计200200
• Coding• 具体编码200250
• Code Review• 代码复审5050
• Test• 测试(自我测试,修改代码,提交修改)5050
Reporting报告4050
• Test Repor• 测试报告1520
• Size Measurement• 计算工作量1520
• Postmortem & Process Improvement Plan• 事后总结, 并提出过程改进计划1010
合计700

二、需求分析

我通过百度人教版教科书的方式了解到,小学一年级数学有如下的几个特点:

  • 特点1:刚开始认识100以内的正整数。
  • 特点2:学习到基础的100以内整数的加减法(仅限于整十数加减、两位数加一位数或整十数、两位数减一位数或整十数)。
  • 特点3:已经学会加减法的进位与退位。

经过分析,我认为,这个程序应当:

  • 使用的数字小于100。
  • 减法中减数为整十数或者个位数。
  • 算式的结果不能为负数且小于100。

    三、设计

1. 设计思路

  • 判断输入的参数是否合理。
  • 实现数字与加减符号的随机生成。
  • 使题目与标准答案符合需求。
  • 将题目与答案输出至output.txt

2. 实现方案

  • 准备工作:先在Github上创建仓库,克隆到本地,调查需求。
  • 技术关键点:随机生成符合规范的数字与符号。

四、编码

不知道怎么生成随机符号。

1. 调试日志

使用Math.random()将100填入括号内。

2. 关键代码

if(e==1) {
for(int i=1;i<=num;i++) {
int b =(int)(Math.random()100);
int c =(int)(Math.random()
100);
int d;
int rd=Math.random()>0.5?1:0;
if(rd==1) {
System.setOut(ps);
System.out.println("("+i+")"+" "+b+" "+"+"+" "+c+" "+"=");
d=b+c;list.add("("+i+")"+" "+b+" "+"+"+" "+c+" "+"="+" "+d);}
if(rd==0) {
while(b-c<0) {b=(int)(Math.random()*100);}
System.setOut(ps);
System.out.println("("+i+")"+" "+b+" "+"-"+" "+c+" "+"=");
d=b-c;list.add("("+i+")"+" "+b+" "+"-"+" "+c+" "+"="+" "+d);}
}
System.setOut(ps);
System.out.println("-----------标准答案-----------");
for (int i = 0; i < list.size(); i++) {
System.setOut(ps);
System.out.println( list.get(i));
随机生成数字b与c

3. 代码规范

请给出本次实验使用的代码规范:

  • 第一条 代码中的命名均不能以下划线或美元符号开始,也不能一下划线或美元符号结束。
  • 第二条 杜绝完全不规范的缩写,避免忘文不知义。
  • 第三条 类型与中括号紧挨相连来定义数组。
  • 第四条 常量命名全部大写,单词键用下划线隔开,力求语义表达完整,不要嫌名字长。
  • 第五条 if/for/while/switch/do等保留字与括号之间都必须加空格。
  • 第六条 方法参数在定义和传入是,多个参数逗号后边必须加空格。
  • 第七条 注释的双斜线与注释内容之间有且仅有一个空格。
  • 第八条 long或者Long初始赋值时,使用大写的L,不能小写的l,小写容易跟数字1混淆,造成误解。

并人工检查代码是否符合规范

五、测试

输入-5 提示输入错误 重新输入。
输入1 生成题目与答案 运行正确。

六、总结

  • 容易想当然,想问题不够仔细。很多函数不会使用。

转载于:https://www.cnblogs.com/yhy8509/p/9628483.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值