Παρουσίαση/Προβολή
(3701020423) - ΑΠΟΣΤΟΛΟΣ ΣΥΡΟΠΟΥΛΟΣ
Περιγραφή Μαθήματος
Πως μπορούμε να τυπώσουμε το αγγλικό ή το ελληνικό αλφάβητο σε μία αράδα;
Ημερομηνία δημιουργίας
Παρασκευή 22 Ιανουαρίου 2021
-
Περίγραμμα
Προγράμματα σε Python που τυπώνουν αλφάβητα
Ένα απλό αλλά και ενδιαφέρον πρόβλημα είναι η εκτύπωση ενός αλφάβητου χρησιμοποιώντας την γλώσσα προγραμματισμού Python. Αρχικά πρέπει να θυμήσω πως σε κάθε λειτουργικό σύστημα ένας χαρακτήρας αναπαριστάνεται με έναν αριθμό. Επειδή πλέον όλα τα λειτουργικά συστήματα υποστηρίζουν το πρότυπο Unicode, για την Python 3 ο κάθε χαρακτήρας είναι ένας χαρακτήρας Unicode.
Για να λύσουμε το πρόβλημα μας θα χρησιμοποιήσουμε δύο συναρτήσεις της γλώσας: τη συνάρτηση ord και την συνάρτηση chr. Η συνάρτηση ord παίρνει ως όρισμα έναν χαρακτήρα και επιστρέφει τον αριθμό με τον οποίο αναπαριστάνεται στο πρότυπο Unicode ο χαρακτήρας αυτός. Την αντίθετη δουλειά κάνει η συνάρτηση chr: Παίρνει ως όρισμα έναν αριθμό ο οποίος είναι αναπαράσταση κάποιου χαρακτήρα και επιστρέφει αυτόν τον χαρακτήρα. Ο παρακάτω κώδικας δείχνει ακριβώς αυτή τη σχεση των δύο συναρησεων.

Ο παρακάτω κώδικας δείχνει πως μπορούμε να τυπώσουμε το αγγλικό αλφάβητο:
Το όρισμα end="" καθορίζει το τι θα τυπωθεί αφού τυπωθούν τα προηγούμενα ορίσματα της συνάρτησης. Το παρακάτω παράδειγμα κάνει σαφές τον ρόλο του ορίσματος αυτού:
Φυσικά, αν είχαμε βάλει κάποιον χαρακτήρα ή μία λέξη, αυτή θα εμφανιζόταν μετά το A. Ας δούμε τώρα πως θα μπορούσαμε να τυπώσουμε το ελληνικό αλφάβητο. Η προφανής λύση είναι η ακόλουθη:

Εδώ βλέπουμε πως μπορούμε να χρησιμοποιήσουμε και μεταβλητές με ελληνικά γράμματα. Ας δούμε την έδοδο του προγράμματος.
Βλέπουμε πως τυπώθηκε και το τελικό σίγμα που προφανώς δεν το θέλουμε. Αυτό σημαίνει πως πρέπει να διορθώσουμε τον κώδικά μας. Ιδού ο διορθωμένος κώδικας:
ΑΣΚΗΣΕΙΣ
- Τροποιήστε τον παραπάνω κώδικα ώστε να τυπώνει τα ελληνικά κεφαλαία γράμματα. Υπόδειξη: Το κεφαλαίο Α αναπαριστάνεται με τον αριθμό 913 ενώ η θεση με αριθμό 930 είναι κενή.
- Τροποποήστε τον παραπάνω κώδικα ώστε να τυπώνει το ρωσικό αλφάβητο, Στην παρακάτω εικόνα φαίνεται το ρωσικό αλφάβητο:

Ο παρακάτω πίνακας περιέχει τα βασικά κυριλλικά γράμματα και τον δεκαεξαδικό αριθμό του κάθε γράμματος στο πρότυπο Unicode:

Για να μετατρέψετε ένα δεκαεξαδικό αριθμό σε δεκαδικό μπορείτε να χρησιμοποιήσετε το παρακάτω πρόγραμμα σε Python:
s = 0xhhhh
print(s)Στη μεταβλητή s αποθηκεύουμε τον δεκαδικό αριθμό που αντιστοιχεί στον δεκαεξαδικό αροιμό που έχει 4 ψηφία h. Αν για παράδειγμνα, θέλετε να μετατρέψετε τον δεκαεξαδικό αριθμό FFFF, τότε ο κώδικας πρέπει να τροποποιηθεί ως εξής:
s = 0xffff print(s)
Προσέξτε πως τα αλφαβητικά ψηφία του αριθμού γράφονται με πεζά γράμματα.