Εκπαιδευτική Γλώσσα Προγραμματισμού

Ξεκίνησε από sstergou, 12 Νοε 2014, 03:41:41 ΜΜ

« προηγούμενο - επόμενο »

bugman

#90
Αν θέλετε να επεκταθεί η ΓΛΩΣΣΑ με στοιχεία OOP μπορείτε να πάρετε μια ιδέα από την Μ2000 (έτσι και αλλιώς είναι ανοικτού κώδικα και μπορεί κανείς να διαβάσει πως δουλεύουν τα αντικείμενα - ομάδες όπως τα ονομάζω).
Πρόσφατα ανακάλυψα ένα πολύ ωραίο κείμενο από εδώ http://eventdrivenpgm.sourceforge.net/ που δίνει αρκετές ιδέες και έχει παραδείγματα σε java και python.  Εγώ πήρα μια γεύση και έφτιαξα το παρακάτω (βάζω την περιγραφή).

ΠαράθεσηΜε πολύ λίγα λόγια, έχουμε δυο υπηρεσίες, όπου βλέπει η μία το πλήκτρο του ποντικιού, η υπηρεσία δείκτη και μια άλλη που βλέπει ένα συγκεκριμένο πλήκτρο στο πληκτρολόγιο. Υπάρχει ένας Χειριστής Γεγονότων τον οποίο αρχικά χρησιμοποιούμε για να φτιάξουμε τρία υποκείμενα πλήκτρα, ως στοιχεία ελέγχου, και τα ονομάζουμε β1, β2, β3. Φτιάχνουμε τρεις υπηρεσίες, δυο για τα πλήκτρα 1 και 2,  καθώς και μια για το αριστερό πλήκτρο του ποντικού. Καταχωρούμε στο Χειριστή Γεγονότων την κάθε υπηρεσία στη λίστα γεγονότων. Επίσης καταχωρούμε ποια υπηρεσία συνδέεται με ποιο υποκείμενο (ή στοιχείο ελέγχου). Μάλιστα εδώ έχουμε καταχωρήσει το πλήκτρο 1 του πληκτρολογίου στα β1 και β2. Μετά από το στήσιμο αυτό πάμε σε ένα βρόχο όπου κάθε 150 ms προβαίνει σε παρατήρηση, δηλαδή στην παρακολούθηση των υπηρεσιών. Αν κάποια υπηρεσία επιβεβαιωθεί, τότε καλούμε το αντίστοιχο βν (1 ή 2 ή 3) και ειδικότερα την συνάρτηση Κάλεσε_Πίσω η οποία καλεί από το στοιχείο ελέγχου τον Χειριστή Γεγονότων με την συνάρτηση Ερώτημα παρέχοντάς του την αναφορά σε αυτόν, ώστε τελικά ο Χειριστής να δει ποιος είναι, να διαβάσει την ονομασία του και να μας την δείξει στην οθόνη. Με το δεξί πλήκτρο του ποντικού τερματίζουμε το βρόχο και το πρόγραμμα.

Το κείμενο με το πρόγραμμα με ελληνικές εντολές στην Μ2000 είναι εδώ

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