Φίλε bugman, αφενός, καλωσόρισες στο Ασκησιολόγιο.
Αφετέρου, δόξα τω Θεώ που... δε βαθμολογείς!
Σοβαρά τώρα:
1. Νομίζω πως εννοείς ότι θα έπρεπε στο μήνυμα που εμφανίζεται να αναγράφεται ότι ζητείται η *μηνιαία* χρέωση. Επέτρεψέ μου την παρατήρηση ότι κάτι τέτοιο δεν είναι λάθος, αφού η απάντηση ενός προβλήματος είναι η προέκταση της εκφώνησης, όπου αυτό αναφέρεται ρητά. Αυτό ισχύει για όλες τις επιστήμες και όλα τα μαθήματα. Γιατί στην ΑΕΠΠ πρέπει να είναι διαφορετικά; Αλίμονο, δεν ζητείται από τα παιδιά η δημιουργία ολοκληρωμένων προγραμμάτων που να μπορούν να σταθούν στην αγορά!
2. Δεκτή η δεύτερη παρατήρησή σου. Όμως δε συμπεριέλαβα την περίπτωση που ο χρόνος=0, γιατί απλά κάτι τέτοιο δε ζητείται από την εκφώνηση. Δηλαδή μας δίνεται ένα "ΣΥΝΟΛΟ ΤΙΜΩΝ" (ένα σαφές "πεδίο ορισμού" αν προτιμάς) για το οποίο το πρόγραμμα θα πρέπει να γνωρίζει πως να αντιδράσει. Και η τιμή 0 δεν αναφέρεται πουθενά. Μετά από πολλές συζητήσεις με συναδέλφους επί του θέματος, καταλήξαμε ότι θα πρέπει να είμαστε ευλαβικά προσηλωμένοι στον τρόπο διατύπωσης των ζητουμένων. Σύμφωνα με τη λογική που αναφέρεις, θα έπρεπε να ελέγχαμε μήπως και δινόταν αρνητικός χρόνος, να κάναμε error-trapping για την περίπτωση που κάποιος θα έδινε κατά λάθος αλφαριθμητικό, να ελέγχαμε για overflow, και ένα σωρό άλλα σενάρια.
Την ΑΕΠΠ πρέπει να την αντιμετωπίζουμε σαν εκπαιδευτικοί, όχι σαν προγραμματιστές. Όπως υπονοείς κι εσύ, αν προγραμματίζαμε και βαθμολογούσαμε με τον τρόπο που προτείνεις, δε θα έγραφε κανείς πάνω από τη βάση!
Πάντως, για να μου δώσεις και τις... υπόλοιπες μονάδες
, παραθέτω την εκδοχή που αναφέρεις:
! =========================================================
! Μια εταιρία κινητής τηλεφωνίας ακολουθεί ανά μήνα την
! πολιτική τιμών που φαίνεται στον παρακάτω πίνακα:
!
! -------------- ΠΑΓΙΟ: 1500 δραχμές --------------
! ΧΡΟΝΟΣ ΤΗΛΕΦΩΝΗΜΑΤΩΝ ΧΡΟΝΟΧΡΕΩΣΗ
! (δευτερόλεπτα) (δραχμές/δευτερόλεπτο)
! 1-500 1.5
! 501-800 0.9
! 801 και άνω 0.5
!
! Να γίνει πρόγραμμα το οποίο:
! Α) Να διαβάζει τη χρονική διάρκεια των τηλεφωνημάτων
! ενός συνδρομητή σε διάστημα ενός μήνα.
! [Μονάδες 3]
! Β) Να υπολογίζει τη μηνιαία χρέωση του συνδρομητή.
! [Μονάδες 12]
! Γ) Να εμφανίζει τη λέξη "Χρέωση" και τη μηνιαία χρέωση
! του συνδρομητή.
! [Μονάδες 5]
! =========================================================
ΠΡΟΓΡΑΜΜΑ Πανελλήνιες_2000__Θέμα_4ο
ΣΤΑΘΕΡΕΣ
πάγιο=1500
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: χρόνος
ΠΡΑΓΜΑΤΙΚΕΣ: χρέωση
ΑΡΧΗ
ΓΡΑΨΕ 'Δώσε το *ΜΗΝΙΑΙΟ* χρόνο των τηλεφωνημάτων σε δευτερόλεπτα:'
ΔΙΑΒΑΣΕ χρόνος
χρέωση <-- πάγιο
ΑΝ (χρόνος>=1) ΚΑΙ (χρόνος<=500) ΤΟΤΕ
χρέωση <-- χρέωση + χρόνος*1.5
ΑΛΛΙΩΣ_ΑΝ (χρόνος>=501) ΚΑΙ (χρόνος<=800) ΤΟΤΕ
χρέωση <-- χρέωση + 500*1.5 + (χρόνος-500)*0.9
ΑΛΛΙΩΣ_ΑΝ χρόνος>=801 ΤΟΤΕ
χρέωση <-- χρέωση + 500*1.5 + 300*0.9 + (χρόνος-800)*0.5
ΤΕΛΟΣ_ΑΝ
ΓΡΑΨΕ 'Χρέωση: ', χρέωση
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Πανελλήνιες_2000__Θέμα_4ο