Skip to main content
Completion requirements

Εργαλειοθήκη

Κοντά στην λογική της επανάληψης είναι και αυτή της επανάχρησης. Γνωρίζουμε ότι υπάρχουν τα προγράμματα Demo που μπορούμε να φορτώσουμε για να τρέξουμε στο Edison. Ωστόσο, πλέον δημιουργούμε και εμείς κομμάτια κώδικα που είναι ενδιαφέροντα. Όχι, μόνο είναι ενδιαφέροντα αλλά είναι πολύ πιθανό να τα χρειαστούμε και στο μέλλον. Παρατηρώντας πλέον τα μοτίβα που υπάρχουν στις κινήσεις, μπορούμε να φανταστούμε εύκολα ότι θα χρειαστούμε συχνά την κίνηση σε τετράγωνο. Πολύ απλά λοιπόν μπορούμε σε μια γλώσσα προγραμματισμού να αρχίσουμε να δημιουργούμε την "εργαλειοθήκη" μας. Δημιουργούμε μία κίνηση τετραγώνου, σώζουμε το αρχείο στον υπολογιστή μας το "square" στη συνέχεια κάνουμε το ίδιο με το "triangle" και σταδιακά εμπλουτίζουμε την εργαλειοθήκη μας. Με τον όρο εργαλειοθήκη αναφερόμαστε σε ένα σύνολο από έτοιμα προγράμματα που περιγράφουν για παράδειγμα χαρακτηριστικές κινήσεις όπως ένα τρίγωνο, ένα τετράγωνο,  ένα πεντάγωνο κ.ο.κ.   Η παραπάνω λειτουργία είναι πολύ συνηθισμένη, το να "πακετάρεις" δηλαδή κώδικα ώστε να τον επαναχρησιμοποιήσεις. Σκεφτείτε ότι ένα σύνθετο μοτίβο μπορεί να περιλαμβάνει και  ... χιλιάδες βήματα. 


Εργαλειοθήκη EdScratch


Η πρώτη σκέψη είναι ότι με αυτόν τον τρόπο θα έχουμε τη δυνατότητα να χρησιμοποιήσουμε έτοιμες στοίβες μπλοκ για κάθε μοτίβο που διακρίνουμε χωρίς να απαιτείται η αναλυτική κατασκευή του.Το θετικό με το EdScratch είναι ότι μπορούμε να δημιουργήσουμε μια "Εργαλειοθήκη". Το αρνητικό είναι ότι έχουμε ένα σημαντικό περιορισμό.

Αναλυτικότερα, ενώ μπορούμε να αποθηκεύσουμε όσα προγράμματα θέλουμε στον υπολογιστή μας και να τα χρησιμοποιήσουμε στη συνέχεια ως μήτρες, δεν μπορούμε εύκολα να τα συνδυάσουμε μεταξύ τους. Ας αναφέρουμε ένα παράδειγμα:

Ας υποθέσουμε ότι έχουμε δημιουργήσει


και αποθηκεύσει το αρχείο triangle.ees και το αρχείο square.ees


και το αρχείο circle.ees κ.ο.κ. καταγράφοντας σε όλα τις απαραίτητες εντολές.
Μας ζητείται ένα έργο που ζητά από το edison να διαγράψει την παρακάτω λίγο "Zen", λίγο "Squid Game" πορεία.


Η πρώτη μας σκέψη είναι ... Μια χαρά τις έχω τις κινήσεις, θα χρειαστεί να συρράψω τον κώδικα και είμαι έτοιμος. Δυστυχώς, όμως ο κώδικας δεν μπορεί να αντιγραφεί. Μπορεί να διπλασιαστεί όχι όμως να μεταφερθεί από ένα παράθυρο σε ένα άλλο. Άρα μπορώ να ανοίξω το square.ees και να χρησιμοποιήσω τον έτοιμο κώδικα, να τον διπλασιάσω και να τον παραμετροποιήσω, δεν μπορώ όμως να το συνδυάσω με το triangle ή το circle. Για να το πούμε πιο απλά, μπορώ να χρησιμοποιήσω τον έτοιμο κώδικα ενός μόνο αποθηκευμένου προγράμματος και όχι να συνδυάσω αποθηκευμένους κώδικες. 


Patternda


Μια λύση σε αυτό το ζήτημα, λίγο πρόχειρη, είναι η δημιουργία ενός αρχείου με όλα τα μοτίβα κινήσεων στον χώρο προγραμματισμού. Με αυτόν τον τρόπο ανοίγουμε το πιθανό αρχείο drive_patterns.ees που εμείς έχουμε δημιουργήσει εισάγοντας όλα τα σχήματα, 


Επιλέγουμε αυτά που θέλουμε και διαγράφουμε τα υπόλοιπα για κάθε έργο. Στη συνέχεια αποθηκεύουμε με διαφορετικό όνομα το νέο έργο μας διατηρώντας ανέπαφη τη μήτρα. Η ομαδοποίηση μοτίβων μπορεί να μας διευκολύνει ωστόσο σίγουρα θα εμφανιστεί εκείνη η στιγμή που θα πούμε για κάποια στοίβα: "κρίμα να μην μπορώ να τη συνδυάσω ....και είναι τόσο έτοιμη!!! "Ας κρατήσουμε όμως και τη λειτουργία της επανάχρησης ως ένα μοτίβο. 

"Φτιάχνω κάτι, το αφήνω στην άκρη, και το καλώ όταν το χρειαστώ."

 *Παρατήρηση 1

Όπως έχουμε πει blocks που δεν συνδέονται με το Start δε φορτώνονται στο Edison, αυτό όμως δεν σημαίνει ότι δεν αποθηκεύονται στο αρχείο .ees  Η φόρτωση και η αποθήκευση είναι δύο πολύ διαφορετικές διαδικασίες.

*Παρατήρηση 2

Ακόμα και αν δημιουργήσουμε ένα αρχείο με 20 μοτίβα, δεν θα είναι απαραίτητο το σβήσιμό των υπολοίπων κατά τη δημιουργία ενός νέου προγράμματος. Αρκεί να μη συνδεθούν στο Start. Είναι χρήσιμη όμως η χρήση Επεξηγηματικού σχολίου όπως υπάρχει στην εικόνα ώστε να  μπορούμε να τα διακρίνουμε σχετικά εύκολα.


Last modified: Saturday, 11 February 2023, 6:54 PM