本文档随时可能修改,并且没有另行通知。

请确保每一次在开始修改你的代码前,读标题中的日期,如果晚于你上次阅读,

请重读一次。

教师节你去探望初中数学老师,她感叹你当年真是个优秀学生啊,从来不报怨作

业多,然后关切地问,“你现在学啥呢?”你说学计算机呢,她要求你举个例子

证明你学的知识有用。你的回答她一直不懂。

你回家后连夜编了个程序,展示你的水平。程序准备帮助她给初中生出四则运算

题目,学生答题后,自动判断对错。你第二天去找老师献宝。

功能1. 四则运算

支持出题4个数的四则运算题目,所有题目要求作者有能力正确回答 (提示:1/3

!= 0.33333333333333333333333333333333,而是无限长)。

为了快出成果,你快速造个控制台的版本,包括以后改版成更优秀界面的核心功

能,并考虑到扩展。

你在老师面前作如下表演 (数字你用excel验算过了,UI的卖萌部分你还没有想好) 。

> f4
1+2*3+4=
?11
答对啦,你真是个天才!
1+2*3+5=
?11
再想想吧,答案似乎是12喔!
1+2/4-5=
?-3.5
答对啦,你真是个天才!
...(一共20道题) 你一共答对4道题,共20道题。

完成这个功能,老师对你的信任值+10.

功能2. 支持括号

老师看了你的表演,大大赞赏了你。然后她说,"你的题库里怎么都是没有括号

的题呢,我记得你当初括号就掌握得不好啊。"你的脸红了,对老师说,"给我2

个小时时间,我给你一个新版本,有括号的。"

你拿出笔记本,偷偷微信你们《构建之法》班的学霸,她说肯定能行,但是细节

信号不好你听不清,只捕捉到隐约几个词"逆波兰""后缀表达式""堆栈""我看好

你""数据结构"。

两小时后,在老师面前你在控制台下输入f4,然后回车。

> f4
1+2*(3+4)=
?15
答对啦,你真是个天才!
(1+2)*3+5=
?11
再想想吧,答案似乎是14喔!
((1/2)-4)*5=
?-17.5
答对啦,你真是个天才!
...(一共20道题) 你一共答对4道题,共20道题。

完成这个功能,老师对你的信任值+15.

功能3. 限定题目数量,"精美"打印输出

"就这点儿题,像你当年做得那么快,一会儿就完成啦!"老师说,"另外,我想打

印出来,上课也不能带台机器。又另外,你把答案也打出来呗,我把答案剪掉,

题目给学生做。"

一看需求这么多,你生怕她会说,"这都是很简单的功能,你一定能完成吧"。你

知道如果承诺今晚,明早交工的时候她一定想出了更多可怕的需求,你赶紧说,

"老师我现在就做。"

你忘记怎么调用打印机了,就把答案与题目横向对齐,输出在文件的右边。告诉

老师txt文件可以用WORD打开,也能打印。她满意而意味深长地笑了,表示同意。

你输入命令执持的时候,脑袋比手指头还疼。

>f4 -c 3
1+2*(3+4)= 15
(1+2)*3+5= 14
((1/2)-4)*5= 17.5

你对老师说,"-c"这个参数后面输入多少,就生成多少题目。老师输入

>f4 -c -200
题目数量必须是 正整数。
>f4 -c 3.5
题目数量必须是 正整数。
>f4 -c test
题目数量必须是 正整数。

老师欣慰的笑了。你怔怔地看着她,心下怀疑她真的是教初中数学的那位么。

完成此功能,老师对你的信任值+5.

功能4. 支持分数出题和运算

教师节后,你终于又回到美丽优雅并且正常的东北师范大学净月校区,在去食堂

的路上偶遇你心目中的女神 (或男神,请自行替换)。她说,"哎呀,这跟我们

《构建之法》课上的题目要求一样啊,真是巧合。"

"不要客气,代码拿去!反正我也没用。"你说,"如果有需求变更或扩展,尽管找

我。"

你伏笔埋得不错。女神马上说,"对啊,有一点儿点儿不一样,你午饭时间加加

班帮我改出来吧。"

她的题目还要求支持分数运算,你不禁想到了功能1中你特意规避了一些题目不

出。她想要的是下面的样子:

>f4 -c 3
1/3+2/3+1+1= 3
1/2+2/3+1+2= 4 1/6
7/5+3/4*2-3 -1/10

你想到越难的题目就越能表现你的能力,欣然应允了,转身跑向实验室,路上就

开始给师兄打电话。背后传来女神的声音,"提示1:别忘了约分。提示2:带分数,

即 一又二分之一 表示 1 1/2。"

完成这个功能,女神对你的青睐+50.

未来

还有可能把程序改造成GUI版,把程序改造为web版,把程序移植为android/ios

版。今天留好接口,明天就不发愁。

要求 !,必选项。此项完成+50,此项不做-50.

参考《构建之法》第4章两个合作,在每周持续结对编程上述功能,要求发布随

笔1篇,给出结对编程的体会,以及至少5项在编码、争论、复审等活动中花费时

间较长,给你较大收获的事件。要求给出照片1张,带包括结对的两位同学、工

