您现在的位置是:主页 > news > 夺宝网站制作/个人网站推广

夺宝网站制作/个人网站推广

admin2025/5/23 14:33:48news

简介夺宝网站制作,个人网站推广,学习网站免费,网站广告看不到211606369 蔺皓雯 211606349 蔡晨旸 小学三年级数学题MathExam369 一、预估与实际 PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)Planning计划600760• Estimate• 估计这个任务需要多少时间600760Develop…

夺宝网站制作,个人网站推广,学习网站免费,网站广告看不到211606369 蔺皓雯 211606349 蔡晨旸 小学三年级数学题MathExam369 一、预估与实际 PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)Planning计划600760• Estimate• 估计这个任务需要多少时间600760Develop…

211606369 蔺皓雯 211606349 蔡晨旸

小学三年级数学题MathExam369

一、预估与实际

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

二、需求分析

我通过上网查阅的方式了解到,小学三数学有如下的几个特点:

  • (1)一位数的乘、除法; 0的乘法;连乘;除数是一位数的除;0除以一个数用乘法验算除法;连除。
  • (2)两位数的乘、除法;个乘数是两位数的乘法(另一个乘数一般不超过三位数);
  • 除数是两位数的除法; 连乘、连除的简便算法。
  • (3)四则混合运算。;小括号的使用。

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

  • 运算符在2~4个,且至少两个不同的运算符
  • 可以加括号
  • 减法运算的结果不能有负数
  • 除法运算除数不能为0,不能有余数
  • 保留1、2年级的出题要求

三、设计

1. 设计思路

  • 首先要初始化文件函数,创建文件输出流,将题目和答案存入out.txt文件
  • 使用随机数生成题目和算式
  • 输出题目和结果

  • 关键函数的流程图
    1472365-20180917231427698-1504002330.png

2. 实现方案

  • 准备工作:先在Github上创建仓库,克隆到本地,fork到自己的仓库,下载到本地仓库
    -技术关键点:创建文件输出流,生成四则混合运算,要有括号

四、编码

  • 在编写完运算以后,要将题目和答案都存入文件
  • 要加入括号,输入的参数顺序可以变,运算符的个数要确定,结果不能有负数,因为时间比较仓促再加上知识点比较薄弱,只能用最笨的方法一步一步写,导致bug太多,输出的结果也有很多问题。

1. 调试日志

  • 在for循环里输出最后答案的式子没能写入到文件里,
  • 导致计算结果出现了问题,目前正在不断优化中

    2. 关键代码

        String c[] ={"+","-","×","÷"};byte contentInBytes[];Random rand=new Random();for (int i=0;i<=n;i++) {int a=rand.nextInt(c.length);String resultChar=c[a];//运算符号存入resultCharif (grade==1) {for (int i1=0;i1<=n;i1++) {left=rand.nextInt(100);right=rand.nextInt(100);//左右百内随机数String b= left+resultChar+right+"=";//题目//又一套,存题目if(resultChar=="+"){ re3=left+right;String d=left+resultChar+right+"="+re3;}else if(resultChar=="-"){re3=left-right;String e=left+resultChar+right+"="+re3;}}}if (grade==2) {for (int i2=0;i2<=n;i2++) {if(resultChar=="+"){left=rand.nextInt(10000);right=rand.nextInt(10000);String b= left+resultChar+right+"=";if((left%100==0 || left%1000==0 || left<=100)&&(right%100==0 || right%1000==0 || right<=100)) {re3=left+right;String e=left+resultChar+right+"="+re3;}if(left%100==0 && left>=100 && (right%100==0 || right%10==0)) {re3=left+right;String f=left+resultChar+right+"="+re3;}}else if(resultChar=="-"){left=rand.nextInt(10000);right=rand.nextInt(10000);String b= left+resultChar+right+"=";if((left%100==0 || left%1000==0 || left<=100)&&(right%100==0 || right%1000==0 || right<=100)) {re3=left-right;String g=left+resultChar+right+"="+re3;}if(left%100==0 && left>=100 && (right%100==0 || right%10==0)) {re3=left-right;String h=left+resultChar+right+"="+re3;}}else if(resultChar=="×"){left=rand.nextInt(10)+1;right=rand.nextInt(10)+1;String b= left+resultChar+right+"=";re3=left-right;String j=left+resultChar+right+"="+re3;}else if(resultChar=="÷"){left=rand.nextInt(10)+1;right=rand.nextInt(10)+1;String b= left+resultChar+right+"=";re2=left/right;re1=left%right;String k=left+resultChar+right+"=";if(re1==0) { re3=left/right;String l=left+resultChar+right+"="+re3;}else {String m=left+resultChar+right+"="+(re1+"..."+re2);}   }}}if (grade==3) {for (int i3=0;i3<=n;i3++) {if(resultChar=="+"){left=rand.nextInt(10000);right=rand.nextInt(10000);re3=left+right;String o= left+resultChar+right+"="+re3;}if(resultChar=="-") {left=rand.nextInt(10000);right=rand.nextInt(10000);re3=left-right;String o= left+resultChar+right+"="+re3;}if(resultChar=="×") {left=rand.nextInt(1000)+100;right=rand.nextInt(100)+10;re3=left*right;String o= left+resultChar+right+"="+re3;}if(resultChar=="÷") {left=rand.nextInt(1000)+100;right=rand.nextInt(100)+10;re3=left/right;String o= left+resultChar+right+"="+re3;re2=left/right;re1=left%right;if(re1==0) { String p=left+resultChar+right+"="+re3;}else {String p=left+resultChar+right+"="+(re1+"..."+re2);}   

因为

3. 代码规范

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

  • 类名首字母应该大写。每个单词的首字母大写。
  • 避免异常
  • 人工检查代码是否存在错误
  • 包名必须小写
  • 避免类似的名字,或者仅仅是大小写不同的名字
  • 如果变量名是集合,变量名应用负数 如int [] students
  • 如果是大括号内为空,则简洁地写成{}即可,不需要换行;
  • 任何运算符左右必须加一个空格。 运算符包括赋值运算符=、逻辑运算符&&、加减乘除符号、三目运行符等。
  • 单行字符数限不超过 120 个

五、测试

测试例结果
6 2题目答案已生成请查看out.txt 正确
10000 3参数过大
5 3题目答案已生成请查看out.txt 正确

六、总结

  • 因为时间的不充裕,每门科目都有作业加上自己的时间规划不完美,以及和搭档的首次配合效果不理想,我们分工不明确
  • 导致了改代码花费了太多时间,却是以最简单的方法写了很冗长的代码,错误太多,我们会改进,
  • 我们对栈和调度场算法与逆波兰表达式的知识不是很熟悉,导致只能用以前的基础知识写代码,费时费力,说到底都是我们知识匮乏造成的
  • 这次不知道加上括号使用,四则混合运算出现了很多错误,我们会努力改进代码。

1472365-20180918233805655-1130469261.jpg

转载于:https://www.cnblogs.com/hwlc--/p/9657384.html