Αποστολέας Θέμα: ΛΙΓΗ ΒΟΗΘΕΙΑ  (Αναγνώστηκε 2570 φορές)

XRISTINAKII

  • Οπαδός
  • **
  • Μηνύματα: 18
ΛΙΓΗ ΒΟΗΘΕΙΑ
« στις: 29 Σεπ 2010, 01:59:41 πμ »
Να γίνει αλγόριθμος, και το  σχετικό διάγραμμα ροής που θα διαβάζει τον μισθό ενός υπαλλήλου και θα υπολογίζει από πόσα χαρτονομίσματα των 500, 200, 100, 50, 20, 10 και 5 ευρώ θα πρέπει να πληρωθεί. Ο αριθμός των χαρτονομισμάτων θα πρέπει να είναι ο λιγότερος δυνατός.

ΜΠΟΡΕΙ ΚΑΠΟΙΟΣ ΝΑ ΜΟΥ ΕΞΗΓΗΣΕΙ ΤΙ ΖΗΤΑΕΙ  Ο ΑΛΓΟΡΙΘΜΟΣ ΑΥΤΟΣ?
ΠΧ. ΑΝ ΚΑΠΟΙΟΣ ΠΑΙΡΝΕΙ ΜΙΣΘΟ 1000€ ΝΑ ΕΜΦΑΝΙΖΕΙ 2*500€ ???

ΕΥΧΑΡΙΣΤΩ ΕΚ ΤΩΝ ΠΡΟΤΕΡΩΝ :)

Νίκος Αδαμόπουλος

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2787
  • Πύργος Ηλείας
Απ: ΛΙΓΗ ΒΟΗΘΕΙΑ
« Απάντηση #1 στις: 29 Σεπ 2010, 09:32:08 πμ »
Ναι... Αν παίρνει 1185€ θα μπορούσε να εμφανίζει

500€ : 2
200€ : 0
100€ : 1
50€: 1
20€: 1
10€: 1
5€: 1

XRISTINAKII

  • Οπαδός
  • **
  • Μηνύματα: 18
Απ: ΛΙΓΗ ΒΟΗΘΕΙΑ
« Απάντηση #2 στις: 29 Σεπ 2010, 01:21:40 μμ »
ΜΕ ΠΟΙΑ ΣΥΝΑΡΤΗΣΗ ΘΑ ΜΠΟΡΟΥΣΕ ΝΑ ΤΟ ΚΑΝΕΙ ΑΥΤΟ???
ΔΕΝ ΜΟΥ ΠΑΕΙ ΚΑΤΙ ΣΤΟ ΜΥΑΛΟ??? ΜΕ IF???

XRISTINAKII

  • Οπαδός
  • **
  • Μηνύματα: 18
Απ: ΛΙΓΗ ΒΟΗΘΕΙΑ AN EINAI ΣΩΣΤΗ???
« Απάντηση #3 στις: 29 Σεπ 2010, 01:59:19 μμ »
ΑΛΓΟΡΙΘΜΟΣ ΜΙΣΘΟΣ_ΥΠΑΛΛΗΛΟΥ
ΔΙΑΒΑΣΕ ΜΙΣΘΟΣ_ΥΠΑΛΛΗΛΟΥ
Χ500 <-- ΜΙΣΘΟΣ_ΥΠΑΛΛΗΛΟΥ DIV 500
Χ200 <-- (ΜΙΣΘΟΣ_ΥΠΑΛΛΗΛΟΥ MOD 500) DIV 200
Χ100 <-- ((ΜΙΣΘΟΣ_ΥΠΑΛΛΗΛΟΥ MOD 500) MOD 200) DIV 100
Χ50   <-- (((ΜΙΣΘΟΣ_ΥΠΑΛΛΗΛΟΥ MOD 500) MOD 200) MOD 100) DIV 50
Χ20   <--((((ΜΙΣΘΟΣ_ΥΠΑΛΛΗΛΟΥ MOD 500) MOD 200) MOD 100) MOD 50) DIV 20
Χ10   <--(((((ΜΙΣΘΟΣ_ΥΠΑΛΛΗΛΟΥ MOD 500) MOD 200) MOD 100) MOD 50) MOD 20) DIV 10
Χ5     <--((((((ΜΙΣΘΟΣ_ΥΠΑΛΛΗΛΟΥ MOD 500) MOD 200) MOD 100) MOD 50) MOD 20) MOD 10) DIV 5
ΤΕΛΟΣ ΜΙΣΘΟΣ_ΥΠΑΛΛΗΛΟΥ

