Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Γ΄ Λυκείου => Δομή επανάληψης => Μήνυμα ξεκίνησε από: dionmiha στις 06 Οκτ 2013, 01:06:14 ΜΜ

Τίτλος: ΑΣΚΗΣΗ ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
Αποστολή από: dionmiha στις 06 Οκτ 2013, 01:06:14 ΜΜ
Καλησπερα,

Θέλω να σας δωσω μια ασκηση που βρήκα  από βοήθημα, και τη λύση την οποία δίνω,  και θα ήθελα να μου πείτε αν βασικά είναι σωστή και δεύτερον εαν  είναι υπερβολική για τη συγκεκριμένη άσκηση ή αν πρέπει να την απλοποιήσω και πως.

Ευχαριστώ.

Στο υπεραστικό λεοφωρείο του ΚΤΕΛ υπάρχουν πέντε κατηγορίες εισιτηρίων: Πολύτεκνο (Π), Αναπηρικό(Α), Στρατιωτικό(Σ), Φοιτητικό(Φ), και Κανονικό (Κ). οι δύο πρώτες κατηγορίες πληρώνουν το 50% της αξίας του κανονικού εισιτηρίου. Η Τρίτη και τέταρτη κατηγορία έχουν έκπτωση 25%, ενώ η τελευταία κατηγία πληρώνει ολόκληρη την αξία του εισιτηρίου.
Να γραφεί αλγόριθμος που για ένα λεωφορείο 50 θέσεων θα διαβάζει το αντίτιμο του ολόκληρου εισιτηρίου της διαδρομής που ακολουθεί καθένας από τους επιβάτες του λεοφωρείου καθώς και την κατηγορία κάθε επιβάτη και:
Α. θα εμφανίζει για κα΄θε επιβάτη τα χρήματα που πρέπει να πληρώσει
Β. θα εμφανίζει τα συνολικά χρήματα που έχουν εισπραχθεί (Εγω έβαλα και το πλήθος των θέσεων που καλύπτονται)
Ο αλγόριθμος θα τερματίζει όταν δοθεί ως κατηγορία το γράμμα Λ ή όταν το λεοφωρείο γεμίζει



Αλγόριθμος ΚΤΕΛ

Ι ← 0
ΣΥΝΟΛΟ_ΧΡΗΜΑΤΩΝ ← 0
Αρχή_επανάληψης
  Ι ← Ι + 1
  Εμφάνισε "ΔΩΣΕ ΜΟΥ ΚΑΤΗΓΟΡΙΑ ΕΠΙΒΑΤΗ"
  Διάβασε ΚΑΤΗΓΟΡΙΑ
  Αν ΚΑΤΗΓΟΡΙΑ = "Π" ή ΚΑΤΗΓΟΡΙΑ = "Α" τότε
    Εμφάνισε "ΔΩΣΕ ΜΟΥ ΤΗ ΤΙΜΗ ΤΟΥ ΑΝΤΙΣΤΟΙΧΟΥ ΕΙΣΙΤΗΡΙΟΥ"
    Διάβασε ΑΡΧΙΚΗ_ΤΙΜΗ
    ΕΚΠΤΩΣΗ ← ΑΡΧΙΚΗ_ΤΙΜΗ*(50/100)
    ΕΙΣΙΤΗΡΙΟ ← ΑΡΧΙΚΗ_ΤΙΜΗ - ΕΚΠΤΩΣΗ
  αλλιώς_αν ΚΑΤΗΓΟΡΙΑ = "Σ" ή ΚΑΤΗΓΟΡΙΑ = "Φ" τότε
    Εμφάνισε "ΔΩΣΕ ΜΟΥ ΤΗ ΤΙΜΗ ΤΟΥ ΑΝΤΙΣΤΟΙΧΟΥ ΕΙΣΙΤΗΡΙΟΥ"
    Διάβασε ΑΡΧΙΚΗ_ΤΙΜΗ
    ΕΚΠΤΩΣΗ ← ΑΡΧΙΚΗ_ΤΙΜΗ*(25/100)
    ΕΙΣΙΤΗΡΙΟ ← ΑΡΧΙΚΗ_ΤΙΜΗ - ΕΚΠΤΩΣΗ
  αλλιώς_αν ΚΑΤΗΓΟΡΙΑ = "Κ" τότε
    Εμφάνισε "ΔΩΣΕ ΜΟΥ ΤΗ ΤΙΜΗ ΤΟΥ ΑΝΤΙΣΤΟΙΧΟΥ ΕΙΣΙΤΗΡΙΟΥ"
    Διάβασε ΑΡΧΙΚΗ_ΤΙΜΗ
    ΕΙΣΙΤΗΡΙΟ ← ΑΡΧΙΚΗ_ΤΙΜΗ
  αλλιώς_αν ΚΑΤΗΓΟΡΙΑ = "Λ" τότε
    Εμφάνισε " ΤΟ ΠΡΟΓΡΑΜΜΑ ΤΕΡΜΑΤΙΖΕΙ"
    Ι ← Ι - 1
    ΕΙΣΙΤΗΡΙΟ ← 0
  αλλιώς
    Εμφάνισε "ΔΩΣΕ ΕΓΚΥΡΟ ΓΡΑΜΜΑ"
    ΕΙΣΙΤΗΡΙΟ ← 0
    Ι ← Ι - 1
  Τέλος_αν
  ΣΥΝΟΛΟ_ΧΡΗΜΑΤΩΝ ← ΣΥΝΟΛΟ_ΧΡΗΜΑΤΩΝ + ΕΙΣΙΤΗΡΙΟ
