ΚΕΦΑΛΑΙΟ 10

ΕΝΤΟΛΕΣ ΕΠΙΛΟΓΗΣ ΚΑΙ ΑΠΟΦΑΣΕΩΝ Ή ΕΝΤΟΛΕΣ ΕΛΕΓΧΟΥ

ΕΝΤΟΛΗ CASE

 

H Πρόταση Ελέγχου   CASE   
 

Παίζει τον ρόλο των πολλών IF,  από τις οποίες θα εκτελεστεί μόνο η μία
 

Πρόγραμμα
 

Program P4;

Var c : char;

 

Begin  

 

Write('Dose a,b or c:');  

Readln(c);

 

case c of
    'a':  

    writeln('alpha');  

    'b':  

    writeln('beta');  

    'c':  

    writeln('gamma');  

End;  

 

End.

 

 

ΛΟΓΙΚΟ ΔΙΑΓΡΑΜΜΑ

 

 

 

 

Εντολές Ελέγχου CASE

1

Case  x  of

   1,2,3 : writeln(‘A’);

   4,5   : writeln(‘B’);

   6     : writeln(‘Γ’);

else

   writeln(‘Δεν ξέρω’);

end;

Στην περίπτωση που το x είναι

1 ή 2 ή 3 τότε τύπωσε το ‘Α’

4 ή 5 τότε τύπωσε το ‘Β’

6 τότε τύπωσε το ‘Γ’

αλλιώς τύπωσε ‘Δεν ξέρω’

 

Η εντολή case τελειώνει με ένα end;

Η εντολή πριν από το else του case δέχεται ερωτηματικό (;).

 

 

 

 

2

Case   x   of

    'A'..'Z', 'a' .. 'z': writeln('Γράμμα');

    '0' .. '9' :writeln('Αριθμός');

else

    writeln('Δεν γνωρίζω');

end;

 

Στην περίπτωση που το x είναι

γράμμα μικρό ή κεφαλαίο τότε τύπωσε ‘Γράμμα’

από 0 έως 9  τότε τύπωσε το ‘Αριθμός’

αλλιώς τύπωσε ‘Δεν γνωρίζω’

 

 

Η έκφραση 1 ... 15 σημαίνει από το 1 έως το 15

 

 

 

Παράδειγμα 1

 

Program Arithmos;

var T:integer;

 

Begin

write('Δώσε αριθμό: ');

readln(T);

 

case T of

1: writeln('Ένα');

2: writeln('Δύο');

3: writeln('Τρία');

4: writeln('Τέσσερα');

5: writeln('Πέντε');

else

writeln('Λάθος Αριθμός');

end;

 

End.

 

Να δίνονται από το πληκτρολόγιο αριθμοί από το 1 έως και το 5 και να μας τυπώνει ο Η/Υ τον αριθμό ολογράφως δηλαδή πληκτρολογώντας 1 να μας τυπώνει Ένα. Για οποιοδήποτε άλλο χαρακτήρα να μας τυπώνει «Λάθος Αριθμός»

 

 

Παράδειγμα 2

 

Program Hxos;

uses crt;

var bip: byte;

 

Begin

clrscr;

writeln('Δώσε τον αριθμό των Bip :');

readln(bip);

 

case bip of

1,2,3 : writeln('Μνήμη');

4,5,6,7 : writeln('Κύρια κάρτα');

8 : writeln('Κάρτα γραφικών');

 

else

writeln('Δεν γνωρίζω');

end;

 

End.

 

Εισάγουμε από το πληκτρολόγιο τον αριθμό των bip που ακούμε από τον Η/Υ όταν υπάρχει κάποιο πρόβλημα.

Ο αριθμός αποθηκεύεται στην μεταβλητή bip τύπου byte. Αν ο αριθμός είναι 1, 2 ή 3 θα τυποθεί το μήνυμα Μνήμη. Αν είναι 4, 5, 6, ή 7 θα τυπωθεί Κύρια κάρτα. Αν είναι 8 θα τυπωθεί Κάρτα γραφικών και για οποιαδήποτε άλλη τιμή θα τυπωθεί Δεν γνωρίζω.

 

ΠΡΟΣΟΧΗ: Η case κλείνει με την εντολή end;

 

 

 

Παράδειγμα 3

 

Δημιουργήστε ένα πρόγραμμα με το οποίο θα εισάγουμε έναν χαρακτήρα ο οποίος θα αποθηκεύεται στην μεταβλητή x. Ο υπολογιστής στην συνέχεια θα μας τυπώνει στην οθόνη το αντίστοιχο μήνυμα με βάση τον παρακάτω πίνακα:

 

ΧΑΡΑΚΤΗΡΑΣ

ΜΗΝΥΜΑ

a, b, c

Γράμμα

1,2,3,4

Αριθμός

+, *, -, /

Σύμβολο

Οτιδήποτε άλλο

Δεν Γνωρίζω

 

Χρησιμοποιήστε την εντολή case

 

Program Akereoi_Ariumoi;

 var x:char;

 

 begin

 Write('Δώσε ένα χαρακτήρα ');

 readln(x);

 

 case x of

 'a', 'b', 'c': writeln( 'Γράμμα');

 '1', '2', '3', '4' : writeln('Αριθμός');

 '+', '-', '*', ‘/’ : writeln('Σύμβολο');

 else

 writeln( 'Δεν Γνωρίζω');

 end;

 

 end.

 

 

Παράδειγμα 4

 

Program Grammata;

uses crt;

var X:char;

 

Begin

clrscr;

writeln('Δώσε το αρχικό γράμμα :');

readln(X);

 

case X of

'P' : writeln('Petros');

'X' : writeln('Xristina');

'N' : writeln('Nikos');

'A' : writeln('Anna');

'G' : writeln('Giorgos');

else

writeln('Δεν γνωρίζω');

end;

 

End.

 

 

Δίνουμε από το πληκτρολόγιο ένα χαρακτήρα και μας τυπώνει ο Η/Υ το όνομα που αρχίζει από αυτόν τον χαρακτήρα. Για οποιοδήποτε άλλο χαρακτήρα μας τυπώνει «Δεν γνωρίζω»

 

 

 

Παράδειγμα 5

 

Program Demo1;

var x:char;

 

begin

 

writeln('Δώσε ένα χαρακτήρα:');

 readln(x);

 

    case   x   of

    'A'..'Z', 'a' .. 'z': writeln('Γράμμα');

    '0' .. '9' :writeln('Αριθμός');

    else

    writeln('Δεν γνωρίζω');

    end;

 

end.

 

 

Δίνουμε από το πληκτρολόγιο ένα χαρακτήρα και μας τυπώνει ο Η/Υ το μήνυμα «Γράμμα» αν είναι γράμμα κεφαλαίο ή μικρό, τυπώνει Αριθμός αν είναι μεταξύ 0 έως 9 και «Δεν γνωρίζω» για οποιοδήποτε άλλο χαρακτήρα.