欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

20194731 自动生成四则运算题第一版报告

程序员文章站 2022-06-30 11:42:50
一、需求分析 现在的小学生算数能力需要经常锻炼,但是出题成了家长们的一大难题,因为人工出题需要自己计算,但是利用程序出题可以很快速,准确的出题。 二、功能设计 1、基本功能 (1)自动生成10道100以内的2个操作数的四则运算算式(+ - * /),要求运算结果也在100以内 (2)剔除重复算式。 ......

一、需求分析

  现在的小学生算数能力需要经常锻炼,但是出题成了家长们的一大难题,因为人工出题需要自己计算,但是利用程序出题可以很快速,准确的出题。

二、功能设计

  1、基本功能

      (1)自动生成10道100以内的2个操作数的四则运算算式(+ - *  /),要求运算结果也在100以内

      (2)剔除重复算式。  2 + 3 =    和  2 + 3 =     是重复算式      2 + 3 =   和   3 + 2 =  不属于重复算式

      (3)题目数量可定制

      (4)相关参数可控制

               是否包含乘法和除法

                 操作数数值范围可控(如操作数 在100以内   还是1000以内)

                              操作数是否含负数    

                    (5)生成的运算题存储到外部文件result.txt中

   2、拓展功能

       (1)可选择是否生成答案

三、设计实现

  因为我用的是c语言编写的程序,没有用到类,我也没有写函数。

四、测试运行

20194731 自动生成四则运算题第一版报告

20194731 自动生成四则运算题第一版报告

 

 

 五、代码片段

  1、判断算式是否重复,若重复便跳过次算式

1 for(j=0;j<i;j++)
2  if(b1[i][0]==b1[j][0]&&b1[i][1]==b1[j][1]&&b1[i][2]==b1[j][2]){
3    flag=1;
4       break;
5   }
6 if(flag==1||(e==2&&c==0)){
7       i--;
8       continue;
9 }

 

   2、是否生成带答案的算式

1 if(t4==1)
2   fprintf(fp,"%5.0f%5.c%5.0f =%5.0f\n", a,b[e],c,sum);
3 else
4   fprintf(fp,"%5.0f%5.c%5.0f =\n", a,b[e],c);

 

六、总结

  改进思路:可把每段关键算法写成单独的函数,这样每次进行修改时可直接修改函数部分不需要到程序中进行修改,把可变的参数全部用变量代替,这样可实现更多功能,使程序更加人性化。

 

七、psp

psp2.1

任务内容

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

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

planning

计划

60

120

·       estimate

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

60

120

development

开发

30

60

··       analysis

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

3

5

·       design spec

·  生成设计文档

2

5

·       design review

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

2

5

·       coding standard

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

1

1

·       design

  具体设计

5

5

·       coding

  具体编码

20

15

·       code review

·  代码复审

5

20

·       test

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

1

4

reporting

报告

30

60

··       test report

·  测试报告

10

20

·       size measurement

  计算工作量

10

20

·       postmortem & process improvement plan

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

10

20