Assignment 9
Due date: Thursday, March 24th at midnight.
Be sure to use version control ("git"), as you develop your code. Do "git add ...., git commit
" repeatedly as you add and edit your code. You will hand in the output of "git log
" for your assignment repository as part of the
assignment.
1) In this assignment we ask you to take the Assignment 3 and re-implement it using Python instead of R. Use the same file name, except change the extension to ".py" instead of ".R".
2) Create a Python script, named `selectStat.py`, which:
- Imports the file `myFuncs.py`;
- Creates an array `mydata` containing the values `-10.0, -3.0, 2.0, 0.0, 4.0, 5.0, 0.3, -0.1, 2.1, 3.2, 0.0, -12.1, -1.2`;
-
Reads one argument from the Linux command line:
- if the argument is `0` the script calls `geomPosMean(mydata)` and prints the output of the function thus: "The geometric mean of positive values in the data is ...";
- if the argument is `1` the script calls `negMean(mydata)` and prints the output of the function thus: "The mean of negative values in the data is ...";
- if the argument is `2` the script calls `harmonicMean(mydata)` and prints the output of the function thus: "The harmonic mean of non-zero values in the data is ...";
- if neither of these arguments is given, the script should output: "Error, incorrect command line argument."
3) Write a shell (bash) script (not an Python script), called `evalStats.sh`, which calls "selectStat.py" three times, once with an argument of `0`, once with the argument `1` and once with the argument `2`.
Submit your `evalStats.sh`, `selectStat.py`, `myFuncs.py` and the output of "git log" from your assignment repository.
To capture the output of 'git log
' use redirection, git log > git.log
, and hand in the "git.log" file.
Assignments will be graded on a 10 point basis.
Due date is March 24th, 2022 at midnight, with 0.5 point penalty per day for late submission until the cut-off date of March 31st, 2022 at 11:00am.