四则运算

GitHub代码地址:小学四则运算

1.需求分析

软件基本功能要求如下:
  • 程序可接收一个输入参数n,然后随机产生n道加减乘除练习题,每个数字在 0 和 100 之间,运算符在3个到5个之间。
  • 为了让小学生得到充分锻炼,每个练习题至少要包含2种运算符。同时,由于小学生没有分数与负数的概念,你所出的练习题在运算过程中不得出现负数与非整数,比如不能出 3/5+2=2.6,2-5+10=7等算式。
  • 练习题生成好后,将你的学号与生成的n道练习题及其对应的正确答案输出到文件“result.txt中,不要输出额外信息,文件目录与程序目录一致。
  • 当程序接收的参数为4时,以下为输出文件示例。

 

2、功能设计

 1 public GetRandomDigit(){
 2     random=new Random();
 3 }
 4     
 5 //1~4随机数
 6 int oprator(){
 7     return random.nextInt(4)+1;
 8 }
 9     
10 //3~5的随机数
11 int Time(){
12     return random.nextInt(3)+3;
13 }
14     
15 //0~100 随机数
16 int randomDigit(){
17     return random.nextInt(100);
18 }
19     
20 //产生随机数,让其20概率
21 int probabilityQuestion(){
22     return random.nextInt(200);
23 }    
24 
25 //产生括号的随机数
26 int BracketsIndex(int time){
27     return random.nextInt(time-2);
28 }

 

(1)随机数的产生

  产生1~4的随机数分别表示加,减,乘,除。

  生成3-5的随机数顶式子的长度。

  产生0-100的随机数表示,表示算式,产生0-200的随机数,去中间的90-110的范围内取括号,其中就有10%的概率会出现带有括号的题目。

(2) 键盘输入题目数量及学号

(3)对输入时候的操作做一些异常处理

(4)在运算过成功不得出现负数适当的出现带有括号的式子

(5)最后将运算表达式和计算结果写入result.txt文件,提示学生进行查询并复习。

 

3.设计实现

(1)接受参数及学号

(2)优先级算法

(3)输出

 

4.测试运行

 

5.代码目录结合及生成结果

               

 

6.展示PSP

PSP2.1

任务内容

计划完成需要的时间(min)

实际完成需要的时间(min)

Planning

计划

10

6

·       Estimate

·  估计这个任务需要多少时间,并规划大致工作步骤

10

6

Development

开发

129

171

··       Analysis

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

10

10

·       Design Spec

·  生成设计文档

5

5

·       Design Review

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

5

5

·       Coding Standard

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

5

6

·       Design

  具体设计

10

15

·       Coding

  具体编码

80

120

·       Code Review

·  代码复审

8

6

·       Test

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

6

4

Reporting

报告

8

6

··       Test Report

·  测试报告

3

2

·       Size Measurement

  计算工作量

2

1

·       Postmortem & Process Improvement Plan

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

3

3

posted @ 2018-03-21 00:37  ilyar1015  阅读(237)  评论(0编辑  收藏  举报