gthal

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 892
Απ: ΛΙΓΗ ΒΟΗΘΕΙΑ
« Απάντηση #4 στις: 29 Σεπ 2010, 05:03:29 μμ »
Να που το βρήκες λοιπόν!  :)

Μια διόρθωση (ισχύει και για άλλη λύση σου):
Δεν μπορείς να χρησιμοποιείς το ίδιο όνομα για δύο πράγματα. Εδώ έχεις μια μεταβλητή που λέγεται ΜΙΣΘΟΣ_ΥΠΑΛΛΗΛΟΥ αλλά έτσι έχεις ονομάσει και τον Αλγόριθμό σου !
Το ένα από τα δύο πρέπει να αλλάξει.


Φιλικά,
Γιώργος Θαλασσινός

XRISTINAKII

  • Οπαδός
  • **
  • Μηνύματα: 18
Απ: ΛΙΓΗ ΒΟΗΘΕΙΑ
« Απάντηση #5 στις: 29 Σεπ 2010, 05:31:11 μμ »
 ;) eyxaristw to diorthwsa hdh!!

Νίκος Αδαμόπουλος

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2787
  • Πύργος Ηλείας
Απ: ΛΙΓΗ ΒΟΗΘΕΙΑ
« Απάντηση #6 στις: 29 Σεπ 2010, 11:24:51 μμ »
Πού το έχεις διορθώσει;

Επίσης, ο αλγόριθμός σου δεν έχει έξοδο, δηλαδή εμφάνιση των αποτελεσμάτων (Εμφάνισε, Εκτύπωσε) ή, αφού δεν απαιτεί κάτι τέτοιο η διατύπωση του προβλήματος, έστω δήλωση για το ποια είναι αυτά (Αποτελέσματα).

Καλό είναι να μη γράφουμε με γκρικλις (greeklish) ... ή και MONO ME KEFALAIA (μόνο με κεφαλαία)...  :)

Επίσης τα θέματα που ανοίγουμε καλύτερα να έχουν διαφορετικούς και πιο κατατοπιστικούς τίτλους. Π.χ. όχι όλα "ΛΙΓΗ ΒΟΗΘΕΙΑ" ή "ΑΣΚΗΣΗ" ή "ΛΙΓΗ ΠΕΡΙΣΣΟΤΕΡΗ ΒΟΗΘΕΙΑ", αλλά "Υπολογισμός χαρτονομισμάτων", "Υπολογισμός δόσεων", "Αριθμός τρανζίστορ" κλπ. Με αυτόν τον τρόπο θα είναι πιο εύκολη η μελλοντική εύρεση των θεμάτων, άρα και η αξιοποίησή τους από όσους θα ψάχνουν κάτι σχετικό.
« Τελευταία τροποποίηση: 29 Σεπ 2010, 11:38:09 μμ από Νίκος Αδαμόπουλος »

tdrivas

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 610
  • κάποτε έκαιγαν βιβλία,τώρα καίνε μυαλά...
Απ: ΛΙΓΗ ΒΟΗΘΕΙΑ
« Απάντηση #7 στις: 02 Οκτ 2010, 12:48:21 μμ »
Σημείωση : Η άσκηση πρέπει να τονίζει ότι Ο ΜΙΣΘΟΣ ΕΙΝΑΙ ΠΟΛ/ΣΙΟΣ ΤΟΥ 5. Διαφορετικά, με είσοδο ένα μισθό 628 ευρώ, θα μείνουν 3€ απλήρωτα!
Thanassis Drivas
BSc in Computer Science
MSc in Space Science Applications and Technologies