Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Just make the corrections and highlight the differences // A high school is hold

ID: 3564490 • Letter: J

Question

Just make the corrections and highlight the differences

// A high school is holding a recycling competition
// This program allows a user to enter a student's
// year in school (1 through 4) and number of cans collected
// Data is entered continuously until the user enters 9
// After headings, output is four lines --
// one for each school year class
start
Declarations
num year
num cans
num SIZE = 4
num QUIT = 9
num collectedArray[SIZE] = 0, 0, 0
string HEAD1 = "Can Recycling Report"
string HEAD2 = "Year Cans Collected"
output "Enter year of student or ", QUIT, " to quit "
input year
while year <> QUIT
output "Enter number of cans collected "
input cans
collectedArray[year - 1] = collectedArray[year - 1] + cans
output "Enter year of student or ", QUIT, " to quit "
input year
endwhile
output HEAD1
output HEAD2
year = 1
while year < SIZE
output year, collectedArray[year - 1]
year = year + 1
endwhile
stop   

Explanation / Answer

To debug, always keep in your mind the value of variables at any time as the program proceeds, and think of exceptional values a user can enter.
Your program must expect users to enter anything because of human errors.
For example, for the recycling program:

// A high school is holding a recycling competition
// This program allows a user to enter a student's
// year in school (1 through 4)
// and number of cans collected
// Data is entered continuously until the user wnats to quit
// After headings, output is four lines
// one for each school year class
start
Declarations
num year
num cans
num SIZE = 4
num QUIT = 9
num collected[SIZE] = 0, 0, 0, 0
string HEAD1 = "Can Recycling Report"
string HEAD2 = "Year Cans Collected"
output "Enter year of student or ", QUIT, " to quit "
input year what if user enters 6? -5?
while year <> QUIT
output "Enter number of cans collected "
input cans
collected[year] = collected[year] + cans
endwhile
output HEAD1
output HEAD2
what is the value of "year" at this point, (logic requires it to be 0)
while year <= SIZE
output year, collected[year - 1]
year = year + 1
endwhile
stop