Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.
For the best experience please use the latest Chrome, Safari or Firefox browser.
Αφαίρεση
(abstraction)
Μια θεμελιώδης έννοια της πληροφορικής*
* και της σκέψης γενικότερα
Ο κόσμος που μας περιβάλλει είναι τρομερά
πολύπλοκος
Τι λάθος υπάρχει στο ανέκδοτο;
Μια κυρία, 45 ετών, ψηλή, λεπτή, μελαχρινή με καστανά μάτια και μαύρα μαλλιά, μπαίνει εκνευρισμένη σε ένα αρτοποιείο στην οδό Μεσολογγίου 45, στο Παγκράτι της Αθήνας στην Ελλάδα.
Κρατάει στα χέρια της μια φρατζόλα πολύσπορο ψωμί βάρους 450 γραμμαρίων και διαμαρτύρεται ότι είναι μπαγιάτικη.
Ο φούρναρης που είναι ένας κύριος 57 χρονών με γκρίζα μαλλιά, μουστάκι, ψηλός, παχουλός και φοράει μια άσπρη ποδιά, της λέει ότι αυτό είναι αδύνατον, διότι το αρτοποιείο του ξεκίνησε να φτιάχνει ψωμί πριν 20 χρόνια.
Και η κυρία απαντά:
"Ναι, αλλά το πουλάτε τώρα!"
Τι λάθος υπάρχει στο ανέκδοτο;
Μια κυρία, 45 ετών, ψηλή, λεπτή, μελαχρινή με καστανά μάτια και μαύρα μαλλιά, μπαίνει εκνευρισμένη σε ένα αρτοποιείο στην οδό Μεσολογγίου 45, στο Παγκράτι της Αθήνας στην Ελλάδα.
Κρατάει στα χέρια της μια φρατζόλα πολύσπορο ψωμί βάρους 450 γραμμαρίων και διαμαρτύρεται ότι είναι μπαγιάτικη.
Ο φούρναρης που είναι ένας κύριος 57 χρονών με γκρίζα μαλλιά, μουστάκι, ψηλός, παχουλός και φοράει μια άσπρη ποδιά, της λέει ότι αυτό είναι αδύνατον, διότι το αρτοποιείο του ξεκίνησε να φτιάχνει ψωμί πριν 20 χρόνια.
Και η κυρία απαντά:
"Ναι, αλλά το πουλάτε τώρα!"
Η αφαίρεση αφορά τον έλεγχο της πολυπλοκότητας, αφαιρώντας τις περιττές λεπτομέρειες.
Η αφαίρεση αποτελείται από δύο επιμέρους ιδέες:
-
απλοποίηση : Αφαίρεση των περιττών λεπτομερειών, ώστε να εστιάσουμε μόνο στην ουσία.
Διαίρεση του προβλήματος σε επίπεδα με αυξανόμενη πολυπλοκότητα
-
γενίκευση : λύση που αφορά μια ομάδα ομοειδών προβλημάτων
Απλοποίηση
Διαίρεση του προβλήματος σε επίπεδα με αυξανόμενη πολυπλοκότητα, αφαιρώντας τις άχρηστες λεπτομέρειες.
Κάθε επίπεδο, χωρίζεται από το επόμενο με ένα αδιαπέραστο φράγμα αφαίρεσης(abstraction barrier)
-
Οδηγός : Τον ενδιαφέρει μόνο το γεγονός ότι πατώντας το πεντάλ του φρένου, το αυτοκίνητο επιβραδύνει.
-
Μηχανολόγος : Ενδιαφέρεται για τη σχεδίαση και κατασκευή του συστήματος φρεναρίσματος*. Δεν τον ενδιαφέρουν πώς φτιάχνονται τα υλικά.
-
Άλλα εργοστάσια : Αναλαμβάνουν την κατασκευή των υλικών.
οl>
* Κατά καιρούς η τεχνολογία του συστήματος φρεναρίσματος άλλαξε. Αυτό όμως δεν άλλαξε γεγονός ότι το αυτοκίνητο επιβραδύνει πατώντας ένα πεντάλ.
Άσκηση
Μπορούμε να δούμε το ανθρώπινο σώμα με διάφορους τρόπους.
Κατέταξέ τους σε επίπεδα, από τη λιγότερη λεπτομέρεια στην περισσότερη.
Το σώμα μας αποτελείται από ...
- Μάτια, μύτη, στόμα, καρδιά, πνεύμονες, συκώτι, στομάχι ....
- Κύτταρα
- Κεφάλι, κορμό, πόδια, χέρια
Άσκηση
Παρατηρώντας την εικόνα σίγουρα θα αναγνωρίσεις κάποια σχήματα.
Κατάταξέ τα από το ΜΕΓΑΛΥΤΕΡΟ στο ΜΙΚΡΟΤΕΡΟ και συμπλήρωσε την παρακάτω πρόταση
Το σχήμα απεικονίζει ένα ______________________ που αποτελείται από ______________________ τα οποία με τη σειρά τους σχηματίζονται από _____________________
Φράγμα Αφαίρεσης
Διεπαφή
Αυτό που πρέπει να ξέρει ο χρήστης για το αντικείμενο
Υλοποίηση
Οι λεπτομέρειες που αφορούν την κατασκευή του αντικειμένου. Ο χρήστης δε χρειάζεται να τις γνωρίζει
Φράγμα Αφαίρεσης
Γενίκευση
Μιλκσεικ φράουλας για 2 άτομα
|
Μιλκσεικ κεράσι για 3 άτομα
|
- Παίρνουμε 1 κιλό φράουλες.
- Τις πλένουμε και τις κόβουμε σε μικρά κομμάτια.
- Βάζουμε τις φράουλες στο μπλέντερ.
- Προσθέτουμε 1 λίτρο φρέσκο γάλα και 2 μπάλλες παγωτό βανίλια.
- Χτυπάμε στο μπλέντερ.
- Τοποθετούμε το μείγμα σε 2 μεγάλα ποτήρια.
|
- Παίρνουμε 1,5 κιλό κεράσια.
- Τα πλένουμε και τα κόβουμε σε μικρά κομμάτια.
- Βάζουμε τα κεράσια στο μπλέντερ.
- Προσθέτουμε 1,5 λίτρο φρέσκο γάλα και 3 μπάλλες παγωτό βανίλια.
- Χτυπάμε στο μπλέντερ.
- Τοποθετούμε το μείγμα σε 3 μεγάλα ποτήρια.
|
ΑΦΑΙΡΟΥΜΕ τις λεπτομέρειες που δεν επιρεάζουν τη λύση
Μιλκσεικ φράουλας για 2 άτομα
|
Μιλκσεικ κεράσι για 3 άτομα
|
- Παίρνουμε
1 κιλό φράουλες.
- Τις πλένουμε και τις κόβουμε σε μικρά κομμάτια.
- Βάζουμε
τις φράουλες στο μπλέντερ.
- Προσθέτουμε
1 λίτρο φρέσκο γάλα και 2 μπάλλες παγωτό βανίλια.
- Χτυπάμε στο μπλέντερ.
- Τοποθετούμε το μείγμα σε
2 μεγάλα ποτήρια.
|
- Παίρνουμε
1,5 κιλό κεράσια.
- Τα πλένουμε και τα κόβουμε σε μικρά κομμάτια.
- Βάζουμε
τα κεράσια στο μπλέντερ.
- Προσθέτουμε
1,5 λίτρο φρέσκο γάλα και 3 μπάλλες παγωτό βανίλια.
- Χτυπάμε στο μπλέντερ.
- Τοποθετούμε το μείγμα σε
3 μεγάλα ποτήρια.
|
Αντικαθιστούμε τις λεπτομέρειες με ΜΕΤΑΒΛΗΤΕΣ
Μιλκσεικ φράουλας για 2 άτομα
|
Μιλκσεικ <φρούτο> για <Ν> άτομα
|
- Παίρνουμε
1 κιλό φράουλες.
- Τις πλένουμε και τις κόβουμε σε μικρά κομμάτια.
- Βάζουμε
τις φράουλες στο μπλέντερ.
- Προσθέτουμε
1 λίτρο φρέσκο γάλα και 2 μπάλλες παγωτό βανίλια.
- Χτυπάμε στο μπλέντερ.
- Τοποθετούμε το μείγμα σε
2 μεγάλα ποτήρια.
|
- Παίρνουμε <Ν>/2 κιλό <φρούτο>.
- Τα πλένουμε και τα κόβουμε σε μικρά κομμάτια.
- Βάζουμε το <φρούτο> στο μπλέντερ.
- Προσθέτουμε <Ν>/2 λίτρο φρέσκο γάλα και <Ν> μπάλλες παγωτό βανίλια.
- Χτυπάμε στο μπλέντερ.
- Τοποθετούμε το μείγμα σε <Ν> μεγάλα ποτήρια.
|
φρούτο=ροδάκινο, Ν=4
Μιλκσεικ <φρούτο> για <Ν> άτομα
|
Μιλκσεικ ροδάκινο για 4 άτομα
|
- Παίρνουμε <Ν>/2 κιλό <φρούτο>.
- Τα πλένουμε και τα κόβουμε σε μικρά κομμάτια.
- Βάζουμε το <φρούτο> στο μπλέντερ.
- Προσθέτουμε <Ν>/2 λίτρο φρέσκο γάλα και <Ν> μπάλλες παγωτό βανίλια.
- Χτυπάμε στο μπλέντερ.
- Τοποθετούμε το μείγμα σε <Ν> μεγάλα ποτήρια.
|
- Παίρνουμε 2(=4/2) κιλό ροδάκινα.
- Τα πλένουμε και τα κόβουμε σε μικρά κομμάτια.
- Βάζουμε τα ροδάκινα στο μπλέντερ.
- Προσθέτουμε 2(=4/2) λίτρο φρέσκο γάλα και 4 μπάλλες παγωτό βανίλια.
- Χτυπάμε στο μπλέντερ.
- Τοποθετούμε το μείγμα σε 4 μεγάλα ποτήρια.
|
Σε αντίθεση με τα μαθηματικά, οι μεταβλητές των αλγορίθμων πρέπει να έχουν ΠΑΝΤΑ τιμή