GEO 6702: RESEARCH METHODS IN HUMAN GEOGRAPHY · • α εστιάσει σε...

30
Εισαγωγή Νίκος Αθανάσης e-mail: [email protected] ΓΕ0170 -Αλγόριθμοι και Προηγμένες Προγραμματικές Τεχνικές

Transcript of GEO 6702: RESEARCH METHODS IN HUMAN GEOGRAPHY · • α εστιάσει σε...

Page 1: GEO 6702: RESEARCH METHODS IN HUMAN GEOGRAPHY · • α εστιάσει σε τεχνολογίες σχεδιασμού και υλοποίησης εφαρμογών λογισμικού

Εισαγωγή

Νίκος Αθανάσης

e-mail: [email protected]

ΓΕ0170 -Αλγόριθμοι και Προηγμένες

Προγραμματικές Τεχνικές

Page 2: GEO 6702: RESEARCH METHODS IN HUMAN GEOGRAPHY · • α εστιάσει σε τεχνολογίες σχεδιασμού και υλοποίησης εφαρμογών λογισμικού

Συνοπτικά

• Σκοπός του μαθήματος

• Στόχοι του μαθήματος

• Αντικείμενο του μαθήματος

• Κανονισμός του μαθήματος

• Εισαγωγικές έννοιες

Page 3: GEO 6702: RESEARCH METHODS IN HUMAN GEOGRAPHY · • α εστιάσει σε τεχνολογίες σχεδιασμού και υλοποίησης εφαρμογών λογισμικού

Σκοπός του μαθήματος

• Να εισάγει έννοιες και τεχνικές που σχετίζονται με το πεδίο των Αλγορίθμων

• Να εστιάσει σε τεχνολογίες σχεδιασμού και υλοποίησης εφαρμογών λογισμικού

• Να διδάξει μεθοδολογίες για την ανάπτυξη εφαρμογών λογισμικού, οι οποίες απαιτούν κατανόηση και δυνατότητα συγγραφής προγραμμάτων σε επίπεδο ανώτερο από το εισαγωγικό

• Να παρουσιάσει δεξιότητες για τη χρήση συγκεκριμένων αρχιτεκτονικών λύσεων στο σχεδιασμό λογισμικού μέσα από αξιοποίηση ποικίλων Δομών Δεδομένων

Page 4: GEO 6702: RESEARCH METHODS IN HUMAN GEOGRAPHY · • α εστιάσει σε τεχνολογίες σχεδιασμού και υλοποίησης εφαρμογών λογισμικού

Σκοπός του μαθήματος

• Να διδάξει μεθοδολογίες για τη διεξαγωγή έρευνας στον τομέα των Αλγορίθμων και της Ανάπτυξης Λογισμικού μέσα από την εκμάθηση σύγχρονων γλωσσών προγραμματισμού όπως η Python

• Να μπορέσουν οι φοιτητές να υλοποιήσουν πλήθος από πραγματικές εφαρμογές που «τρέχουν» σε ένα σύγχρονο προγραμματιστικό περιβάλλον και συγκεντρώνουν τη λειτουργικότητα που παρέχεται από ένα φάσμα διαφορετικών APIs

Page 5: GEO 6702: RESEARCH METHODS IN HUMAN GEOGRAPHY · • α εστιάσει σε τεχνολογίες σχεδιασμού και υλοποίησης εφαρμογών λογισμικού

Στόχοι του μαθήματος

Στο τέλος του εξαμήνου, θα είστε σε θέση να:

• Κατανοείτε βασικές αλγοριθμικές δομές και να αναπτύσσετε ολοκληρωμένα προγράμματα

• Αναλύετε ένα μεγάλο πλήθος αλγορίθμων μέσα από τη γλώσσα προγραμματισμού Python

• Αξιοποιείτε εργαλεία από ποικίλα προγραμματιστικά περιβάλλοντα για την ανάπτυξη εξειδικευμένων εφαρμογών λογισμικού

Page 6: GEO 6702: RESEARCH METHODS IN HUMAN GEOGRAPHY · • α εστιάσει σε τεχνολογίες σχεδιασμού και υλοποίησης εφαρμογών λογισμικού

Αντικείμενο του μαθήματος

• Αντικειμενοστραφής Προγραμματισμός και

