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

Examine the pseudocode that follows the introductory comment, then find and corr

ID: 3770498 • Letter: E

Question

 Examine the pseudocode that follows the introductory comment, then find and correct all the bugs.  // The Date class contains a month, day, and year, // and methods to set and display the values. // The month cannot be set to less than 1 or more than 12, // and the day of the month cannot be set to less than 1 // or more than the number of days in that month. // The demonstration program instantiates four Date objects and // purposely assigns invalid values to some of the arguments; // the class methods will correct the invalid values. class Date    Declarations       private num month       private num day       private num year    public void setDate(num mo, num da, num yr)       num HIGH_MONTH = 12       num HIGHEST_DAYS[HIGH_MONTH] =          31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30       if mo > HIGH_MONTH then          month = HIGH_MONTH       else          if mo < 1 then             month = 1          else             month = mo        endif       endif       if da > HIGHEST_DAYS[month] then          day = HIGHEST_DAYS[month]       else          if da < 1 then             day = 1                else          day = da       endif       year = yr    return    public void showDate()       output "Date: ", month, “/”, day, “/”, year    return endClass  start    Declarations       Date birthday, anniversary, graduation, party    birthday.month = 6    birthday.day = 24    birthday.year = 1982    anniversary.setDate(10, 15, 2009)    graduation.setDate(14, 19, 2016)    party.setDate(7, 35, 2015)    output "Birthday "    birthday.showDate()    output "Anniversary "    anniversary.showDate()    output "Graduation "    graduation.showDate()    output "Party "    party.showDate() stop 

Explanation / Answer

class Date
   Declarations
      private num month
      private num day
      private num year
   public void setDate(num mo, num da, num yr)
      num HIGH_MONTH = 12
      num HIGHEST_DAYS[HIGH_MONTH] =
         31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
      if mo > HIGH_MONTH then
         month = HIGH_MONTH
      else
         if mo < 1 then
            month = 1
         else
            month = mo
       endif
      endif
      if da > HIGHEST_DAYS[month - 1] then
         day = HIGHEST_DAYS[month - 1]
      else
         if da < 1 then
            day = 1
               else
         day = da
      endif
      year = yr
   return
   public void showDate()
      output "Date: ", month, “/”, day, “/”, year
   return
endClass

start
   Declarations
      Date birthday, anniversary, graduation, party
   birthday.month = 6
   birthday.day = 24
   birthday.year = 1982
   anniversary.setDate(10, 15, 2009)
   graduation.setDate(14, 19, 2016)
   party.setDate(7, 35, 2015)
   output "Birthday "
   birthday.showDate()
   output "Anniversary "
   anniversary.showDate()
   output "Graduation "
   graduation.showDate()
   output "Party "
   party.showDate()
stop

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote