In this lab, you will be re-implementing your solution from Lab 3 in Perl. Use your Lab 3 submission to aid you in building an identical solution in the Perl scripting language.
The data file and requested outputs are the same. The extra credit opportunity is also the same as Lab 3.
Task 1
Generate a report containing the lowest, highest and average score
for each assignment in the data file. The name of the assignment is
located in column 3. Your report should be in a tabular format as shown
in the sample below;
Name Low High Average Q06 77 95 86.80 L05 40 96 46.60 WS 5 5 5 Q07 58 100 78.80 L06 60 99 61 L07 77 86 64.80 H01 19 90 47.80 H02 47 95 74.60 H03 70 95 82.20 H04 46 80 65 H05 54 95 76.60 H06 58 97 80.60 Q01 25 100 74.80 H07 52 90 67 Q02 84 100 91.60 L01 41 91 75 Q03 33 100 66.80 L02 0 100 61.40 Q04 55 100 81 L03 88 100 95.80 FINAL 58 99 85.60 Q05 54 99 76.80 L04 48 100 79.20
Your solution must generate the report using the data file given (Lab03-data.csv).
No points will be awarded for solutions that copy-paste the above
sample data and use Perl to print it to the console. Provide the command
used to run your script against the lab03 data file along with your
completed Perl script. If you do not include your Perl script file you will recieve an automatic 0.
Task 2
Calculate the grade for each student that appears in the data file.
You may calculate the grade based on total earned points, divided by
total possible points. Or, for 10 points extra credit; Use the weighted totals for this course; available in the syllabus and on the course home page.
Output a list of students, their grade as a percentage and a letter grade. For simplicity; use this letter grade scale;
- A = 90 >= grade <= 100
- B = 80 >= grade < 90
- C = 70 >= grade < 80
- D = 60 >= grade < 70
- E = grade < 60
The following sample output has been provided as a guide. Your solution must be based on the data in the Lab03-data.csv file. No points will be awarded to solutions that are based on copy-pasting the sample output and printing it with Perl.
Name Percent Letter Andrew 75.21 C Chelsey 92.21 A Shane 77.64 C Ava 79.76 C Sam 62.34 D
Submit your completed script and the Perl command needed to run it. If you do not include your Perl script file you will recieve an automatic 0.
Task 3
Select either Task 1 or Task 2 and write a shell script that takes a
data file name as an argument. The shell script then uses that file name
to run your Perl script and sort the results
alphabetically, either by assignment name (Task 1) or student name
(Task 2). Remember to account for the headers in these outputs. Please don’t forget to do this part, and make sure it’s a Bash script!
Deliverables
Use the text box provided, or submit a Word or PDF document
containing your solutions to Tasks 1, 2 and 3. You must also include
your scripts must be in in .pl format. Screenshots will not be accepted. Your submission must be copyable into a terminal for testing.



0 comments