zoukankan      html  css  js  c++  java
  • 个人作业1——四则运算题目生成程序(基于控制台)

    Deadline:##

    2017-3-8 12:00AM,以博客发表日期为准。

    评分基准:##

    • 按时交 - 有分,检查的项目包括后文的四个方面
      • 题目要求
      • 个人软件过程耗时估计与统计表
      • 代码提交
      • 博文规范
    • 晚交 - 0分
    • 迟交两周以上 - 倒扣本次作业分数
    • 抄袭 - 倒扣本次作业分数

    题目描述:##

    看了大家对于本课程的目标和规划,很多同学都希望能提高自己的实践能力,没有捷径可走,就是练习、练习再练习!那么就从第一个个人项目开始吧,用一周的时间完成一个基于控制台的四则运算程序,实现一个自动生成小学四则运算题目的命令行程序

    从《构建之法》第一章的 “程序” 例子出发,像阿超那样,花二十分钟写一个能自动生成小学四则运算题目的命令行 “软件”,满足以下需求:

    1. 除了整数以外,还要支持真分数的四则运算,真分数的运算,例如:1/6 + 1/8 = 7/24
    2. 运算符为 +, −, ×, ÷
    3. 并且要求能处理用户的输入,并判断对错,打分统计正确率。
    4. 要求能处理用户输入的真分数, 如 1/2, 5/12 等
    5. 使用 -n 参数控制生成题目的个数,例如执行下面命令将生成10个题目
      Myapp.exe -n 10

    个人软件过程:##

    1. 在开始实现程序之前,理解下Personal Software Process Stages(http://www.cnblogs.com/xinz/archive/2011/10/22/2220872.html)

    2. 在开始实现程序之前,请使用以下PSP表格,在第3列填上自己对每个环节的估计时间(单位:分钟).

    3. 在做每个环节的过程中,请在第4列填上对应环节的实际消耗时间(单位:分钟).

    4. 在软件开发中,掌握估计时间是一项重要的技能,请通过PSP表格做到

      a.厘清开发的完整环节,争取在每个环节都有实际的工作,一开始边界不清楚是正常的,但请尝试按自己的理解去努力在对应环节做实际的工作。
      b.预估每个环节的时间,并真实统计这些环节的耗时,在完成后输出完整的PSP耗时估计表。
      c.注意:该表格是给自己看的,不要伪造数据!
      d.PSP模版表格如下,第3列和第4列分别对应第2列条目的估计时间和真实时间,模版表格里的时间只是示意。

    PSP2.1 Personal Software Process Stages Time Senior Student Time
    Planning 计划 8 6
    · Estimate 估计这个任务需要多少时间 8 6
    Development 开发 82 88
    · Analysis 需求分析 (包括学习新技术) 6 10
    · Design Spec 生成设计文档 5 6
    · Design Review 设计复审 4 6
    · Coding Standard 代码规范 3 3
    · Design 具体设计 10 12
    · Coding 具体编码 36 21
    · Code Review 代码复审 7 9
    · Test 测试(自我测试,修改代码,提交修改) 13 21
    Reporting 报告 9 6
    · 测试报告 3 2
    · 计算工作量 2 1
    · 并提出过程改进计划 3 3

    代码提交:##

    1. 提交你的源代码和可执行程序至你的coding.net地址

      a.怎样使用git提交代码到coding.net? 参考,考验你强大自学能力的时刻到了:

      b.需要提交的应该有

      • 项目的工程文件,例如Eclipse的项目文件
      • 项目的源代码
      • 一些必要的配置
      • 单独创建一个public子目录,存放编译后的可执行程序,这不是标准的软件发布的做法,但是目前你这样先提交可以。

      c.不应该提交的有:

      • bin目录
      • obj目录
      • 可以在根目录下创建一个.gitignore文件,把需要忽略的文件夹和文件相对路径逐行添加进去,这样git 提交的时候就会忽略这些子目录和子文件。
    2. 博文的一开始需要写明你注册的 coding 地址

    博文规范##

    1. 提交的博客必须完整包含下面五个部分
      a.需求分析,即使老师已经给出了题目,也要对题目的需求做分析,需求分析可以是自己的思考分析,也可以是找小学老师,学生甚至家长调查后挖掘出更细致的需求,别小看这个过程,请真实的做这个过程。
      b.功能设计,题目的需求,以及从真实调研里获得的需求后,要对程序做基本的功能设计,有同学会问:“不就是出题嘛,有啥好设计的?”,其实, 题目里要求的只是基本的要求,自己思考和调研会有超出题目要求的需求,甚至你有天才的设计,作出特色的功能。因此,功能会有:

      • 基本功能
      • 扩展功能
      • 高级功能

      c.设计实现,设计包括代码如何组织,你会有哪些Java类,这些类分别负责什么功能,他们之间的关系怎样?你会设计哪些重要的函数,关键的函数是否需要画出流程图?
      d.代码说明,你一定花了最多时间在代码的编写与调试上,那么,这个环节请把你的重要代码展示出来,代码的排版请做好。
      e.测试运行,你的程序必须是可运行的,请展示你的程序运行的截图,包括题目要求的所有需求,都有运行的截图。说明你的程序确实完成了所有需求,如果有实现了扩展需求或者高级需求,也请大方秀出来。

    2. 展示PSP,这个环节重要的是让自己看到自己的估计和实际消耗时间,哪个环节耗时最多,哪个环节估计失败?为什么?

    3. 小结。如果,如果所有的环节你都认真做了,那么,此处你应该会有很多经验愿意与大家分享。

  • 相关阅读:
    UVA 11174 Stand in a Line,UVA 1436 Counting heaps —— (组合数的好题)
    UVA 1393 Highways,UVA 12075 Counting Triangles —— (组合数,dp)
    【Same Tree】cpp
    【Recover Binary Search Tree】cpp
    【Binary Tree Zigzag Level Order Traversal】cpp
    【Binary Tree Level Order Traversal II 】cpp
    【Binary Tree Level Order Traversal】cpp
    【Binary Tree Post order Traversal】cpp
    【Binary Tree Inorder Traversal】cpp
    【Binary Tree Preorder Traversal】cpp
  • 原文地址:https://www.cnblogs.com/happyzm/p/6472120.html
Copyright © 2011-2022 走看看