τεχνικές ανάπτυξης αλγορίθμων με τη γλώσσα

Python

• Πολυπλοκότητα Αλγορίθμων

• Η προγραμματιστική τεχνική της Αναδρομής

• Συλλογές και πίνακες

• Προγραμματιστικές Τεχνικές και Δομές

Δεδομένων Ι (Ουρά, Στοίβες, Συνδεδεμένες

Λίστες)

Page 7: GEO 6702: RESEARCH METHODS IN HUMAN GEOGRAPHY · • α εστιάσει σε τεχνολογίες σχεδιασμού και υλοποίησης εφαρμογών λογισμικού

Αντικείμενο του μαθήματος

• Δυαδικά Δένδρα

• Αλγόριθμοι Αναζήτησης

• Αλγόριθμοι Ταξινόμησης

• Προηγμένες Προγραμματιστικές Τεχνικές

(Άπληστη Μέθοδος, Διαίρει και Βασίλευε,

Δυναμικός Προγραμματισμό, Οπισθοδρόμηση,

Τοποθέτηση 8 Βασιλισσών, Περιοδεύων Πωλητής

• Προγραμματιστικές Τεχνικές και Διαλειτουργικά

Προγραμματιστικά Περιβάλλοντα

Page 8: GEO 6702: RESEARCH METHODS IN HUMAN GEOGRAPHY · • α εστιάσει σε τεχνολογίες σχεδιασμού και υλοποίησης εφαρμογών λογισμικού

Κανονισμός του μαθήματος

• 10% Συμμετοχή

• 20% Πρόοδος

• 25% Ατομική εργασία

• 45% Τελική εξέταση

• Μέγιστος αριθμός απουσιών = 3

Page 9: GEO 6702: RESEARCH METHODS IN HUMAN GEOGRAPHY · • α εστιάσει σε τεχνολογίες σχεδιασμού και υλοποίησης εφαρμογών λογισμικού

Βιβλιογραφία

• Τσίχλας, Κ., Γούναρης, Α., Μανωλόπουλος, Ι. Σχεδίαση

και ανάλυση αλγορίθμων, ISBN 978-960-603-465-7

• Γεωργιάδης, Λ., Νικολόπουλος, Σ., Παληός, Λ. Δομές

δεδομένων. ISBN 978-960-603-477-0

• ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΣΤΟ ΔΙΑΔΙΚΤΥΟ,

Κωδικός Βιβλίου στον Εύδοξο: 320302

• ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ: ΘΕΩΡΙΑ ΚΑΙ ΠΡΑΞΗ,

Κωδικός Βιβλίου στον Εύδοξο: 13009253

Page 10: GEO 6702: RESEARCH METHODS IN HUMAN GEOGRAPHY · • α εστιάσει σε τεχνολογίες σχεδιασμού και υλοποίησης εφαρμογών λογισμικού

Η έννοια του αλγορίθμου

• Αποτελεί την πρώτη ύλη για την εμβάθυνση στα

επιμέρους αντικείμενα Θεωρητικής Πληροφορικής

– Γλώσσες και Αυτόματα

– Υπολογιστική Πολυπλοκότητα

– Κρυπτογραφία

• Βασικές γνωστικές περιοχές της Πληροφορικής

– Βάσεις Δεδομένων

– Δίκτυα

– Επεξεργασία Εικόνας

– Τεχνητή Νοημοσύνη

– Παγκόσμιο Ιστός

Page 11: GEO 6702: RESEARCH METHODS IN HUMAN GEOGRAPHY · • α εστιάσει σε τεχνολογίες σχεδιασμού και υλοποίησης εφαρμογών λογισμικού

Η έννοια του αλγορίθμου

• Προέρχεται από το όνομα του Πέρση μαθηματικού Abu

Ja’far Mohammed ibn Musa al Khowarizmi, που έζησε

τον 9ο αιώνα μ.Χ.

• Η λέξη «al Khowarizmi» σημαίνει «από το

Khowarazm», που είναι η σημερινή πόλη Khiva του

Ουζμπεκιστάν.

Page 12: GEO 6702: RESEARCH METHODS IN HUMAN GEOGRAPHY · • α εστιάσει σε τεχνολογίες σχεδιασμού και υλοποίησης εφαρμογών λογισμικού

Αλγόριθμοι στην Αρχαιότητα

• Κόσκινο του Ερατοσθένη για την

εύρεση πρώτων αριθμών

• Μέθοδο του Ευκλείδη για την

εύρεση του μέγιστου κοινού

διαιρέτη δύο αριθμών

Page 13: GEO 6702: RESEARCH METHODS IN HUMAN GEOGRAPHY · • α εστιάσει σε τεχνολογίες σχεδιασμού και υλοποίησης εφαρμογών λογισμικού

Η έννοια του αλγορίθμου

• Κάθε ενέργεια στην καθημερινή μας ζωή

μπορεί να χαρακτηρισθεί ως αλγόριθμος

– Μία συνταγή μαγειρικής

– Η διαδικασία ανάληψης χρημάτων από μία

αυτόματη ταμειακή μηχανή σε μία τράπεζα,

– Η διαδικασία πολλαπλασιασμού δύο ακεραίων

Page 14: GEO 6702: RESEARCH METHODS IN HUMAN GEOGRAPHY · • α εστιάσει σε τεχνολογίες σχεδιασμού και υλοποίησης εφαρμογών λογισμικού

Η έννοια του αλγορίθμου

• Αλγόριθμος είναι ένα πεπερασμένο σύνολο εντολών,

αυστηρά καθορισμένων και εκτελέσιμων σε

πεπερασμένο χρόνο, οι οποίες όταν ακολουθηθούν

επιτυγχάνεται ένα επιθυμητό αποτέλεσμα ή επιλύεται

ένα συγκεκριμένο πρόβλημα.

• Ο όρος αυτός χρησιμοποιείται, για να δηλώσει ένα

συγκεκριμένο σύνολο βημάτων-ενεργειών για την

επίλυση προβλημάτων

Page 15: GEO 6702: RESEARCH METHODS IN HUMAN GEOGRAPHY · • α εστιάσει σε τεχνολογίες σχεδιασμού και υλοποίησης εφαρμογών λογισμικού

Κριτήρια Αλγορίθμων

• Είσοδος (input). Καμία, μία ή περισσότερες

ποσότητες να δίνονται ως είσοδοι στον αλγόριθμο.

• Έξοδος (output). Ο αλγόριθμος να δημιουργεί

τουλάχιστον μία ποσότητα ως αποτέλεσμα.

• Καθοριστικότητα (definiteness). Κάθε εντολή να

καθορίζεται χωρίς καμία αμφιβολία για τον τρόπο

εκτέλεσής της. Δηλαδή η μηχανή επεξεργασίας

δεδομένων που θα κλιθεί να τη διεκπεραιώσει να

καταλάβει τι ζητάμε να γίνει. Μπορούμε να το

συνδέσουμε με τη σωστή σύνταξη.

Page 16: GEO 6702: RESEARCH METHODS IN HUMAN GEOGRAPHY · • α εστιάσει σε τεχνολογίες σχεδιασμού και υλοποίησης εφαρμογών λογισμικού

Κριτήρια Αλγορίθμων

• Περατότητα (finiteness). Ο αλγόριθμος να

τελειώνει μετά από πεπερασμένα βήματα

εκτέλεσης των εντολών του.

Page 17: GEO 6702: RESEARCH METHODS IN HUMAN GEOGRAPHY · • α εστιάσει σε τεχνολογίες σχεδιασμού και υλοποίησης εφαρμογών λογισμικού

Κριτήρια Αλγορίθμων

• Αποτελεσματικότητα (effectiveness). Κάθε μεμονωμένη

εντολή του αλγορίθμου να είναι επαρκώς απλή, έτσι ώστε

να μπορεί να εκτελεστεί από ένα άτομο με χρήση χαρτιού

και μολυβιού.

• Δεν αρκεί δηλαδή να είναι ορισμένη (κριτήριο 3), αλλά

πρέπει να είναι και εκτελέσιμη.

• Η αποτελεσματικότητα έχει να κάνει με την

εκτελεσιμότητα. Αν εκτελείται μια σαφώς ορισμένη

εντολή. Για παράδειγμα στην εντολή x=1/y όπου ψ=0, το

πρόγραμμα καταλαβαίνει τι πρέπει να κάνει, αλλά δεν

μπορεί να το εκτελέσει. Άρα η εντολή είναι μη

αποτελεσματική γιατί δεν παράγει αποτέλεσμα.

Page 18: GEO 6702: RESEARCH METHODS IN HUMAN GEOGRAPHY · • α εστιάσει σε τεχνολογίες σχεδιασμού και υλοποίησης εφαρμογών λογισμικού

Η εξίσωση των Αλγορίθμων

• Από τον Niklaus Wirth (που παρουσίασε

την πρώτη δομημένη γλώσσα προ-

γραμματισμού, την Pascal) διατυπώθηκε το

1976 η εξής εξίσωση:

Αλγόριθμοι + Δομές Δεδομένων =

Προγράμματα

Page 19: GEO 6702: RESEARCH METHODS IN HUMAN GEOGRAPHY · • α εστιάσει σε τεχνολογίες σχεδιασμού και υλοποίησης εφαρμογών λογισμικού

Η εξίσωση των Αλγορίθμων

• Δηλώνει ότι οι αλγόριθμοι συνυφασμένοι

με τις απαραίτητες δομές σε μία

αδιάσπαστη ενότητα αποτελούν τη βάση

κάθε προγράμματος, ουσιαστικά δηλαδή τη

βάση κάθε εφαρμογής.

• Η ανάλυση των αλγορίθμων μπορεί να

διεκπεραιωθεί μόνο έχοντας στο υπόβαθρο

ότι οι αλγόριθμοι επενεργούν σε κάποιες

συγκεκριμένες δομές δεδομένων.

Page 20: GEO 6702: RESEARCH METHODS IN HUMAN GEOGRAPHY · • α εστιάσει σε τεχνολογίες σχεδιασμού και υλοποίησης εφαρμογών λογισμικού

Δομές Δεδομένων

• Ένα σύνολο αποθηκευμένων δεδομένων

που υφίστανται επεξεργασία από ένα

σύνολο λειτουργιών

• Στατικές Δομές Δεδομένων

• Δυναμικές Δομές Δεδομένων

Page 21: GEO 6702: RESEARCH METHODS IN HUMAN GEOGRAPHY · • α εστιάσει σε τεχνολογίες σχεδιασμού και υλοποίησης εφαρμογών λογισμικού

Στατικές δομές δεδομένων

• Το μέγεθος της μνήμης που απαιτείται

καθορίζεται από την αρχή του

προγραμματισμού και όχι κατά την

εκτέλεση του προγράμματος

• Στις στατικές δομές δεδομένων αφού

γνωρίζουμε εκ των προτέρων το μέγεθός

τους, τα στοιχεία αποθηκεύονται σε

συνεχόμενες θέσεις μνήμης

Page 22: GEO 6702: RESEARCH METHODS IN HUMAN GEOGRAPHY · • α εστιάσει σε τεχνολογίες σχεδιασμού και υλοποίησης εφαρμογών λογισμικού

Δυναμικές δομές δεδομένων

• Δεν έχουν σταθερό μέγεθος

• Ο αριθμός των κόμβων τους αυξομειώνεται

ανάλογα με το αν εισάγουμε ή διαγράφουμε

δεδομένα

• Δεν αποθηκεύονται σε συνεχόμενες θέσεις

μνήμης

Page 23: GEO 6702: RESEARCH METHODS IN HUMAN GEOGRAPHY · • α εστιάσει σε τεχνολογίες σχεδιασμού και υλοποίησης εφαρμογών λογισμικού

Αλγόριθμοι και Προγράμματα

• Η έννοια του αλγόριθμου δεν ταυτίζεται με την

έννοια του προγράμματος.

• Το δεύτερο είναι μία υλοποίηση του πρώτου με τη

βοήθεια των εντολών και των εργαλείων ενός

προγραμματιστικού περιβάλλοντος.

• Σε σχέση με τα ανωτέρω κριτήρια, ένα

πρόγραμμα δεν ικανοποιεί αναγκαστικά το 4ο

κριτήριο της περατότητας (για παράδειγμα, ένα

λειτουργικό σύστημα εκτελεί διαρκώς έναν

ατέρμονα βρόχο περιμένοντας εντολές να

εισέλθουν στο σύστημα).

Page 24: GEO 6702: RESEARCH METHODS IN HUMAN GEOGRAPHY · • α εστιάσει σε τεχνολογίες σχεδιασμού και υλοποίησης εφαρμογών λογισμικού

Τρόποι παρουσίασης των

αλγορίθμων • Με την περιγραφή του αλγόριθμου σε

φυσική γλώσσα (natural language)

• Με ελεύθερο κείμενο (free text). Μπορεί

να παραβιασθεί το τρίτο κριτήριο του

ορισμού.

• Με τη χρήση ενός διαγράμματος ροής

(flow chart).

• Με κωδικοποίηση (coding), δηλαδή με

ένα πρόγραμμα που, όταν εκτελεσθεί,

θα δώσει τα ίδια αποτελέσματα με τον

αλγόριθμο.

Page 25: GEO 6702: RESEARCH METHODS IN HUMAN GEOGRAPHY · • α εστιάσει σε τεχνολογίες σχεδιασμού και υλοποίησης εφαρμογών λογισμικού

Γλώσσα μηχανής Το πρόγραμμα περιέχει εντολές που είναι σε δυαδική μορφή, άμεσα

κατανοητή από τον Η/Υ (όχι όμως από τον άνθρωπο). Δηλαδή, το πρόγραμμα

αποτελείται από ακολουθίες 0 και 1 π.χ.

10101000 00001010

11000000 00000001

……………………

Πλεονεκτήματα :

Ταχύτατη εκτέλεση των εντολών.

Δεν απαιτείται μεταφραστικό πρόγραμμα.

Μειονεκτήματα :

Το γράψιμο του προγράμματος είναι μία ιδιαίτερα επίπονη και χρονοβόρα

διαδικασία.

Απαιτείται βαθιά γνώση της αρχιτεκτονικής του Η/Υ.

Το πρόγραμμα «τρέχει» μόνο στο συγκεκριμένο τύπο του Η/Υ.

Page 26: GEO 6702: RESEARCH METHODS IN HUMAN GEOGRAPHY · • α εστιάσει σε τεχνολογίες σχεδιασμού και υλοποίησης εφαρμογών λογισμικού

Γλώσσες χαμηλού επιπέδου ή

Συμβολικές γλώσσες Οι εντολές που είναι σε μορφή 0 και 1 αντικαθίστανται από μνημονικά (συμβολικά) ονόματα. Για παράδειγμα,

η εντολή 100001100 αντικαθίστανται από το ADD. Ένα δείγμα χρήσης θα ήταν :

INDEX =$01 {βάλε στην INDEX την τιμή 1}

ADD INDEX {πρόσθεσε την τιμή της INDEX στον συσσωρευτή}

LDA #10 {φόρτωσε στο συσσωρευτή την τιμή 10}

CLA {καθάρισε το συσσωρευτή}

………………..

Πλεονεκτήματα :

Ταχύτατη εκτέλεση των εντολών.

Η μορφή του προγράμματος είναι καλύτερα κατανοητή από τον άνθρωπο σε σχέση με τη γλώσσα

μηχανής.

Μειονεκτήματα :

Η αντιστοιχία 1 προς 1 με τις εντολές της γλώσσας παρέμενε.

Απαιτείται η χρήση ενός μεταφραστικού προγράμματος ώστε οι συμβολικές εντολές να μετατραπούν στις

αντίστοιχες δυαδικές. Το ειδικό αυτό πρόγραμμα ονομάζεται συμβολομεταφραστής (assembler).

Το γράψιμο του προγράμματος εξακολουθεί να είναι μία ιδιαίτερα επίπονη και χρονοβόρα διαδικασία.

Απαιτείται βαθιά γνώση της αρχιτεκτονικής του Η/Υ.

Το πρόγραμμα «τρέχει» μόνο στο συγκεκριμένο τύπο του Η/Υ.

Page 27: GEO 6702: RESEARCH METHODS IN HUMAN GEOGRAPHY · • α εστιάσει σε τεχνολογίες σχεδιασμού και υλοποίησης εφαρμογών λογισμικού

Γλώσσες υψηλού επιπέδου Λέγονται έτσι διότι τα προγράμματα διατυπωμένα σε μία τέτοια γλώσσα είναι άμεσα κατανοητά από τον άνθρωπο

(αλλά όχι από τον Η/Υ) αφού χρησιμοποιείται μία γλώσσα που είναι αρκετά περιγραφική όπως μία φυσική γλώσσα.

Παράδειγμα,

INPUT “Δώσε την τελική τιμή’’ ; N

SUM = 0

For INDEX = 1 to N

SUM = SUM + INDEX

Next

Πλεονεκτήματα :

Η μορφή του προγράμματος είναι εύκολα κατανοητή από τον άνθρωπο σε σχέση με τη γλώσσα μηχανής ή τη

συμβολική γλώσσα.

Το γράψιμο του προγράμματος δεν είναι πλέον μία ιδιαίτερα επίπονη και χρονοβόρα διαδικασία όπως συμβαίνει με

τη γλώσσα μηχανής ή τη συμβολική γλώσσα.

Δεν απαιτείται σχεδόν καμία γνώση της αρχιτεκτονικής του Η/Υ. Συνεπώς, είναι ανεξάρτητα από την

αρχιτεκτονική του Η/Υ.

Το πρόγραμμα «τρέχει» σε όλους τους τύπους Η/Υ αρκεί να υπάρχει το κατάλληλο μεταφραστικό πρόγραμμα.

Συνεπώς ένα χαρακτηριστικό τους είναι η μεταφερσιμότητα, δηλαδή ένα πρόγραμμα υψηλού επιπέδου να

εκτελείται, με ελάχιστες μετατροπές, σε πολλούς τύπους Η/Υ.

Η εκμάθηση της γλώσσας είναι εύκολη.

Η διόρθωση λαθών και η συντήρηση των προγραμμάτων είναι ευκολότερη.

Μειονεκτήματα :

Απαιτείται η χρήση ενός μεταφραστικού προγράμματος ώστε οι εντολές να μετατραπούν σε πολλές δυαδικές

εντολές (δεν έχουμε εδώ αντιστοιχία 1 προς 1). Έχουμε δύο ειδών μεταφραστικά προγράμματα: τους

μεταγλωττιστές (compilers) και τους διερμηνείς (interpreters).

Το πρόγραμμα «τρέχει» πιο αργά σε σχέση με τα προγράμματα των συμβολικών γλωσσών ή της γλώσσας

μηχανής.

Page 28: GEO 6702: RESEARCH METHODS IN HUMAN GEOGRAPHY · • α εστιάσει σε τεχνολογίες σχεδιασμού και υλοποίησης εφαρμογών λογισμικού

Μεταφραστικά Προγράμματα

• Ο προγραμματισμός είναι η διατύπωση του αλγορίθμου

σε μορφή κατανοητή από τον Η/Υ ώστε να τον εκτελέσει

(«τρέξει» όπως λέμε στην ορολογία της Πληροφορικής).

• Ένα πρόγραμμα που φτιάχνεται σε μία γλώσσα υψηλού

επιπέδου δεν είναι άμεσα κατανοητό από τον Η/Υ.

• Θα πρέπει να μεταφραστεί σε ισοδύναμο πρόγραμμα σε

γλώσσα μηχανής (δυαδική μορφή). Την διαδικασία

μετάφρασης την πραγματοποιούν τα μεταφραστικά

προγράμματα. Είναι δύο ειδών:

– Μεταγλωττιστές (Compilers)

– Διερμηνευτές (Interpreters)

Page 29: GEO 6702: RESEARCH METHODS IN HUMAN GEOGRAPHY · • α εστιάσει σε τεχνολογίες σχεδιασμού και υλοποίησης εφαρμογών λογισμικού

Μεταφραστικά Προγράμματα

• Μεταγλωττιστής : Παίρνει, ως είσοδο, το πηγαίο

πρόγραμμα και αναλαμβάνει να το μεταφράσει εξ’

ολοκλήρου παράγοντας το αντικείμενο πρόγραμμα.

Page 30: GEO 6702: RESEARCH METHODS IN HUMAN GEOGRAPHY · • α εστιάσει σε τεχνολογίες σχεδιασμού και υλοποίησης εφαρμογών λογισμικού

Μεταφραστικά Προγράμματα

• Διερμηνευτής : Παίρνει, ως είσοδο, μία-μία εντολή του

πηγαίου, την μεταφράζει και την εκτελεί αμέσως. Η

λειτουργία του μοιάζει με τον άνθρωπο-διερμηνέα που

μεταφράζει επί τόπου κάθε πρόταση.