Sha256: 2697dce7323d682e885e5356c89bc12f17d8954eee232a3ef5b5fa5992d45a10

Contents?: true

Size: 1.37 KB

Versions: 183

Compression:

Stored size: 1.37 KB

Contents

# Wordy

Parse and evaluate simple math word problems returning the answer as an integer.


## Iteration 1 — Addition

Add two numbers together.

> What is 5 plus 13?

Evaluates to 18.

Handle large numbers and negative numbers.


## Iteration 2 — Subtraction, Multiplication and Division

Now, perform the other three operations.

> What is 7 minus 5?

2

> What is 6 multiplied by 4?

24

> What is 25 divided by 5?

5


## Iteration 3 — Multiple Operations

Handle a set of operations, in sequence.

Since these are verbal word problems, evaluate the expression from
left-to-right, _ignoring the typical order of operations._

> What is 5 plus 13 plus 6?

24

> What is 3 plus 2 multiplied by 3?

15  (i.e. not 9)


## Bonus — Exponentials

If you'd like, handle exponentials.

> What is 2 raised to the 5th power?

32


## Hints
- To parse the text, you could try to use the [FParsec](http://www.quanttec.com/fparsec/tutorial.html) library.
- As an exercise, you could try to represent a question as an [Abstract Syntax Tree](https://en.wikipedia.org/wiki/Abstract_syntax_tree).

## Source

Inspired by one of the generated questions in the Extreme Startup game. [https://github.com/rchatley/extreme_startup](https://github.com/rchatley/extreme_startup)

## Submitting Incomplete Solutions
It's possible to submit an incomplete solution so you can see how others have completed the exercise.

Version data entries

183 entries across 183 versions & 1 rubygems

Version Path
trackler-2.2.1.159 tracks/fsharp/exercises/wordy/README.md
trackler-2.2.1.158 tracks/fsharp/exercises/wordy/README.md
trackler-2.2.1.157 tracks/fsharp/exercises/wordy/README.md
trackler-2.2.1.156 tracks/fsharp/exercises/wordy/README.md
trackler-2.2.1.155 tracks/fsharp/exercises/wordy/README.md
trackler-2.2.1.154 tracks/fsharp/exercises/wordy/README.md
trackler-2.2.1.153 tracks/fsharp/exercises/wordy/README.md
trackler-2.2.1.152 tracks/fsharp/exercises/wordy/README.md
trackler-2.2.1.151 tracks/fsharp/exercises/wordy/README.md
trackler-2.2.1.150 tracks/fsharp/exercises/wordy/README.md
trackler-2.2.1.149 tracks/fsharp/exercises/wordy/README.md
trackler-2.2.1.148 tracks/fsharp/exercises/wordy/README.md
trackler-2.2.1.147 tracks/fsharp/exercises/wordy/README.md
trackler-2.2.1.146 tracks/fsharp/exercises/wordy/README.md
trackler-2.2.1.145 tracks/fsharp/exercises/wordy/README.md
trackler-2.2.1.144 tracks/fsharp/exercises/wordy/README.md
trackler-2.2.1.143 tracks/fsharp/exercises/wordy/README.md
trackler-2.2.1.142 tracks/fsharp/exercises/wordy/README.md
trackler-2.2.1.141 tracks/fsharp/exercises/wordy/README.md
trackler-2.2.1.140 tracks/fsharp/exercises/wordy/README.md