Μέχρις_ότου (ΚΑΤΗΓΟΡΙΑ = "Λ" ή Ι = 50)

Εμφάνισε "ΟΙ ΣΥΝΟΛΙΚΕΣ ΕΙΣΠΡΑΞΕΙΣ ΤΟΥ ΛΕΟΦΩΡΕΙΟΥ ΕΙΝΑΙ: ", ΣΥΝΟΛΟ_ΧΡΗΜΑΤΩΝ
Εμφάνισε "ΟΙ ΣΥΝΟΛΙΚΕΣ ΘΕΣΕΙΣ ΕΙΝΑΙ: ", Ι
Τέλος ΚΤΕΛ


Περιμένω απαντήσεις σας.
Ευχαριστώ !!
Τίτλος: Απ: ΑΣΚΗΣΗ ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
Αποστολή από: petrosp13 στις 06 Οκτ 2013, 02:39:18 ΜΜ
Η λύση σου είναι σωστή
Απλά έχεις κάνει διάφορα πράγματα που δεν προβλέπονται από την εκφώνηση
Μην ασχολείσαι με πράγματα που δεν ορίζονται από την εκφώνηση
Για Πανελλαδικές πάντα, γενικότερα κάνε ό,τι θέλεις
Τίτλος: Απ: ΑΣΚΗΣΗ ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
Αποστολή από: dionmiha στις 06 Οκτ 2013, 07:23:59 ΜΜ
Ευχαριστώ πολυ για την αμεση ανταπόκριση,

Και έχω μια ερώτηση ακόμα. Αν εξαιρέσουμε το ότι έβαλα να εμφανίζει και το πλήθος των επιβατών (οπότε κάποιες εντολές παραλείπονται) και πάρουμε την αρχική άσκηση ως έχει, για τις πανελαδικες μιλάμε πάντα.  Θεωρείται πλήρες ο αλγόριθμος αν  πάρει τις περιπτώσεις των κατηγοριών και στη τελευταία επιλογή "Αλλιώς" να πάρει  τη Κατηγορία του ολόκληρου εισιτηρίου?? Δηλαδή είναι περιττό (με την έννοια ότι δεν χρειάζεται στα πλαίσια της εξεταστέας ύλης) να μην πάρουμε την περίπτωση,  που κάποιος πληκτρολογήσει λάθος σύμβολο τι θα κάνει ο αλγόριθμος??? Η άσκηση δεν το λέει και δεν το διευκρινίζει , εμείς όμως? Οφείλουμε να εξηγήσουμε και αυτή τη περίπτωση στα παιδιά?
Τίτλος: Απ: ΑΣΚΗΣΗ ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
Αποστολή από: petrosp13 στις 06 Οκτ 2013, 08:34:27 ΜΜ
Δεν χρειάζεται να κάνεις οτιδήποτε που δεν το λαμβάνει υπόψιν η εκφώνηση
Εφόσον η εκφώνηση δεν λέει να ελέγξεις την είσοδο του χρήστη, δεν θα το κάνεις
Και είναι προτιμότερος ο έλεγχος εγκυρότητας με δομή επανάληψης...
Τίτλος: Απ: ΑΣΚΗΣΗ ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
Αποστολή από: dionmiha στις 06 Οκτ 2013, 09:34:09 ΜΜ
Απλά ξέρεις τι γίνεται? Υπάρχουν κάποιες εκφωνήσεις που βλέπω να αφήνουν, ας το πούμε  "προγραμματιστικά κενά".....Και πολλές φορες μπαίνω σε ανάλογες σκέψεις,  εκτός του πως θα λυθεί, αλλά και κατά πόσο πρέπει να αναλύσω μια άσκηση για τις ανάγκες της ύλης του Λυκείου για να μην αφήσω κενά. Πρώτη φορά διδάσκω το μάθημα οπότε καταλαβαίνεις....Άγχος!!  :D

Ευχαριστώ και πάλι!
Τίτλος: Απ: ΑΣΚΗΣΗ ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
Αποστολή από: tdrivas στις 06 Οκτ 2013, 11:04:43 ΜΜ
Στις εξετάσεις η άσκηση θα ορίζει ότι τα δεδομένα εισόδου είτε πληκτρολογούνται σωστά, είτε πρέπει να ελεγχθούν...