Κλιμακωτά δεδομένα, μια άλλη λύση...

Ξεκίνησε από meteo_xampos, 30 Σεπ 2011, 10:09:54 ΠΜ

« προηγούμενο - επόμενο »

meteo_xampos

Άσκηση 18.35 από το βιβλίο του Παναγιώτη Τσιωτάκη...

Για τις υπηρεσίες τηλεφωνίας που προσφέρει η CityTel χρεώνει μηνιαίο πάγιο 20 ευρώ, που περιλαμβάνει 100 αστικές μονάδες και 100 υπεραστικές για τον καταναλωτή μηνιαίως. Για τις επιπλέον μονάδες που καταναλώνονται ανά μήνα η χρέωση είναι η εξής:

Αστικές μονάδες   0.021 ευρώ/μονάδα
Υπεραστικές μονάδες (κλιμακωτή)   
Μέχρι και 250                                   0.029 ευρώ/μονάδα
Περισσότερες από 250 έως και 600   0.039 ευρώ/μονάδα
Άνω των 600                                   0.049 ευρώ/μονάδα

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

Και η λύση ενός μαθητή, που τη βλέπω για πρώτη φορά στα 6 χρόνια που κάνω αυτό το μάθημα!!!!

Αλγόριθμος τάδε
Διάβασε ον, αστ, υπερ
Αν αστ<=100 τότε
   κ1<-- 0
Αλλιώς
   κ1<-- (αστ-100)*0.021
Τέλος_Αν
Αν υπερ<=100 τότε
   κ2<-- 0
Αλλιώς_Αν υπερ<=250 τότε
   κ2<-- (υπερ-100)*0.029
Αλλιώς_Αν υπερ<=600 τότε
   κ2<-- (υπερ-100)*0.029 + (υπερ-250)*0.010
Αλλιώς
   κ2<-- (υπερ-100)*0.029 + (υπερ-250)*0.010 + (υπερ-600)*0.010
Τέλος_Αν

κτ<-- (κ1+κ2)*104/100
Εκτύπωσε κτ
Τέλος τάδε

Ο μαθητής μετέφερε ουσιαστικά τη διαφορά της κάθε χρέωσης στα επόμενα διαστήματα!!! Στην περίπτωση που υπερ<=600 αλλά και υπερ>250, πολλαπλασίασε με 0.029 όλες τις μονάδες, αλλά σκέφτηκε, ότι έχω μονάδες ακόμα αχρέωτες με
0.039-0.029=0.010, και είναι (υπερ-250) μονάδες... Μια διαφορετική προσέγγιση για τα κλιμακωτά δεδομένα!!!
Γηράσκω αεί διδασκόμενος!!! :)

P.Tsiotakis

 :D
Ουσιαστικά αυτό δεν είναι η κλιμακωτή χρέωση; Επιπλέον χρέωση για συγκεκριμένο διάστημα τιμών!!

το μόνο που θα του έλεγα είναι να μην κάνει πράξεις: το 0.010 να το αντικαταστήσει με το (0.039 - 0.029)
ώστε να είναι ασφαλής ότι δε θα κάνει λάθος.

Αυτά μπορούν να κρατήσουν αναμμένη τη φλόγα για το μάθημα μετά από τόσα χρόνια ενασχόλησης...

ipoulis

Πολύ καλή ιδέα. Μερικές φορές το "καθαρό μυαλό" των μαθητών μάς εκπλήσει.
Θα είχε πλάκα η άσκηση αντι αυξανόμενη χρέωση (0,029-0,039-0,049)
να είχε μείωση (0,029-0,019-0,009) και
αντι + να έβαζε - στα παραπάνω πεδία.