计算器——工程文档

一.输入与格式

1.数据规模

本文档的输入基于如下的要求:

(1)既然是小学生,我们假设他们不会计算超过10亿的数字。

(2)既然是出考试题,那么也不会出超过10亿道题目。

也就是说 n , r ∈ int;

2.格式要求:

本文档的输出格式为:

(1)       当制造试题时,输出为n行,每行是算式编号、一个句号和一个空格,后面是一个算式。算式包含等号。四则运算符号和等号前后各有一个空格。其余符号则没有。答案输出为n行,每行是算式编号、一个句号和一个空格,后面是一个答案。

(2)       试题的输出文件夹为Exercises.txt,答案的输出是Answer.txt。

(3)       当对比答案时,接收控制台指令 –e xxx –a xxx 。xxx为试题文件和对比的答案文件。读入试题时读入至文件结束,每行读入格式为算式编号、一个句号和一个空格,后面是一个算式。算式包含等号。四则运算符号和等号前后各有一个空格。其余符号则没有。读入答案时每行是算式编号、一个句号和一个空格,后面是一个答案。

(4)       输出一个文件,为正误信息。文件是Grade.txt,内容是正确的试题编号和错误的试题编号,每两个编号之间由一个逗号和一个空格隔开。

二.程序结构

程序的大体关系如图所示,由于没有相关软件,先拿画图画了一个。

三.具体实现方法

  1. 程序的括号

括号随机的生成,保证不造成违法的输入。可能括号内算式的优先级本来就高,加了括号不改变次序,也可能改变计算次序和计算结果。

  1. 算式的生成

算式生成的方法是,先生成所有互为素数的分子和分母。范围在Range之内,当range过大时,将range缩小为20000。

  1. 算式的计算

生成中缀表达式,Compute类中的work方法把中缀表达式变为后缀表达式,然后压栈进行计算。

  1. 答案输出

以字符串格式读入,处理字符串,得到数字栈和符号,依据后缀表达式来计算,最后在栈里的第一个数就是结果。

  1. 答案格式

答案转成字符串 以字符串格式输出。

Week 1 工程文档的更多相关文章

  1. Go Doc文档

    Go为我们提供了快速生成文档和查看文档的工具,很容易编写查看代码文档.在项目协作过程中,可以帮助我们快速理解代码. 查看文档方式有两种:一种是通过终端查看,使用go doc命令,一种是通过网页查看,使 ...

  2. apidoc接口文档的快速生成

    官方文档连接:http://apidocjs.com/#demo apidoc是一个轻量级的在线REST接口文档生成系统,支持多种主流语言,包括Java.C.C#.PHP和Javascript等.使用 ...

  3. .NET项目工程生成一份项目帮助文档chm--Sandcastle工具

    Sandcastle的,由Microsoft创建的,是从创建MSDN风格的文档中使用的工具.NET程序集和关联的XML注释文件.目前的版本是 2010年6月发布.这是命令行并没有GUI前端,项目管理功 ...

  4. 使用Sandcastle工具为.NET项目工程生成一份项目帮助文档chm

    Sandcastle的,由Microsoft创建的,是从创建MSDN风格的文档中使用的工具.NET程序集和关联的XML注释文件.目前的版本是2010年6月发布.这是命令行并没有GUI前端,项目管理功能 ...

  5. net core Webapi基础工程搭建(三)——在线接口文档Swagger

    目录 前言 Swagger NuGet引用第三方类库 别急,还有 没错,注释 小结 前言 前后分离的好处,就是后端埋头做业务逻辑功能,不需要过多考虑用户体验,只专注于数据.性能开发,对于前端需要的数据 ...

  6. LDP - Linux文档工程的简介,包括帮助,向导和文档

    总览 SYNOPSIS Linux文档工程(LDP)为Linux社区提供多种自由文档资源,包括向导 (guide),常见问答 (FAQ),入门 (HOWTO) 以及手册页 (man-pages). 作 ...

  7. 利用Java动态生成 PDF 文档

    利用Java动态生成 PDF 文档,则需要开源的API.首先我们先想象需求,在企业应用中,客户会提出一些复杂的需求,比如会针对具体的业务,构建比较典型的具备文档性质的内容,一般会导出PDF进行存档.那 ...

  8. 拯救你的文档 – 【DevOps敏捷开发动手实验】开源文档发布

    今天上海的天气真是不错,风和日丽.再次来到微软上海紫竹研发中心,心情很是愉快,喜欢这里的大草坪,喜欢这里的工程气氛,更喜欢今天来陪我的小伙伴们. 这次动手实验培训与以往最大的不同就是采用了开源文档的方 ...

  9. 使用Xcode HeaderDoc和Doxygen文档化你的Objective-C和Swift代码

    在一个应用的整个开发过程中涉及到了无数的步骤.其中一些是应用的说明,图片的创作,应用的实现,和实现过后的测试阶段.写代码可能组成了这个过程的绝大部分,因为正是它给了应用生命,但是这样还不够,与它同等重 ...

随机推荐

  1. Paramiko和堡垒机实现

    一.Paramiko paramiko模块,基于SSH用于连接远程服务器并执行相关操作. 1.安装:pip install paramiko 2.SSHClient:用于连接远程服务器并执行基本命令 ...

  2. Kibana中的Coordinate Map地图报索引错误的问题

    今天做地图定位展示,展示的是ApacheWeb服务器的访问日志文件中的来源IP.但是中间出现了报错环节,说是索引不能匹配到geo_point类型,实在是不懂这是在说什么,后来在网站找了方法就解决了.主 ...

  3. Centos7系统特性之systemd

    1.centos系列的系统启动流程(内核级别的启动流程): POST(加电自检)---> Boot Sequence(BIOS)---> Boot loader (MBR)---> ...

  4. django项目中在settings中配置静态文件

    STATICFILES_DIRS = [ os.path.join(BASE_DIR,'static'), ] 写成大写可能看不太懂,但是小写的意思非常明显:staticfiles_dir = [ o ...

  5. Lua 与 C 交互之UserData(4)

    lua作为脚本于要能够使用宿主语言的类型,不管是宿主基本的或者扩展的类型结构,所以Lua提供的UserData来满足扩展的需求.在Lua中使用宿主语言的类型至少要考虑到几个方面: 数据内存 生命周期 ...

  6. Java中集合删除元素时候关于ConcurrentModificationException的迷惑点

    下面的示例来至于阿里巴巴Java开发手册的集合处理部分的第7条: 运行如下代码,会发现正确运行. public static void hasNotExcption() { List<Strin ...

  7. 理解WebSocket心跳及重连机制(五)

    理解WebSocket心跳及重连机制 在使用websocket的过程中,有时候会遇到网络断开的情况,但是在网络断开的时候服务器端并没有触发onclose的事件.这样会有:服务器会继续向客户端发送多余的 ...

  8. 错误:“Manifest merger failed with multiple errors, see logs”

    今天用Android Studio打开以前写个的项目后,出现如下错误:Manifest merger failed with multiple errors, see logs 现象是:  遇到这个问 ...

  9. android.view.WindowManager$BadTokenException: Unable to add window

    这是在加载dialog时出现的一个异常.转载地址:http://hi.baidu.com/fbdfp/item/7dea2d0ade9121813d42e23d 扔了好久的android又开始断断续续 ...

  10. Spring-bean的循环依赖以及解决方式

    链接:https://blog.csdn.net/u010853261/article/details/77940767 https://www.jianshu.com/p/6c359768b1dc