作地点、计算机,可选项包括其他能表达结对编程工作经历的物品或场景。

四则运算 SPEC 20160911的更多相关文章

  1. 词频统计 SPEC 20160911

    本文档随时可能修改,并且没有另行通知. 请确保每一次在开始修改你的代码前,读标题中的日期,如果晚于你上次阅读, 请重读一次. 老五在寝室吹牛他熟读过<鲁滨逊漂流记>,在女生面前吹牛热爱&l ...

  2. 结对编程1.四则运算GUI版

    201421123022 王若凡        201421123026  欧阳勇 coding详细代码 a.需求分析: 这个程序做成GUI(可以是Windows PC 上的,也可以是Mac.Linu ...

  3. 结对编程-四则运算-GUI

     201421123022 王若凡        201421123026  欧阳勇 https://git.coding.net/ttoyy/sizeyunsuan-GUI.git a.需求分析: ...

  4. 基于GUI的四则运算

    基于GUI的四则运算 李志强 201421123028 连永刚 201421123014 林方言 201421123023 coding 地址 https://git.coding.net/lizhi ...

  5. 结队编程--基于GUI的四则运算

    coding地址 https://git.coding.net/lizhiqiang0x01/GUI-sizeyunsuan.git 李志强 201421123028 连永刚 201421123014 ...

  6. 结对作业1----基于GUI的四则运算生成器

    组员:201421123015 陈麟凤 201421123019 张志杰 201421123020 黄海鸿 coding 地址:代码点这里 需求分析: 1.除了整数的四则运算还要支持分数的四则运算: ...

  7. 结对作业1--基于GUI的四则运算

    201421123002 翁珊,201421123006 黄月梅,201421123007 徐晓珊 题目描述: 我们在个人作业1中,用各种语言实现了一个命令行的四则运算小程序.进一步,本次要求把这个程 ...

  8. 结对作业--基于GUI的四则运算生成器

    组员:201421123015 陈麟凤 201421123019 张志杰 201421123020 黄海鸿 coding 地址 :https://coding.net/u/zhang1995/p/wo ...

  9. 结对编程1-基于GUI的四则运算生成器

    201421123016郑怀勇     201421123017康建灿 程序代码 / 康建灿 一.需求分析 记录用户的对错总数. 程序退出再启动的时候,能把以前的对错数量保存并在此基础上增量计算. 有 ...

随机推荐

  1. apk静态注射[转]-未实践

    原文:http://free0coding.iteye.com/blog/1684263 1.将需要注入的代码块打包成jar1,释放一个公共类的静态方法a  2.反编译apk得到smali文件,在适当 ...

  2. Hyper-v虚拟化

    1.打开Hyper-V管理器,新建虚拟机 2.点击下一步,继续设置 3.设置虚拟机名称和存储位置,点击选择打钩,自定义路径 4.设置虚拟机运行内存 5.设置虚拟机设置好的网络 6.创建虚拟磁盘 7创建 ...

  3. 【Alpha 冲刺】 2/12

    今日任务总结 人员 今日原定任务 完成情况 遇到问题 贡献值 胡武成 完成API文档编写 由于外出比赛,故推迟 无 0 孙浩楷 1.完成VUE框架搭建 2.寻找在线编辑图片插件 已完成 WEB在线编辑 ...

  4. C# ActiveX 网页打包验证自动升级

    原文地址:http://www.cnblogs.com/yilin/p/csharp-activex.html 注意事项:Win10下需要设置兼容模式,F12仿真切换到IE6-8(版本参考——BT90 ...

  5. $Simpson$积分入门

    \(\rm{0x01}\) 前言 首先阐明一点,自适应辛普森算法(\(\rm{Adaptive ~Simpson's~ rule}\) )是一类近似算法(\(\rm{Approximation ~al ...

  6. POJ 1094 Sorting It All Out(拓扑排序+判环+拓扑路径唯一性确定)

    Sorting It All Out Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 39602   Accepted: 13 ...

  7. Kubernetes哪一点最打动你?或者,它发布过的哪一项特性让你认为最厉害?

    kubernates 打动我的地方应该是他解决了docker 的一个痛点,各个docker之间的通信以及集成管理.因为这跟微服务很像,微服务之间也是需要通信和统一管理.知识总是相同的,在这里就体现出来 ...

  8. Taints和Tolerations -- 污点- 容忍

    1.taint 定义在node上,排斥pod 2.toleration定义在pod中,容忍pod 3.可以在命令行为Node节点添加Taints:  kubectl taint nodes node1 ...

  9. Oracle 存储过程procedure之数据更新-游标

    在日常工作中,经常会碰到后台外导一批数据,并将外导数据处理至系统表中的情况. 面临这种情况,我一般采用写存储过程批处理的方式完成,写好一次以后,再次有导入需求时,只需要将数据导入到中间表,然后执行存储 ...

  10. TreeSet排序相关总结

            java的集合这一块在工作中用得还比较多,有些东西老是忘,因此在此记录下来. TreeSet原理 1.特点 TreeSet是用来排序的, 可以指定一个顺序, 对象存入之后会按照指定的顺 ...