Pytanie o Pseudokod dla HW

głosy
0

Mam następujące pytanie, a co mi najbardziej mylić, jak to zrobić logikę dla określenia, czy czek wynosi jeden miesiąc późno lub nie.

Pytaniem jest:

„Pisanie Pseudokod dla programu, który oblicza koszt obsługi z klientem zawdzięcza do pisania zły czek. Program przyjmuje nazwę klienta, datę czek został napisany (rok, miesiąc i dzień), aktualną datę (rok, miesiąc i dzień), a kwota czeku w dolarach i centach. Program trwa dopóki wartość EOF spotyka. Opłata wynosi 20 $ oraz 2 procent kwoty czeku, plus $ 5 dla każdego miesiąca, który upłynął od czeku został napisany. czek wynosi jeden miesiąc późno, gdy tylko rozpoczyna się nowy miesiąc, więc zły czek napisany w dniu 30 września wynosi jeden miesiąc przeterminowane 1 października”

Do tej pory, co mam teraz napisać to:

Start
  string Name
  num AmountOwed
  num DateCheckWritten
  num CurrentDate
  num CheckAmount
  get Name, DateCheckWritten, CurrentDate, CheckAmount
  while eof
Utwórz 23/06/2010 o 23:20
źródło użytkownik
W innych językach...                            


4 odpowiedzi

głosy
0

Nie jestem pewien, gdzie leży problem, ale myślę, że masz dwa problemy do czynienia z:

  1. Jaka jest definicja późno?
  2. Ile miesięcy późno jest to sprawdzić?

Więc w moim Pseudokod, musiałbym się o krok, który określa, jak późno jest sprawdzenie, a następnie kolejny krok do obliczenia opłaty. Wewnątrz pierwszego kroku, można po prostu odjąć dni i przepaści. Ale kierunki powiedzieć, jak tylko nowy miesiąc przychodzi, jest to jeden miesiąc późno. Więc wszystko co naprawdę trzeba zrobić, to Odejmowanie miesięcy.

Nie wiem, co jeszcze pytasz, ale wydaje się, prosicie o wytyczne, a nie kodu. Mam nadzieję że to pomoże.

Odpowiedział 23/06/2010 o 23:31
źródło użytkownik

głosy
0

Mam zamiar założyć, to jest praca, i jako taki postaram się po prostu skierować Cię w dobrym kierunku.

Jeśli przypisać numery do każdego miesiąca (Jan = 1, luty = 2, etc), a następnie liczbę miesięcy między dwoma datami jest łatwe do ustalenia - ile miesięcy istnieją między wrześniem (= 9) i maju (= 5)?

Inną rzeczą, aby wziąć pod uwagę to rok - dla każdego roku czek jest późno, trzeba także dodać kolejne dwanaście miesięcy. To działa tak samo, jak przez wiele miesięcy.

Potrzeba żadnego dodatkowego szczegół, nie krępuj się dać mi znać.

Odpowiedział 23/06/2010 o 23:33
źródło użytkownik

głosy
0

Uproszczenia, uderzył główne punkty, a następnie rozbicie go coraz więcej, napisz to w jaki sposób opowiedzieć swoją babcię to działało.

może rozpocząć się z czymś

Start
While there are more bad checks
  get the service charge 
  add the service charge to the account
record the updates

get the service charge
  charge starts at $20
  add to the charge $5 multiplied by number of months
Odpowiedział 23/06/2010 o 23:35
źródło użytkownik

głosy
1

Ponieważ nie mamy do czynienia z dni, algorytm jest bardzo prosta:

MonthsLate = (CurrentDate.Year - DateCheckWritten.Year) * 12 
                  + (CurrentDate.Month - DateCheckWritten.Month)

Powodzenia z resztą problemu!

Odpowiedział 23/06/2010 o 23:39
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more