|
| 1 | +Lab 1: Unit Converter |
| 2 | +This lab will involve writing a program that allows the user to convert a number between units. |
| 3 | + |
| 4 | +Version 1 |
| 5 | +Ask the user for the number of feet, and print out the equivalent distance in meters. Hint: 1 ft is 0.3048 m. So we can get the output in meters by multiplying the input distance by 0.3048. Below is some sample input/output. |
| 6 | + |
| 7 | +> what is the distance in feet? 12 |
| 8 | +> 12 ft is 3.6576 m |
| 9 | +Version 2 |
| 10 | +Allow the user to also enter the units. Then depending on the units, convert the distance into meters. The units we'll allow are feet, miles, meters, and kilometers. |
| 11 | + |
| 12 | +1 ft is 0.3048 m |
| 13 | +1 mi is 1609.34 m |
| 14 | +1 m is 1 m |
| 15 | +1 km is 1000 m |
| 16 | +Below is some sample input/output: |
| 17 | + |
| 18 | +> what is the distance? 100 |
| 19 | +> what are the units? mi |
| 20 | +> 100 mi is 160934 m |
| 21 | +Version 3 |
| 22 | +Add support for yards, and inches. |
| 23 | + |
| 24 | +1 yard is 0.9144 m |
| 25 | +1 inch is 0.0254 m |
| 26 | +Version 4 - optional |
| 27 | +Now we'll ask the user for the distance, the starting units, and the units to convert to. |
| 28 | + |
| 29 | +You can think of the values for the conversions as elements in a matrix, where the rows will be the units you're converting from, and the columns will be the units you're converting to. Along the horizontal, the values will be 1 (1 meter is 1 meter, 1 foot is 1 foot, etc). |
| 30 | + |
| 31 | +ft mi m km |
| 32 | +ft 1 0.3048 |
| 33 | +mi 1 1609.34 |
| 34 | +m 1/0.3048 1/1609.34 1 1/1000 |
| 35 | +km 1000 1 |
| 36 | +But instead of filling out that matrix, and checking for each pair of units (if from_units == 'mi' and to_units == 'km'), we can just convert any unit to meters, then convert the distance in meters to any other unit. |
| 37 | + |
| 38 | +Furthermore you can convert them from meters by dividing a distance (in meters) by those same values used above. So first convert from the input units to meters, then convert from meters to the output units. |
| 39 | + |
| 40 | +Below is some sample input/output: |
| 41 | + |
| 42 | +> what is the distance? 100 |
| 43 | +> what are the input units? ft |
| 44 | +> what are the output units? mi |
| 45 | +100 ft is 0.0189394 mi |
| 46 | +Turning in your lab |
| 47 | +Make sure you are still on your lab branch with git status. This will also show you a list of files that have been modified. |
| 48 | +Add any files you want git to keep track of using git add filename. Replace filename with the name of your file. You can also use git add . to add everything within the current folder. |
| 49 | +Commit your work using git commit -m "Your commit message". Make sure your commit message is descriptive and describes what has been changed during this commit. |
| 50 | +Finally we can run the command git push to send our files up to Github. This may throw an error, but worry not, there will be a suggested command to run, simply copy and paste that command and you should be good to go. |
| 51 | +Don't forget to visit Github and create a pull request to submit your work for review. |
0 commit comments