四则运算 SPEC 20160911
本文档随时可能修改,并且没有另行通知。
请确保每一次在开始修改你的代码前,读标题中的日期,如果晚于你上次阅读,
请重读一次。
教师节你去探望初中数学老师,她感叹你当年真是个优秀学生啊,从来不报怨作
业多,然后关切地问,“你现在学啥呢?”你说学计算机呢,她要求你举个例子
证明你学的知识有用。你的回答她一直不懂。
你回家后连夜编了个程序,展示你的水平。程序准备帮助她给初中生出四则运算
题目,学生答题后,自动判断对错。你第二天去找老师献宝。
功能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的更多相关文章
- 词频统计 SPEC 20160911
本文档随时可能修改,并且没有另行通知. 请确保每一次在开始修改你的代码前,读标题中的日期,如果晚于你上次阅读, 请重读一次. 老五在寝室吹牛他熟读过<鲁滨逊漂流记>,在女生面前吹牛热爱&l ...
- 结对编程1.四则运算GUI版
201421123022 王若凡 201421123026 欧阳勇 coding详细代码 a.需求分析: 这个程序做成GUI(可以是Windows PC 上的,也可以是Mac.Linu ...
- 结对编程-四则运算-GUI
201421123022 王若凡 201421123026 欧阳勇 https://git.coding.net/ttoyy/sizeyunsuan-GUI.git a.需求分析: ...
- 基于GUI的四则运算
基于GUI的四则运算 李志强 201421123028 连永刚 201421123014 林方言 201421123023 coding 地址 https://git.coding.net/lizhi ...
- 结队编程--基于GUI的四则运算
coding地址 https://git.coding.net/lizhiqiang0x01/GUI-sizeyunsuan.git 李志强 201421123028 连永刚 201421123014 ...
- 结对作业1----基于GUI的四则运算生成器
组员:201421123015 陈麟凤 201421123019 张志杰 201421123020 黄海鸿 coding 地址:代码点这里 需求分析: 1.除了整数的四则运算还要支持分数的四则运算: ...
- 结对作业1--基于GUI的四则运算
201421123002 翁珊,201421123006 黄月梅,201421123007 徐晓珊 题目描述: 我们在个人作业1中,用各种语言实现了一个命令行的四则运算小程序.进一步,本次要求把这个程 ...
- 结对作业--基于GUI的四则运算生成器
组员:201421123015 陈麟凤 201421123019 张志杰 201421123020 黄海鸿 coding 地址 :https://coding.net/u/zhang1995/p/wo ...
- 结对编程1-基于GUI的四则运算生成器
201421123016郑怀勇 201421123017康建灿 程序代码 / 康建灿 一.需求分析 记录用户的对错总数. 程序退出再启动的时候,能把以前的对错数量保存并在此基础上增量计算. 有 ...
随机推荐
- win10 损坏 bios?
自从前几个月升级为win10后,主板莫名奇妙的就出问题了,遇到3块不同型号2块技嘉b75,1块微信ph67 技嘉b75-ds3v 技嘉b75m-d3v 微星ph67s-c43 ms-7673 1.0 ...
- MySQL C API 访问 MySQL 示例
代码: /* Simple C program that connects to MySQL Database server */ #include <mysql.h> #include ...
- 如何修改word文档中每行字符的最大默认值和每页最大行数默认值
事情起因是这样的,小明在写论文的过程中,发现自己的文档的字与字的间距看起来比其他人的字符间距大,于是觉得奇怪,明明设置了一样的格式啊,设置每行38个字符,每页34行,为什么小明写的文档字符间距看着比较 ...
- 【转】PHP中file_put_contents追加和换行
在PHP的一些应用中需要写日志或者记录一些信息,这样的话. 可以使用fopen(),fwrite()以及 fclose()这些进行操作. 也可以简单的使用file_get_contents()和fil ...
- Qt Creator无法debug,报错:The selected debugger may be inappropriate for the inferior. Examining symbols and setting breakpoints by file name and line number may fail. The inferior is in the Portable ...
看到这个报错我是绝望的 解决:下载windows sdk win10 sdk 只安装Debugging Tools for Windows 打开 工具-选项-Kits 安装sdk成功后我们可以看到 ...
- LFS 8.3 中文翻译版本发布!
导读 很多同学都已经学习了 Linux ,可能已经在自己的机器上安装过 Linux,甚至都能搭建个简单的个人博客,也有可能编译部署过邮件服务器之类的软件,可是感觉仍然对 Linux 有点摸不着,颇有隔 ...
- A - Zebras
Oleg writes down the history of the days he lived. For each day he decides if it was good or bad. Ol ...
- 第三次作业:结对编程--实现表格在APP的导入和显示
031302517 031302319 ps:共同完成一篇随笔,文章中的第一人称我(517),队友(319) 一.功能分析+实现思路+结队讨论 这里我将功能分析和实现思路还有结对过程中的一些讨论结合在 ...
- Codeforces round 1106
Div 2 536 题目链接 我还是太菜了.jpg E 傻逼DP直接做 我居然调了1.5h 我真的是太菜了.jpg 堆+扫描线直接维护每个位置的贪心结果 然后要么使用干扰 要么就接受贪心的结果 #in ...
- Linux 网络监控工具 ss
ss命令用来显示处于活动状态的套接字信息.功能和netstat类似,但比netstat更快更高效. ss -h Usage: ss [ OPTIONS ] ss [ OPTIONS ] [ FILTE ...