Άσκηση 6 - Επιλογές - case

  1. ΔΗΜΙΟΥΡΓΙΑ ΕΡΓΟΥ : Θα δημιουργήσουμε το νέο έργο epiloges
    • Κάνουμε όμοιες ενέργειες όπως στην Άσκηση1, όπου hello τώρα ο τίτλος είναι epiloges
  2. ΕΝΤΟΛΕΣ
    • Το μενού μας θα είναι ως εξής :
        1. Διαίρεση Ακεραίων
        2. Διαίρεση Πραγματικών
        3. Μονά/Ζυγά
        0. Έξοδος
    1. Φτιάξτε το με εντολές εμφάνισης στην Οθόνη που γνωρίζετε.
    2. Αφήστε μία κενή γραμμή με μια writeln(' '); και ζητήστε από τον χρήστη να εισάγει επιλογή εμφανίζοντάς του στην Οθόνη το κατάλληλο μήνυμα.
    3. Διαβάστε ότι έγραψε ο χρήστης και αποθηκεύστε το σε μια μεταβλητή π.χ. epilogi (Τι τύπου είναι; Δηλώστε την..)
    4. Τώρα θα εισάγουμε τον κώδικα που θα χρησιμοποιήσει την τιμή της μεταβλητής epilogi και θα κάνει 4 διαφορετικά πράγματα.
        case epilogi of
           1: writeln('**ΔΙΑΙΡΕΣΗ ΑΚΕΡΑΙΩΝ**');
           2: writeln('**ΔΙΑΙΡΕΣΗ ΠΡΑΓΜΑΤΙΚΩΝ**');
           3: writeln('**ΜΟΝΑ/ΖΥΓΑ**');
           0: writeln('Γεια..');
        end  {case}
    • Η εντολή case λειτουργεί ως εξής. Όταν η τιμή της μεταβλητής είναι 1 θα εκτελέσει την εντολή δίπλα, δηλαδή writeln('*Διαίρεση Ακεραίων*');. Όταν είναι 2 αντίστοιχα κτλ
    • Μετά το end έχουμε βάλει σε σχόλια {case} για να θυμόμαστε ότι είναι το τέλος της case.
    • Η απλή σύνταξη της case είναι λοιπόν η εξής:
        case {μεταβλητή} of
           {τιμή μεταβλητής}: {εντολή ή εντολές μέσα σε begin .. end} 
           {άλλη τιμή μεταβλητής}: {εντολή ή εντολές μέσα σε begin .. end} 
        end  
  3. ΠΡΟΣΘΗΚΗ 1
    1. Χειριζόμαστε τις τιμές 1,2,3,0. Τι θα γίνει όμως αν ο χρήστης επιλέξει π.χ. 5; Εκτελέστε το πρόγραμμα και δώστε σαν χρήστης επιλογή 5.
    2. Το πρόγραμμα δεν πήγε σε καμία από τις περιπτώσεις 1,2,3,0 και δεν εμφάνισε κανένα μήνυμα. Λογικό. Θα ήταν πιο ωραίο να εμφανιζόταν ένα μήνυμα π.χ. Λάθος επιλογή. Πάνω από την end λοιπόν βάλτε else writeln('Λάθος επιλογή'); και ξαναμεταγλωττίστε και εκτελέστε. Καλύτερο;
  4. ΠΡΟΣΘΗΚΗ 2
    • Πολλές φορές θέλουμε η έξοδος να γίνεται από κάποιο γράμμα π.χ. q από το quit (παραιτούμαι) ή x από το exit και όχι το 0.
    • Όμως ορίσαμε την μεταβλητή epilogi ως integer να λαμβάνει δηλαδή ακεραίους. H case δέχεται και μοναδικούς χαρακτήρες που δηλώνονται ως char
    1. Αλλάξτε την δήλωση της μεταβλητής epilogi ώστε να είναι char (ένας μόνο χαρακτήρας).
    2. Αλλάξτε επίσης μέσα στην case τα 1, 2, 3 σε '1', '2', '3' γιατί τώρα τα χρησιμοποιούμε ως χαρακτήρες. Αλλάξτε επίσης το 0 σε 'x'