HW için pseudocode hakkında soru

oy
0

Ben şu soru var ve ne ben, en karıştı çek geç ya da değil bir ay olup olmadığının belirlenmesi için mantığı nasıl olduğunu.

Soru şu ki:

Bir müşterinin servis ücreti karşılıksız çek yazılması için borçlu hesaplayan bir program için pseudocode yaz. Program bir müşterinin adı, çek yazıldığı tarihi (yıl, ay ve gün), geçerli tarih (yıl, ay kabul eder ve bir eof değeri ile karşılaşana kadar gün) ve dolar ve sent check miktarı. Program devam eder. servis ücreti 20 $ artı çek miktarı yüzde 2 artı çek geçti her ay için 5 $ olduğunu yazılmıştır. bir çek bir ay yeni bir ay başlıyor-so olarak 30 Eylül'de yazılmış bir kötü kontrol gecikmiş bir ay 1 Ekim'de olduğu geç olarak yakında

Şimdiye kadar Yazmak ne olduğunu:

Start
  string Name
  num AmountOwed
  num DateCheckWritten
  num CurrentDate
  num CheckAmount
  get Name, DateCheckWritten, CurrentDate, CheckAmount
  while eof
Oluştur 23/06/2010 saat 23:20
kaynak kullanıcı
Diğer dillerde...                            


4 cevaplar

oy
0

senin sorun burada yatıyor emin değilim, ama başa iki sorunlar var düşünüyorum:

  1. Geç tanımı nedir?
  2. Geç bu onay kaç aydır?

Yani benim pseudocode, ben ücretini hesaplamak için bir onay ne kadar geç belirleyen bir adım ve sonra bir adım daha olurdu. İlk adımda İçinde, sadece gün bölün çıkarma olabilir. Ama tarifi yeni bir ay boyunca gelir olarak, geç bir ay gibi kısa bir süre demek. Yani gerçekten yapmanız gereken tek şey çıkarma aydır.

Emin değil soruyorsun, ama o rehberlik değil kod için soruyorsunuz görünen başka ne. Bu yardımcı olur umarım.

Cevap 23/06/2010 saat 23:31
kaynak kullanıcı

oy
0

Bu ödev olduğunu varsaymak gidiyorum ve bu nedenle ben sadece doğru yönde işaret çalışacağım.

Her ayın (Ocak = 1, Şubat = 2, vs) numara atarsanız o zaman iki tarih arasındaki ay sayısı belirlemek kolaydır - (= 9) Eylül arasında kaç ay var ve Mayıs (= 5)?

dikkate almak başka bir şey yılıdır - çek geç her yıl için, ayrıca başka oniki ay eklemeniz gerekir. Bu ay için aynı şekilde çalışır.

herhangi bir ekstra ayrıntı Need bana bildirin çekinmeyin.

Cevap 23/06/2010 saat 23:33
kaynak kullanıcı

oy
0

, Basitleştirme ana noktaları vurmak ve sonra işe yaradı büyükanneni söylerdim nasıl yazmak, daha fazla dökümünü alabilirsiniz.

gibi bir şey ile başlayabilir

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
Cevap 23/06/2010 saat 23:35
kaynak kullanıcı

oy
1

Eğer gün uğraşmak zorunda olmadığından, algoritma çok basittir:

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

Sorunun kalanı ile iyi şanslar!

Cevap 23/06/2010 saat 23:39
kaynak kullanıcı

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