GITHUB地址
https://github.com/haijungongchengdaxuelvzhiyong/lvzhiyong.git
PSP
PSP2.1
PSP2.1
|
Personal Software Process Stages
|
预估耗时(分钟)
|
实际耗时(分钟)
|
Planning |
计划
|
30 |
40 |
Estimate |
估计这个任务需要多少时间 |
1100 |
无限 |
Development |
开发
|
500 |
无限 |
analysis |
需求分析 |
30 |
40 |
Design spec |
生成设计文档 |
30 |
50 |
Design review |
设计复审 (和同事审核设计文档) |
60 |
40 |
Coding standard |
代码规范 (为目前的开发制定合适的规范) |
60 |
60 |
design |
具体设计 |
100 |
120 |
coding |
具体编码 |
120 |
130 |
Code review |
代码复审 |
30 |
30 |
test |
测试(自我测试,修改代码,提交修改) |
30 |
无限 |
reporting |
报告
|
30 |
40 |
Test report |
测试报告 |
40 |
50 |
Size measurement |
计算工作量 |
10 |
40 |
Postmortem & Process Improvement Plan |
事后总结, 并提出过程改进计划
|
60 |
120 |
合计
|
|
1100 |
无限 |
1、题目分析与初步思路
对于c语言基本一窍不通,但是在老师的辅导下,我感觉还是有可能完成作业的,然后就开始查阅书籍,找到了c语言程序设计这本书,对于c语言的基础概念有了一定的了解
反正要补的东西很多,一步一步的从基层学起,好多字母代表的什么含义也不是太清楚,随机数的产生我是以时间为基准生成的 srand(unsigned( time(NULL))); a = rand() % 20;然后限定他的范围我使用取余来限定的,这样的话我的随机数的产生了,然而就是随机产生不同类型的运算,其实就是一个随机数,在随机数后面再引用一个运算函数就可以了,每一个随机数对应一个运算,这样的话我的几个随机的运算就有了,单数要求还要满足真分数的运算,还要判断对错,这样的话,如果别人输入的结果是对的但是没有化成最简单的形式也是错的那么答案就没有唯一的结果,所以还要进行一个分数的化简过程。
2、设计实现过程: 1.产生随机数 2.定义运算 3.统一分数运算的结果 4主函数 函数名:main()
3、重要代码说明:
复制代码 int m, n, op; while (1) { if (b != 0) { break; } } m = rand() % 20; while (1) { n = rand() % 20; if (n != 0) { break; } } op = rand() % 4; int h, j; if(op == 0){ h = a * n + b * m; j = b * n; }
else if (op == 1) { h = a * n - b * m; j = b * n ; } else if (op == 2) { h = a * m; j = b * n; } else { h = a * n; j = b * m; }
定义分数的运算,以及保证分母不为零,首先判断分母不为零,才能将他作为分母,然后定义分数之间的运算
4、项目小结
本次项目算是真正的打开了我对于编程的存在心结,主要原因是自己真的不喜欢编程,很无趣,还有就是很难,一个小功能花大半天的时间都弄不出来,真的很无语,感觉像是自己在和自己绕弯子,有些时候还能让自己因为这个问题烦很久,弄得自己很不开心,感觉我一天的生活不能因为一个编程而很无趣,整体都不开心,所以我想做他,然后呢,因为要写作业就没有办法硬着头皮写呗,万事开头难,一开始就是打脑壳,真的有点反胃的感觉,想想自己的心情就不好,但是慢慢地经过教员的讲解,入门基础知识现在有一些概念不会是一种懵的状态,基本不会反胃了,但是难还是难,但是有兴趣去试着编写一些东西,感觉接触多了,发现这个编程语言就好像是在用计算器,加减乘除其实就是一些符号,想要加你就点相应的符号就完了,而且有些东西也是现成的可能需要稍微学一点 ,但是总比自己从头开始编学强很多,所以这种好像也是一种乐趣,就是当你发现编写了很久的东西,最后在一个函数里面本身就已经有现成,感觉好像捡到宝了一样,高兴的很,其实你应该伤心才对,比较花了很多时间,却有现成的,这是为什么,虽然这次作业没有完成好,但是我觉得对于编程自己有了一定的理解,比如语言其实可以分开的,只要有相应的接口就可以连在一起,在编写的过程当中,你一时半会儿解决不了的地方可以放在那里,等你想通了还可以继续在那个地方来继续,虽然知道这个道理,但是真实的感受到这一点,也是在这次作业当中去体会的,从而更能明白团队之间的作用,就是分工化,模块化,你在这个地方很溜,那么你就负责这个东西,这样如果有相应的接口,这样每个人都能发挥自己的最大的优势。我想这个也是团队的重要优势所在,将每个人的才能充分的利用起来,从而来更好的完成一项任务,这样会比单人独立完成,以及多人共同完成的效果更好一点吧。我觉得虽然自己没有完成项目,但是可能这一次的经历对于我自己来说会是非常重要的,明白了团队的重要性,以及对于编程产生了兴趣,对于我后续的学习可能是产生了动力,这比别人一直牵着你走效果好很多。
虽然这次暂时进行到这里,在后续的学习当中我会进一步的对这个程序进行完善,追上同学们的步伐,以及提高自己的编程能力。
目前的成果还存在很多漏洞或者说希望改进的地方:
1,在真分数的计算结果输入后会自动跳很多步骤,直接完成程序,这个暂时还没有找到问题
2,真分数的运算类型编写也不太会,主要是对于语言的不熟悉造成的
3,感觉为什么我们编程的程序为什么这么丑,就是黑的样子,可能还需要其他的步骤进行完善,比如做成一个计算器的外形,还有一些图案在上面,让他好看点
等等等等。
下一步我会首先看看一下梦断代码一些类似的书,感觉名字很让人好奇,到底编程是一门什么样的工作,我想通过看书得到别人的一些看法,也许会对于自己有所启发,有所收获,然后可能才是进一步完善编程,俗话说,磨刀不误砍材工,我想自己有让自己有足够的动力,才能把这门课学习好,我想这才是真正这门课程的在开始的时候真正重要的地方,另外我可能会进一步在熟悉一下编程语言,不要让这个小地方老是阻断自己的思路。