zoukankan      html  css  js  c++  java
  • 软件工程个人作业03

    一.设计思路

    1.输入一个整数m,用于控制题目数量

    2.随机生成一个整数m1,用于控制是加减法还是加减乘除法

    3.输入一个整数m2,用于控制生成随机数值的范围

    4.随机生成一个2-9之间的数m4,用来控制参数个数

    5.随机生成一个01的数,1代表是正数,0代表是负数

    6.随机生成一个a,ba,b,c,d之间的一个字母cha代表+b代表-,c代表*d代表÷

    7.随机产生两个0-m2之间的整数x,y

    8.计算这两个随机数的余数n是否是整数

    9.如果输出的是0并且n==0,则输出-x/y+ch

    10.如果输出的是0n=0输出-x+”/”+y+ch

    11.如果输出的是1并且n==0,则输出x/y+ch

    12.如果输出的是1n=0输出x+”/”+y+ch

    13.重复步骤4-11,直到循环次m4

    14.再随机生成一个01的数,1代表是正数,0代表是负数

    15.再随机产生两个0-m2之间的整数篇,p,q

    16.计算这两个随机数的余数w是否是整数

    17.如果输出的是0并且w==0,则输出-p/q=

    18.如果输出的是0w=0输出-p+”/”+q=

    19.如果输出的是1并且w==0,则输出p/q=

    20.如果输出的是1w=0输出p+”/”+q=

    21.在参数之前随机产生前括号,在3*n+2后加后括号,1<n<7

    22.for循环,用于排查题目重复

    二.源程序代码

        

    package sizeyunsuan;
    import java.util.*;
    public class sizeyunsuan {
        @SuppressWarnings("resource")
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Scanner in=new Scanner(System.in);
            System.out.print("输入一个整数m,用于控制题目个数:");
            int m=in.nextInt();
            Scanner input=new Scanner(System.in);
            System.out.print("输入一个整数m1(2或4),用于控制是否只有加减乘除:");
            int m1=input.nextInt();
            System.out.print("输入一个整数m2,用于控制随机数值的范围:");
            int m2=in.nextInt();
            for(int i=0;i<m;i++)
            {
                Random    rand1=new Random();
                int randNum1=rand1.nextInt(7)+2;
                for(int l=1;l<randNum1;randNum1++)
                {
                    Random    rand2=new Random();
                    int randNum2=rand2.nextInt(2);
                    if(randNum2==0)
                        System.out.print("("+"-");
                    if(randNum2!=0)
                        System.out.print("(");
                    Random    rand3=new Random();
                    int randNum3=rand3.nextInt(m2);            
                    Random rand4=new Random();
                    int randNum4=rand4.nextInt(m2-1)+1;
                    int t=randNum3%randNum4;
                    if(t==0)
                    {
                        System.out.print(randNum2/randNum3);
                    }
                    if(t!=0)
                    {
                        System.out.print(randNum2+"/"+randNum3);
                    }
                       char ch=(char)((int)(Math.random()*m1)+97);
                    if(ch=='a')
                    {
                        System.out.print("+");
                    }
                    if(ch=='b')
                    {
                        System.out.print("-");
                    }
                    if(ch=='c')
                    {
                        System.out.print("*");
                    }
                    if(ch=='d')
                    {
                        System.out.print("÷");
                    }
                
                Random    rand7=new Random();
                int randNum7=rand7.nextInt(2);
                if(randNum7==0)
                    System.out.print("-");
                if(randNum7!=0)
                    System.out.print("");
                Random    rand5=new Random();
                int randNum5=rand5.nextInt(m2);
                Random rand6=new Random();
                int randNum6=rand6.nextInt(m2-1)+1;
                int p=randNum5%randNum6;
                if(p==0)
                    System.out.print(randNum5/randNum6);
                else
                    System.out.print(randNum5+"/"+randNum6);
                for(int h=0;h<randNum1;h++)
                {
                    System.out.print(")");
                }
                System.out.println("=");
            }
            }
            
        }
    }                
        

    三.运行结果截图

               

    四.按照PSP0级的要求记录开发过程中的项目计划日志、时间记录日志、缺陷记录日志

      项目计划总结

    估计程序开发所需时间,包括开始和结束时间,要求“尽可能精确”。

         整体计划时间

         阶段计划时间

    记录程序开发各个阶段的实际完成时间,并汇总整体时间,确保时间记录日志的准确性,及时发现和维修不准确的时间记录。

         

         整体计划时间

         阶段计划时间

    按阶段记录所有缺陷,及时发现并补充遗漏缺陷记录

    注入缺陷数量

    排除缺陷数量

                                  

                                                                                     周活动总结表

                               姓名:牛俊燕                                                                               日期:2016.3.17

     日期任务

          听课

        编写程序

        阅读课本

        日总计

    周日

    周一

    100分钟

    120分钟

    90分钟

    310分钟

    周二

    240分钟

    240分钟

    周三

    180分钟

    180分钟

    周四

    150分钟

    120分钟

    270分钟

    周五

    周六

    180分钟

    180分钟

    周总计

    100分钟

    870分钟

    210分钟

    1180分钟

    时间记录日志

    记录开发任务的开始和结束开始时间,中断时间及净时间。并说明中断的原因

    项目任务

    所处阶段

    开始时间

    结束时间

    中断时间

    净时间

    备注(说明中断原因)

                            学生:牛俊燕                                                                               日期:3/17/2016

                            教师:王建民                                                                               课程:软件工程概论             

    日期

    开始时间

    结束时间

    中断时间

    净时间

    活动

    备注

    3/14

    800

    950

    10分钟

    100分钟

    听课

    上课

    1400

    1600

    120分钟

    编程序

    作业2

    1730

    1900

    90分钟

    看书

    有关PHP

    3/15

    1600

    1700

    60分钟

    讨论

    作业2

    1800

    2100

    180分钟

    编程序

    作业2

    3/16

    1520

    1830

    10分钟

    180分钟

    编程序

    作业2

    3/17

    1630

    1900

    150分钟

    编程序

    作业2

    1920

    2130

    10分钟

    120分钟

    看书

    构建之法

    3/19

    800

    1130

    30分钟

    180分钟

    写总结

    精读,进度条等

                                                                                 缺陷记录日志示例

                            学生:牛俊燕                                                                                      日期:3/18/2016

                            教员:王建民老师                                                                                 程序号:2         

    日期

    编号

    类型

    引入阶段

    排除阶段

    修复时间

    修复缺陷

    3/14

    1

    19

    编码

    编译

    20min

    描述:随机生成数的范围有错误

    2

    29

    编码

    编译

    5min

    描述:随机生成数的类型强制转换有错误

    3/15

    3

    31

    编码

    编译

    10min

    描述:if语句中不能用随机生成数

    3/16

    4

    84

    编码

    编译

    30min

    描述:控制一个计算式的参数个数的for循环语句的第二个花括号的位置错误

    3/17

    5

    32

    编码

    编译

    10min

    描述:随机生成括号,括号匹配有错误

    6

    110

    设计

    编译

    90min

    描述:题目的查重的思路有问题

    3/19

    7

    110

    编码

    编译

    120min

    描述:题目的查重的代码有问题,实现不了查重

        

        

               

      

  • 相关阅读:
    接受慕课网的访谈
    png在线压缩工具
    提高canvas性能技巧
    [转] PhoneGap build with iOS from the command line
    《包益民在TED上的演讲--A New Measure for Designers》—— 同讲工程师的价值和衡量标准
    HTML5和移动终端给前端开发带来的变化——近三年探索经验漫谈
    《不懂技术的人不要对懂技术的人说这很容易实现》
    不想当产品经理的项目经理不是好架构师 —— 最近的一些反思
    音乐类游戏demo
    kubernetes 存储-基于NFS的PV创建应用
  • 原文地址:https://www.cnblogs.com/niujunyan/p/5294555.html
Copyright © 2011-2022 走看看