Question

PERL SCRIPTING QUESTION / CAN ONLY BE DONE WITH PERL AND ONLY PERL AND JUST PERL ALONE

DONE WITH PERL PERL PERL PERL PERL PERL PERL PERL

PERL

DONE IN PERL

PLEASE HELP IN PERL

PERL PERL PERL PERL PERL PERL PERL

ONE LAST TIME IN PERL PERL PERL PERL

ONLY DONE IN PERL

alculate the grade for each student that appears in the data file. You may calculate the grade based on total earned oints, d

HERE IS DATA.CSV

Student,Catehory,Assignment,Score,Possible
Chelsey,Homework,H01,90,100
Chelsey,Homework,H02,89,100
Chelsey,Homework,H03,77,100
Chelsey,Homework,H04,80,100
Chelsey,Homework,H05,82,100
Chelsey,Homework,H06,84,100
Chelsey,Homework,H07,86,100
Chelsey,Lab,L01,91,100
Chelsey,Lab,L02,100,100
Chelsey,Lab,L03,100,100
Chelsey,Lab,L04,100,100
Chelsey,Lab,L05,96,100
Chelsey,Lab,L06,80,100
Chelsey,Lab,L07,81,100
Chelsey,Quiz,Q01,100,100
Chelsey,Quiz,Q02,100,100
Chelsey,Quiz,Q03,98,100
Chelsey,Quiz,Q04,93,100
Chelsey,Quiz,Q05,99,100
Chelsey,Quiz,Q06,88,100
Chelsey,Quiz,Q07,100,100
Chelsey,Final,FINAL,82,100
Chelsey,Survey,WS,5,5
Sam,Homework,H01,19,100
Sam,Homework,H02,82,100
Sam,Homework,H03,95,100
Sam,Homework,H04,46,100
Sam,Homework,H05,82,100
Sam,Homework,H06,97,100
Sam,Homework,H07,52,100
Sam,Lab,L01,41,100
Sam,Lab,L02,85,100
Sam,Lab,L03,99,100
Sam,Lab,L04,99,100
Sam,Lab,L05,0,100
Sam,Lab,L06,0,100
Sam,Lab,L07,0,100
Sam,Quiz,Q01,91,100
Sam,Quiz,Q02,85,100
Sam,Quiz,Q03,33,100
Sam,Quiz,Q04,64,100
Sam,Quiz,Q05,54,100
Sam,Quiz,Q06,95,100
Sam,Quiz,Q07,68,100
Sam,Final,FINAL,58,100
Sam,Survey,WS,5,5
Andrew,Homework,H01,25,100
Andrew,Homework,H02,47,100
Andrew,Homework,H03,85,100
Andrew,Homework,H04,65,100
Andrew,Homework,H05,54,100
Andrew,Homework,H06,58,100
Andrew,Homework,H07,52,100
Andrew,Lab,L01,87,100
Andrew,Lab,L02,45,100
Andrew,Lab,L03,92,100
Andrew,Lab,L04,48,100
Andrew,Lab,L05,42,100
Andrew,Lab,L06,99,100
Andrew,Lab,L07,86,100
Andrew,Quiz,Q01,25,100
Andrew,Quiz,Q02,84,100
Andrew,Quiz,Q03,59,100
Andrew,Quiz,Q04,93,100
Andrew,Quiz,Q05,85,100
Andrew,Quiz,Q06,94,100
Andrew,Quiz,Q07,58,100
Andrew,Final,FINAL,99,100
Andrew,Survey,WS,5,5
Ava,Homework,H01,55,100
Ava,Homework,H02,95,100
Ava,Homework,H03,84,100
Ava,Homework,H04,74,100
Ava,Homework,H05,95,100
Ava,Homework,H06,84,100
Ava,Homework,H07,55,100
Ava,Lab,L01,66,100
Ava,Lab,L02,77,100
Ava,Lab,L03,88,100
Ava,Lab,L04,99,100
Ava,Lab,L05,55,100
Ava,Lab,L06,66,100
Ava,Lab,L07,77,100
Ava,Quiz,Q01,88,100
Ava,Quiz,Q02,99,100
Ava,Quiz,Q03,44,100
Ava,Quiz,Q04,55,100
Ava,Quiz,Q05,66,100
Ava,Quiz,Q06,77,100
Ava,Quiz,Q07,88,100
Ava,Final,FINAL,99,100
Ava,Survey,WS,5,5
Shane,Homework,H01,50,100
Shane,Homework,H02,60,100
Shane,Homework,H03,70,100
Shane,Homework,H04,60,100
Shane,Homework,H05,70,100
Shane,Homework,H06,80,100
Shane,Homework,H07,90,100
Shane,Lab,L01,90,100
Shane,Lab,L02,0,100
Shane,Lab,L03,100,100
Shane,Lab,L04,50,100
Shane,Lab,L05,40,100
Shane,Lab,L06,60,100
Shane,Lab,L07,80,100
Shane,Quiz,Q01,70,100
Shane,Quiz,Q02,90,100
Shane,Quiz,Q03,100,100
Shane,Quiz,Q04,100,100
Shane,Quiz,Q05,80,100
Shane,Quiz,Q06,80,100
Shane,Quiz,Q07,80,100
Shane,Final,FINAL,90,100

