Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

1. Να γραφτεί αλγόριθμος που θα υπολογίζει το ελάχιστο πλήθος (χαρτο)νομισμάτων που απαιτούνται για τη συμπλήρωση ενός συγκεκριμένου ποσού. Για παράδειγμα.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "1. Να γραφτεί αλγόριθμος που θα υπολογίζει το ελάχιστο πλήθος (χαρτο)νομισμάτων που απαιτούνται για τη συμπλήρωση ενός συγκεκριμένου ποσού. Για παράδειγμα."— Μεταγράφημα παρουσίασης:

1 1. Να γραφτεί αλγόριθμος που θα υπολογίζει το ελάχιστο πλήθος (χαρτο)νομισμάτων που απαιτούνται για τη συμπλήρωση ενός συγκεκριμένου ποσού. Για παράδειγμα το ποσό 1.560€ θα πρέπει να συμπληρωθεί με τα εξής χαρτονομίσματα: 3x500, 1x50 και 1x10. Ο αλγόριθμος θα πρέπει να αποθηκεύει τα αποτελέσματα σε ένα μονοδιάστατο πίνακα Χ(15) όπου κάθε θέση του θα αντιστοιχεί σε κάθε μια από τις διαθέσιμες νομισματικές αξίες: 500 (€) 200 (€) 100 (€) 50 (€) 20 (€) 10 (€) 5 (€) 2 (€) 1 (€) 50 (λεπτά) 20 (λεπτά) 10 (λεπτά) 5 (λεπτά) 2 (λεπτά) 1 (λεπτό)

2 Ο υπολογισμός του πλήθους (χαρτο)νομισμάτων κάθε αξίας θα γίνει με διαίρεση. Π.χ. Ποσό 1700€ Π.χ. Ποσό 1500€ Π.χ. Ποσό 1637,56€...κ.λπ. ΟΜΩΣ: Οι τελεστές DIV και MOD δέχονται μόνο ακέραια ορίσματα! Άρα, θα πρέπει να ολισθήσουμε τα ψηφία κάθε ποσού κατά δύο θέσεις προς τα αριστερά, ώστε να τα μετατρέψουμε σε ακέραια. Συνεπώς το ποσό 1637,56 θα γίνει πολλαπλασιαζόμενο επί 100. Το ίδιο θα πρέπει να γίνει και με τις 15 αξίες των (χαρτο)νομισμάτων, άρα ο πίνακας Α (με τις αξίες) δεν θα περιέχει τις τιμές 500, 200, 100, 50,..., 0.05, 0.02, 0.01, αλλά τις 50000, 20000, 10000, 5000,..., 5, 2, 1 αντίστοιχα.

3 Προφανώς ο πίνακας Α των αξιών θα πρέπει να γεμίσει με τιμές στην αρχή του αλγόριθμου: ΑΛΓΟΡΙΘΜΟΣ Ποσά ΔΕΔΟΜΕΝΑ // Χ,15,Α,15// !Εισαγωγή τιμών στον Α Α[1]  Α[2]  Α[3]  Α[4]  5000 Α[5]  2000 Α[6]  1000 Α[7]  500 Α[8]  200 Α[9]  100 Α[10]  50 Α[11]  20 Α[12]  10 Α[13]  5 Α[14]  2 Α[15]  1 Μια τέτοια προσέγγιση είναι μάλλον κοπιαστική και μη γενικεύσιμη. Προφανώς μπορεί να γίνει πιο εύκολα, με λιγότερο γράψιμο (αλλά με περισσότερη ανάλυση!) Παρατηρούμε ότι τα 15 δεδομένα μπορούν να ομαδοποιηθούν σε 5 τριάδες της μορφής: 5 x Αξία 2 x Αξία 1 x Αξία όπου Αξία κατάλληλη δύναμη του 10. Μπορούμε λοιπόν να “εισάγουμε” τις τιμές μέσω μιας Δομής Επανάληψης (που θα εκτελέσει 5 επαναλήψεις) με αρχική τιμή στη μεταβλητή Αξία την και υποδεκαπλασιασμό της στο τέλος κάθε επανάληψης. Στην επόμενη διαφάνεια βλέπετε τις δύο προσεγγίσεις:

4

5 ! Επεξεργασία ! Έξοδος Χωρίς τη μπλε Δομή Επιλογής, στην έξοδο θα εμφανιστούν όλες οι αξίες, ακόμη κι εκείνες που δε συμμετέχουν στο σχηματισμό του ποσού. Για παράδειγμα το ποσό 1600€ θα εμφανιστεί ως: Με τη μπλε Δομή Επιλογής, θα έχουμε μια πιο λιτή έξοδο, που δε θα μπερδεύει το χρήστη με περιττές πληροφορίες: 3x500 1x100

6 2. Να γραφτεί αλγόριθμος ο οποίος θα διαβάζει τις μηνιαίες εισπράξεις μιας εταιρείας κατά τη διάρκεια ενός ημερολογιακού έτους και θα τις αποθηκεύει σε κατάλληλο πίνακα. Ακολούθως α) θα υπολογίζει: i) τις ετήσιες εισπράξεις της εταιρείας, ii) τις εισπράξεις κάθε τριμήνου, iii)το πλήθος των μηνών κατά τους οποίους οι εισπράξεις ξεπέρασαν τις €, β) θα εμφανίζει τα ονόματα των μηνών κατά τους οποίους οι εισπράξεις ήταν τουλάχιστον 70% του ετήσιου μέσου όρου.

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

8 Αντί να χρησιμοποιήσουμε τη βοηθητική μεταβλητή sum1, μπορούμε να συσσωρεύσουμε το άθροισμα απευθείας στην sumΤρ[i].

9 Το Κριτήριο της Εξόδου δεν απαιτεί χρήση μετρητή στο ερώτημα β (δηλ. οι κενές σειρές δεν θα χρειαστούν), αφού, ανεξάρτητα από τις μηνιαίες εισπράξεις, σίγουρα τουλάχιστον μία από τις 12 τιμές του πίνακα θα ικανοποιεί τη συνθήκη Εισπρ[i]>0.7*ΜΟ.


Κατέβασμα ppt "1. Να γραφτεί αλγόριθμος που θα υπολογίζει το ελάχιστο πλήθος (χαρτο)νομισμάτων που απαιτούνται για τη συμπλήρωση ενός συγκεκριμένου ποσού. Για παράδειγμα."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google