el:school:lessons:programmatismos:pascal:askisi6_epiloges_case_char
Άσκηση 6 - Επιλογές - case
Μεταξύ άλλων μέχρι στιγμής έχουμε δει μεταβλητές τύπου string και integer και πως ελέγχουμε αν ισχύει ή όχι κάτι με την if .. then .. else (2 περιπτώσεις).
Στην νέα άσκηση θα δούμε επιπλέον τα εξής :
Κάθε πρόγραμμα κάνει αρκετά πράγματα. Θα φτιάξουμε λοιπόν το πρώτο μας μενού επιλογών.
ΔΗΜΙΟΥΡΓΙΑ ΕΡΓΟΥ : Θα δημιουργήσουμε το νέο έργο epiloges
ΕΝΤΟΛΕΣ
Το μενού μας θα είναι ως εξής :
1. Διαίρεση Ακεραίων
2. Διαίρεση Πραγματικών
3. Μονά/Ζυγά
0. Έξοδος
Φτιάξτε το με εντολές εμφάνισης στην Οθόνη που γνωρίζετε.
Αφήστε μία κενή γραμμή με μια writeln(' '); και ζητήστε από τον χρήστη να εισάγει επιλογή εμφανίζοντάς του στην Οθόνη το κατάλληλο μήνυμα.
Διαβάστε ότι έγραψε ο χρήστης και αποθηκεύστε το σε μια μεταβλητή π.χ. epilogi (Τι τύπου είναι; Δηλώστε την..)
Τώρα θα εισάγουμε τον κώδικα που θα χρησιμοποιήσει την τιμή της μεταβλητής
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
ΠΡΟΣΘΗΚΗ 1
Χειριζόμαστε τις τιμές 1,2,3,0. Τι θα γίνει όμως αν ο χρήστης επιλέξει π.χ. 5; Εκτελέστε το πρόγραμμα και δώστε σαν χρήστης επιλογή 5.
Το πρόγραμμα δεν πήγε σε καμία από τις περιπτώσεις 1,2,3,0 και δεν εμφάνισε κανένα μήνυμα. Λογικό. Θα ήταν πιο ωραίο να εμφανιζόταν ένα μήνυμα π.χ. Λάθος επιλογή. Πάνω από την end λοιπόν βάλτε else writeln('Λάθος επιλογή'); και ξαναμεταγλωττίστε και εκτελέστε. Καλύτερο;
ΠΡΟΣΘΗΚΗ 2
Πολλές φορές θέλουμε η έξοδος να γίνεται από κάποιο γράμμα π.χ. q από το quit (παραιτούμαι) ή x από το exit και όχι το 0.
Όμως ορίσαμε την μεταβλητή epilogi ως integer να λαμβάνει δηλαδή ακεραίους. H case δέχεται και μοναδικούς χαρακτήρες που δηλώνονται ως char
Αλλάξτε την δήλωση της μεταβλητής epilogi ώστε να είναι char (ένας μόνο χαρακτήρας).
Αλλάξτε επίσης μέσα στην case τα 1, 2, 3 σε '1', '2', '3' γιατί τώρα τα χρησιμοποιούμε ως χαρακτήρες. Αλλάξτε επίσης το 0 σε 'x'
el/school/lessons/programmatismos/pascal/askisi6_epiloges_case_char.txt · Last modified: Y/m/d H:i by vagk