四则运算二

题目:

5

四则运算二

通过网络查询二年级小学数学四则运算的范围。

观察《冀教版数学二年级上册口算练习》文档。

总结二年级小学数学,并且按照《软件需求规格说明书》的要求撰写一份小学二年级四则运算软件需求规格说明书。

撰写一篇博客要求讲述四则运算2的设计思想,源程序代码、运行结果截图、编程总结分析,并按照PSP0级的要求记录开发过程中的时间记录日志。

截止时间周三126日(20:00)之前发布。

博客要求

1)在开始实现程序之前,使用下述PSP表格记录下你估计将在程序的各个模块的开发上耗费的时间。

2)在你实现完程序之后,使用下述PSP表格记录下你在程序的各个模块上实际花费的时间。

3)共享你对程序进行测试的至少10个测试用例,以及说明为什么你能确定你的程序是正确的。(不正确的程序得0分,不管性能如何)

4)说明你在个人项目中学到了什么。

PSP2.1

Personal Software Process Stages

Time

Planning

计划

 

  · Estimate

  · 估计这个任务需要多少时间

 

Development

开发

 

  · Analysis

  · 需求分析 (包括学习新技术)

 

  · Design Spec

  · 生成设计文档

 

  · Design Review

  · 设计复审 (和同事审核设计文档)

 

  · Coding Standard

  · 代码规范 (为目前的开发制定合适的规范)

 

  · Design

  · 具体设计

 

  · Coding

  · 具体编码

 

  · Code Review

  · 代码复审

 

  · Test

  · 测试(自我测试,修改代码,提交修改)

 

Reporting

报告

 

  · Test Report

  · 测试报告

 

  · Size Measurement

  · 计算工作量

 

  · Postmortem & Process Improvement Plan

  · 事后总结并提出过程改进计划

 

 

合计

 

作业内容:

  设计思路:

主要是对随机数的筛选,筛选的标准是计算结果的限定

代码实现:

package DefaultPackage;

import java.util.Scanner;

class Zhengshu//整数类
{
String re1="";//初始化 “结果” String类型的
int re;
String function(int r ,int q, int fun)// r最小值,q最大值,fun 选择
{
    //1有乘除法 2加减无负数 3除法无余数(12,1,0)
    String fu ="";
    String shizi="";
    int a=(int)(Math.random()*(r)%(r-q+1)+q);
    int b=(int)(Math.random()*(r)%(r-q+1)+q);
    int c=(int)(Math.random()*4);
    if(fun==1)
    {
        if(c==0)
        {
         while(a+b>100){
                a=(int)(Math.random()*(r)%(r-q+1)+q);
                b=(int)(Math.random()*(r)%(r-q+1)+q);
            }
            fu="+";
            shizi=a+" "+fu+" "+b;
            re=a+b;
            re1=String.valueOf(re);
        }
        if(c==1)
        {     
            fu="-";
            //排除负数可能性
            while(a-b<0)
            {
                a=(int)(Math.random()*(r)%(r-q+1)+q);
                b=(int)(Math.random()*(r)%(r-q+1)+q);
            }
            shizi=a+" "+fu+" "+b;
            re=a-b;
            re1=String.valueOf(re);
        }
        if(c==2)
        {
        while(a>10||b>10){
                a=(int)(Math.random()*(r)%(r-q+1)+q);
                b=(int)(Math.random()*(r)%(r-q+1)+q);
            }
            fu="×";
            shizi=a+" "+fu+" "+b;
            re=a*b;
            re1=String.valueOf(re);
        }
        if(c==3)
        {
        while(a>10||b>10){
                a=(int)(Math.random()*(r)%(r-q+1)+q);
                b=(int)(Math.random()*(r)%(r-q+1)+q);
            }
            fu="÷";
            //排除分母为0的可能性和余数的可能性
            while(b==0||a==0)
            {
                a=(int)(Math.random()*(r)%(r-q+1)+q);
                b=(int)(Math.random()*(r)%(r-q+1)+q);
            }    
            re=a;
            shizi=a*b+" "+fu+" "+b;
            re1=String.valueOf(re);
        }
    }
    if(fun==2)//分数 
    {
//    	if(c==1){//真分数的除法运算
    	while((a<=b)||(a%b!=0)||(a/b)>10){
    		a=(int)(Math.random()*(r)%(r-q+1)+q);
            b=(int)(Math.random()*(r)%(r-q+1)+q);
    	}
    	fu="/";
    	shizi=a+" "+fu+" "+b+" "+"=";
    	}
   // }
        return shizi;//返回字符串
}
}
public class Account {
@SuppressWarnings("null")
public  static void main(String[] args){
	
	int r;
	int q;
	
	System.out.println("输入最大值");	
	@SuppressWarnings("resource")
	Scanner sc=new Scanner(System.in);
	r=sc.nextInt();
	System.out.println("输入最小值");
	@SuppressWarnings("resource")
	Scanner sx=new Scanner(System.in);
	q=sx.nextInt();
	System.out.println("输入计算试类型");
	Scanner sd=new Scanner(System.in);
	int fun=sd.nextInt();
//	System.out.println("输入个数");
//	Scanner sg=new Scanner(System.in);
//    int num=sg.nextInt();
	for(int i=0;i<30;i++){		
	Zhengshu a = new Zhengshu();	
	System.out.println(a.function(r, q, fun));
	}
	
}
}

  结果截图:

 

姓名:李奇原

2017年12月5日

 

 题目1

日期

分析

设计思路

伪代码,流程图

代码实现

调试

总计

 

周二

5

10

15

          50

15

95

 

 周二、周三

 60

 50

 30

 360

 500

 1000

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


      

时间记录日志:

日期

开始

结束

中断时间

净时间

活动

备注

 周二

8:00

10:00

0

120

上课

课堂测试

 

10:10

11:50

0

100

上课

上机

 

15:00

16:00

0

60

开会

学习

 周二

 10:00

 23:00

 120

 11小时

 写代码

 

 周三

 14:00

 23

 50

 8小时

 写代码+调试

 

 

 

 

 

 

 

 

  

缺陷记录日志

日期

编号

类型

引入阶段

排除阶段

修复时间

修复缺陷

11/28

1

思路

设计思路

设计思路

10

分装

 

2

代码实现

代码实现

代码实现

25

语法,书写错误

 

3

调试

调试阶段

调试阶段

25

数据库表设计

12/5

4

代码

书写

书写

100

语法问题

 

5

设计

设计

设计

120

技术问题

12/6

6

优化

优化

优化

100

优化+用户体验

 

原文地址:https://www.cnblogs.com/1605-3QYL/p/8296163.html