0 0
Add a comment Improve this question Transcribed image text
Answer #1

Script:

#!/usr/bin/perl
$filename = $ARGV[0];

open (handler, $filename) || die ("Cannot open the file: $filename!");

my %assignments;
my %students;

$line = <handler>;
while ($line = <handler>)
{
($stu,$categ,$assign,$score,$pos) = split ',', $line;
if(! exists($students{$stu} ) )
{
    $students{$stu} = $score;
}
else
{
    $students{$stu} = $students{$stu} + $score;
}
if(! exists($assignments{$assign}) )
{
   $assignments{$assign} = $pos;
}
}
close (handler);

$max_total = 0;
my @assign_names = keys %assignments;
for my $assign_name (@assign_names)
{
   $max_total = $max_total + $assignments{$assign_name};
}

my @student_names = keys %students;

print "Name       Percent       Letter\n";

for my $student_name (@student_names)
{
$avg = $students{$student_name} / $max_total * 100;
if( $avg >= 90 )
{
   $grade = "A";
}
elsif( $avg >= 80 )
{
   $grade = "B";
}
elsif( $avg >= 70 )
{
       $grade = "C";
}
elsif( $avg >= 60 )
{  
      $grade = "D";
}
else
{
       $grade = "E";
}
my $res = sprintf("%.2f",$avg);  
print "$student_name       $res       $grade\n";
}

Execution and Output:

terminal>./averages.pl data.csv Name Shane Ava sam Andrew Chelsey Letter Percent 72.34 76.69 61.22 67.44 90.75

Note:

Grade is calculated by using the first method specified in the question

       total earned points / total possible points.

since other method details are not given. that's why there can be some differences from given output.

Add a comment
Know the answer?
Add Answer to:
PERL SCRIPTING QUESTION / CAN ONLY BE DONE WITH PERL AND ONLY PERL AND JUST PERL ALONE DONE WITH ...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
  • PERL SCRIPTING QUESTION / CAN ONLY BE DONE WITH PERL AND ONLY PERL AND JUST PERL...

    PERL SCRIPTING QUESTION / CAN ONLY BE DONE WITH PERL AND ONLY PERL AND JUST PERL ALONE DONE WITH PERL PERL PERL PERL PERL PERL PERL PERL PERL DONE IN PERL PLEASE HELP IN PERL PERL PERL PERL PERL PERL PERL PERL ONE LAST TIME IN PERL PERL PERL PERL ONLY DONE IN PERL HERE IS DATA.CSV Student,Catehory,Assignment,Score,Possible Chelsey,Homework,H01,90,100 Chelsey,Homework,H02,89,100 Chelsey,Homework,H03,77,100 Chelsey,Homework,H04,80,100 Chelsey,Homework,H05,82,100 Chelsey,Homework,H06,84,100 Chelsey,Homework,H07,86,100 Chelsey,Lab,L01,91,100 Chelsey,Lab,L02,100,100 Chelsey,Lab,L03,100,100 Chelsey,Lab,L04,100,100 Chelsey,Lab,L05,96,100 Chelsey,Lab,L06,80,100 Chelsey,Lab,L07,81,100 Chelsey,Quiz,Q01,100,100 Chelsey,Quiz,Q02,100,100 Chelsey,Quiz,Q03,98,100 Chelsey,Quiz,Q04,93,100 Chelsey,Quiz,Q05,99,100 Chelsey,Quiz,Q06,88,100 Chelsey,Quiz,Q07,100,100 Chelsey,Final,FINAL,82,100...

  • In PERL ***PLEASE DO NOT ASSIST WITH AWK***, generate a report containing the lowest, highest and...

    In PERL ***PLEASE DO NOT ASSIST WITH AWK***, 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. Output example 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...

ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT
Active Questions
ADVERTISEMENT