57 lines
2.1 KiB
Markdown
57 lines
2.1 KiB
Markdown
# Space Age
|
|
|
|
Given an age in seconds, calculate how old someone would be on:
|
|
|
|
- Mercury: orbital period 0.2408467 Earth years
|
|
- Venus: orbital period 0.61519726 Earth years
|
|
- Earth: orbital period 1.0 Earth years, 365.25 Earth days, or 31557600 seconds
|
|
- Mars: orbital period 1.8808158 Earth years
|
|
- Jupiter: orbital period 11.862615 Earth years
|
|
- Saturn: orbital period 29.447498 Earth years
|
|
- Uranus: orbital period 84.016846 Earth years
|
|
- Neptune: orbital period 164.79132 Earth years
|
|
|
|
So if you were told someone were 1,000,000,000 seconds old, you should
|
|
be able to say that they're 31.69 Earth-years old.
|
|
|
|
If you're wondering why Pluto didn't make the cut, go watch [this
|
|
youtube video](http://www.youtube.com/watch?v=Z_2gbGXzFbs).
|
|
|
|
## Getting Started
|
|
|
|
Make sure you have read the "Guides" section of the
|
|
[C track][c-track] on the Exercism site. This covers
|
|
the basic information on setting up the development environment expected
|
|
by the exercises.
|
|
|
|
## Passing the Tests
|
|
|
|
Get the first test compiling, linking and passing by following the [three
|
|
rules of test-driven development][3-tdd-rules].
|
|
|
|
The included makefile can be used to create and run the tests using the `test`
|
|
task.
|
|
|
|
make test
|
|
|
|
Create just the functions you need to satisfy any compiler errors and get the
|
|
test to fail. Then write just enough code to get the test to pass. Once you've
|
|
done that, move onto the next test.
|
|
|
|
As you progress through the tests, take the time to refactor your
|
|
implementation for readability and expressiveness and then go on to the next
|
|
test.
|
|
|
|
Try to use standard C99 facilities in preference to writing your own
|
|
low-level algorithms or facilities by hand.
|
|
|
|
## Source
|
|
|
|
Partially inspired by Chapter 1 in Chris Pine's online Learn to Program tutorial. [http://pine.fm/LearnToProgram/?Chapter=01](http://pine.fm/LearnToProgram/?Chapter=01)
|
|
|
|
## Submitting Incomplete Solutions
|
|
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
|
|
[c-track]: https://exercism.io/my/tracks/c
|
|
[3-tdd-rules]: http://butunclebob.com/ArticleS.UncleBob.TheThreeRulesOfTdd
|