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

DEBUG04-02 start Declarations string department num salesQuarter1ThisYear num sa

ID: 3734923 • Letter: D

Question

DEBUG04-02 

start 
   Declarations 
     string department 
num salesQuarter1ThisYear 
num salesQuarter2ThisYear 
num salesQuarter3ThisYear 
num salesQuarter4ThisYear 
num salesQuarter1LastYear 
num salesQuarter2LastYear 
num salesQuarter3ThisYear 
num salesQuarter4LastYear 
num totalThisYear 
num totalLastYear 
string status 
string QUIT = "ZZZZ" 
housekeeping() 
while department <> QUIT 
compareProfit() 
endwhile 
housekeeping() 
stop 

housekeeping() 
output "Enter department name or ", QUIT, " to quit " 
input department 
return 

compareProfit() 
getSalesData() 
sumSalesData() 
if totalThisYear > totalLastYear then 
status = "Higher" 
else 
status = "Same" 
endif 
output department, status 
output "Enter department name or ", QUIT, " to quit " 
input department 
return 

getSalesData() 
output "Enter sales for first quarter this year " 
input salesQuarter1ThisYear 
output "Enter sales for second quarter this year " 
input salesQuarter2ThisYear 
output "Enter sales for third quarter this year " 
input salesQuarter3ThisYear 
output "Enter sales for fourth quarter this year " 
input salesQuarter4ThisYear 
output "Enter sales for first quarter last year " 
input salesQuarter1LastYear 
output "Enter sales for second quarter last year " 
input salesQuarter1LastYear 
output "Enter sales for third quarter last year " 
input salesQuarter1LastYear 
output "Enter sales for fourth quarter last year " 
input salesQuarter1LastYear 
return 

sumSalesData() 
totalThisYear = salesQuarter1ThisYear + salesQuarter2ThisYear + 
salesQuarter4ThisYear + salesQuarter4ThisYear 
totalLastYear = salesQuarter1ThisYear + salesQuarter2LastYear + 
salesQuarter3LastYear + salesQuarter4LastYear 
return 

finishUp() 
output "End of report" 
return 

DEBUG04-03 

start 
Declarations 
string carType 
num days 
num STD_RATE = 65 
num COM_RATE = 40 
num SUB_RATE = 30 
num DAYS_FOR_DISCOUNT = 7 
num DISCOUNT_RATE = 0.20 
string QUIT = "ZZZZ" 
getReady() 
while carType <> QUIT 
detailLoop() 
endwhile 
finish() 
stop 

getReady() 
output "Enter car type or ", QUIT, " to quit " 
input carType 
return 

detailLoop() 
output "Enter days rented " 
input days 
if carType = "Standard" then 
rate = SUB_RATE 
else 
if car_Type = "Compact" then 
price = COM_RATE 
else 
if carType = "Subcompact" then 
rate = SUB_RATE 
else 
rate = 0 
output "Invalid car type" 
endif 
endif 
if rate <> 0 
if days >= DAYS_FOR_DISCOUNT then 
rate = rate - rate * DISCOUNT_RATE 
endif 
output carType, days 
output "Enter car type or ", QUIT, " to quit " 
input carType 
return 

finish() 
output "End of program" 
return

Explanation / Answer

Note:- Below I have highlighted the lines where I found the bugs and corrected them

DEBUG04-02

start
Declarations
string department
num salesQuarter1ThisYear
num salesQuarter2ThisYear
num salesQuarter3ThisYear
num salesQuarter4ThisYear
num salesQuarter1LastYear
num salesQuarter2LastYear
num salesQuarter3LastYear
num salesQuarter4LastYear
num totalThisYear
num totalLastYear
string status
string QUIT = "ZZZZ"
housekeeping()
while department <> QUIT
compareProfit()
endwhile
//housekeeping()
stop

housekeeping()
output "Enter department name or ", QUIT, " to quit "
input department
return

compareProfit()
getSalesData()
sumSalesData()
if totalThisYear > totalLastYear then
status = "Higher"

else if totalThisYear < totalLastYear then
status = "Lower"

else

status = "Same"
endif
output department, status
output "Enter department name or ", QUIT, " to quit "
input department
return

getSalesData()
output "Enter sales for first quarter this year "
input salesQuarter1ThisYear
output "Enter sales for second quarter this year "
input salesQuarter2ThisYear
output "Enter sales for third quarter this year "
input salesQuarter3ThisYear
output "Enter sales for fourth quarter this year "
input salesQuarter4ThisYear
output "Enter sales for first quarter last year "
input salesQuarter1LastYear
output "Enter sales for second quarter last year "
input salesQuarter2LastYear
output "Enter sales for third quarter last year "
input salesQuarter3LastYear
output "Enter sales for fourth quarter last year "
input salesQuarter4LastYear
return

sumSalesData()
totalThisYear = salesQuarter1ThisYear + salesQuarter2ThisYear +
salesQuarter3ThisYear + salesQuarter4ThisYear

totalLastYear = salesQuarter1LastYear + salesQuarter2LastYear +
salesQuarter3LastYear + salesQuarter4LastYear

return

finishUp()
output "End of report"
return

DEBUG04-03

start
Declarations
string carType
num days
num STD_RATE = 65
num COM_RATE = 40
num SUB_RATE = 30
num DAYS_FOR_DISCOUNT = 7
num DISCOUNT_RATE = 0.20
string QUIT = "ZZZZ"
getReady()
while carType <> QUIT
detailLoop()
endwhile
finish()
stop

getReady()
output "Enter car type or ", QUIT, " to quit "
input carType
return

detailLoop()
output "Enter days rented "
input days
if carType = "Standard" then
rate = STD_RATE
else
if car_Type = "Compact" then
price = COM_RATE
else
if carType = "Subcompact" then
rate = SUB_RATE
else
rate = 0
output "Invalid car type"
endif
endif

endif
if rate <> 0
if days >= DAYS_FOR_DISCOUNT then
rate = rate - rate * DISCOUNT_RATE
endif

endif
output carType, days
output "Enter car type or ", QUIT, " to quit "
input carType
return

finish()
output "End of program"
return