H «γλώσσα» προγραμματισμού Scratch


  




Scratch είναι μια διερμηνευόμενη δυναμική οπτική γλώσσα προγραμματισμού βασισμένη και υλοποιημένη σε Squeak. Όντας δυναμική, επιτρέπει σε αλλαγές του κώδικα ακόμη και κατά τη διάρκεια της εκτέλεσης των προγραμμάτων. Έχει ως στόχο τη διδασκαλία εννοιών προγραμματισμού σε παιδιά και εφήβους και να τους επιτρέψει να δημιουργήσουν παιχνίδια με βίντεο και μουσική.
   


Το όνομα Scratch παραπέμπει στην τεχνική του scratching στα παλαιά πικάπ, και αναφέρεται τόσο στη γλώσσα όσο και στην υλοποίηση της. Η ομοιότητα προς το scratching στη μουσική είναι η εύκολη επαναχρησιμοποίηση κομματιών: στο Scratch όλα τα αλληλεπιδραστικά αντικείμενα, γραφικά και ήχοι μπορούν εύκολα να εισαχθούν σε ένα νέο πρόγραμμα και να συνδυαστούν με νέους τρόπους. Έτσι οι αρχάριοι μπορούν να λάβουν γρήγορα αποτελέσματα και αποκτούν κίνητρο να προσπαθήσουν περαιτέρω.


Ο ιστότοπος δείχνει ταχεία ανάπτυξη της κοινότητας του Scratch.


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

Το Scratch έχει αναπτυχθεί από μια μικρή ομάδα ερευνητών στο Lifelong Kindergarten Group στο MIT Media Lab.

Είναι ειδικά σχεδιασμένο για άτομα από 8 έως 16 χρονών, αλλά χρησιμοποιείται επίσης και από άτομα όλων των ηλικιών. Εκατομμύρια χρήστες δημιουργούν έργα στο Scratch σε διάφορες τοποθεσίες, όπως σπίτια, σχολεία, μουσεία, βιβλιοθήκες και πολιτιστικά κέντρα.

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

Οι μαθητές μαθαίνουν με το Scratch σε όλα τα σχολικά επίπεδα (από το δημοτικό έως και το πανεπιστήμιο) και σε διαφόρους κλάδους (όπως μαθηματικά, επιστήμες υπολογιστών, γλωσσικές επιστήμες και κοινωνικές μελέτες). Εκπαιδευτικοί ανταλλάσσουν πηγές, θέτουν ερωτήματα και επικοινωνούν με άλλους συναδέλφους στην ιστοσελίδα του ScratchEd.
Το περιβάλλον Προγραμματισμού


Εντολές κίνησης


Κινεί τη μορφή μπροστά ή πίσω.

_____

Περιστρέφει τη μορφή δεξιόστροφα.

_____



Περιστρέφει τη μορφή αριστερόστροφα.

_____

Προσανατολίζει τη μορφή προς ορισμένη κατεύθυνση. (0=πάνω, 90=δεξιά, 180=κάτω, –90=αριστερά).

______


Προσανατολίζει τη μορφή προς τη θέση του ποντικιού ή προς τη θέση άλλης μορφής.

______




Μεταφέρει τη μορφή σε ορισμένο x y σημείο στη Σκηνή.

______




Μεταφέρει τη μορφή στη θέση του ποντικιού ή στη θέση άλλης μορφής.

_____




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

_____




Στρέφει τη μορφή προς την αντίθετη κατεύθυνση, εάν αγγίξει το άκρο της Σκηνής.




Εντολές κινητήρων


Οι εντολές κινητήρων εμφανίζονται μόνο αν έχετε επιλέξει [Εμφάνιση εντολών κινητήρων] στο μενού Διόρθωσε ή αν έχετε συνδέσει ένα LEGO WeDo. Λειτουργούν με έναν κινητήρα LEGO WeDo. (Πληροφορίες:http://www.legoeducation.com)


Ενεργοποιεί τον κινητήρα για ορισμένα δευτερόλεπτα.

_____

Ενεργοποιεί / Απενεργοποιεί τον κινητήρα.

_____


Θέτει την ισχύ του κινητήρα και τον ενεργοποιεί. (Τιμές: από 0 έως 100)

_____


Θέτει ή αλλάζει την κατεύθυνση στροφής του κινητήρα, αλλά δεν τον ενεργοποιεί. (προς τα εδώ = δεξιόστροφα, προς τα εκεί = αριστερόστροφα ή αντιστροφή)




Εντολές εμφάνισης


Αλλάζει την εμφάνιση της μορφής αλλάζοντάς της ενδυμασία.

_____


Αλλάζει την ενδυμασία της μορφής στην επόμενη τής λίστας ενδυμασιών. (Αν η λίστα φτάσει στο τέλος, ξεκινά από την αρχή)

_____


Αλλάζει την εμφάνιση της Σκηνής αλλάζοντάς της υπόβαθρο.

_____


Εμφανίζει ένα πλαίσιο διαλόγου («μπαλονάκι ομιλίας»), για ορισμένο χρονικό διάστημα (σε δευτερόλεπτα).

_____


Εμφανίζει πλαίσιο διαλόγου («μπαλονάκι ομιλίας»). Το μπαλονάκι εξαφανίζεται, αν τρέξετε την εντολή χωρίς κείμενο.

_____


Αλλάζει το μέγεθος της μορφής κατά ορισμένη ποσότητα.

_____


Θέτει το μέγεθος της μορφής σε ορισμένο ποσοστό % του πραγματικού μεγέθους της.

_____


Κάνει τη μορφή να εμφανίζεται στη Σκηνή.

_____


Κάνει τη μορφή να εξαφανίζεται από τη Σκηνή. (Η κρυμμένη μορφή δεν γίνεται αντιληπτή από άλλες μορφές).

_____


Μετακινεί τη μορφή κατά ορισμένα επίπεδα πίσω, ώστε να μπορεί να κρυφτεί πίσω από άλλες πιο μπροστινές.



Εντολές ήχου


Παίζει έναν ήχο, επιλεγμένον από το αναδιπλούμενο μενού, και αμέσως συνεχίζει με την εκτέλεση της επόμενης εντολής, χωρίς να περιμένει την ολοκλήρωση του ήχου.

_____


Παίζει ένα κρουστό, επιλεγμένο από το αναδιπλούμενο μενού, για ορισμένο αριθμό μουσικών χρόνων (beat).

_____


Αλλάζει την ένταση ήχου της μορφής κατά ορισμένη ποσότητα. (Η ένταση παίρνει τιμές από 0 έως 100).




Εντολές διαχείρισης πένας


Καθαρίζει όλα τα ίχνη της πένας και τις σφραγίδες από τη Σκηνή.

_____


Κατεβάζει την πένα της μορφής, ώστε να ιχνογραφεί καθώς κινείται η μορφή.

_____


Σηκώνει την πένα της μορφής, ώστε να μην ιχνογραφεί καθώς κινείται.

_____


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

_____


Θέτει το χρώμα της πένας σε ορισμένη τιμή. Τιμές: 0 έως 200. (Κάλυψη όλου του κύκλου των χρωμάτων: 0=κόκκινο, 50=πράσινο, 100=γαλάζιο, 150=μοβ, 200=κόκκινο)

_____


Θέτει το πάχος της πένας σε ορισμένη τιμή.

_____


Αφήνει σφραγίδα με την εικόνα της μορφής στη Σκηνή.




Δομές ελέγχου


Τρέχει το σενάριο που βρίσκεται από κάτω, όταν πατηθεί η πράσινη σημαία.

_____


Τρέχει το σενάριο που βρίσκεται από κάτω, όταν πατηθεί ένα ορισμένο πλήκτρο στο πληκτρολόγιο.

_____


Τρέχει το σενάριο που βρίσκεται από κάτω, όταν γίνει κλικ πάνω σε μια μορφή.

_____


Περιμένει για ορισμένο αριθμό δευτερολέπτων και μετά συνεχίζει με την επόμενη εντολή.

_____


Τρέχει τις εντολές που βρίσκονται μέσα, ξανά και ξανά (ατέρμων βρόχος).



_____


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



_____


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



_____


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



_____


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





Αισθητήρες


Αναφέρει αληθές, αν η μορφή αγγίξει μια άλλη ορισμένη μορφή ή τα όρια της Σκηνής ή τον δείκτη του ποντικιού (επιλέγετε από το αναδιπλούμενο μενού).

_____


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

_____


Αναφέρει τη θέση x του δείκτη του ποντικιού.

_____


Αναφέρει αληθές, αν πατηθεί πλήκτρο του ποντικιού.

_____


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




Τελεστές


Προσθέτει τους δύο αριθμούς.

_____


Διαλέγει έναν τυχαίο ακέραιο μέσα σε ορισμένο εύρος.

_____


Αναφέρει αληθές, αν η πρώτη τιμή είναι μικρότερη από τη δεύτερη.

_____


Ενώνει δύο αλφαριθμητικά.

_____


Αναφέρει το υπόλοιπο της διαίρεσης του πρώτου αριθμού με τον δεύτερο.

_____


Αναφέρει τον αριθμό στρογγυλεμένο στον πλησιέστερο ακέραιο.


Μεταβλητές


Θέτει την τιμή ορισμένης μεταβλητής.

_____


Προσθέτει ένα ορισμένο στοιχείο στο τέλος της λίστας. Το περιεχόμενο μπορεί να είναι αριθμός ή αλφαριθμητικό.

_____


Σβήνει ένα στοιχείο από τη λίστα. Εισάγετε τον αύξοντα αριθμό του στοιχείου που θα σβηστεί ή επιλέξτε από το αναδιπλούμενο μενού (το τελευταίο ή όλα).

_____


Εισάγει ένα νέο στοιχείο σε ορισμένη θέση μέσα στη λίστα. Εισάγετε τον αύξοντα αριθμό στον οποίο θα εισαχθεί το στοιχείο ή επιλέξτε τη θέση από το αναδιπλούμενο μενού (τελευταία ή οποιαδήποτε). Φυσικά, τα προϋπάρχοντα στοιχεία της λίστας, από αυτή τη θέση και πέρα, μετατοπίζονται κατά μία θέση.




Πως «εκτελείται» – ένα σενάριο

Φροντίζουμε πάντα στην αρχή του σεναρίου μας να χρησιμοποιήσουμε την εντολή: «όταν στο πράσινο σημαιάκι γίνει κλικ»



Έτσι κάθε φορά που πατάμε το πράσινο σημαιάκι αρχίζουν να «εκτελούνται» όλες οι εντολές που βρίσκονται κάτω από αυτό.

Στο παράδειγμα ο ήρωας θα κινηθεί 100 βήματα και θα στρίψει 180 μοίρες γύρω από τον εαυτό του. Θα αλλάξει δηλαδή κατεύθυνση. Η αλλαγή της κατεύθυνσης και όχι το «αναποδογύρισμα» του ήρωα οφείλεται στην επιλογή κατάλληλου στυλ στροφής από το μενού πάνω από το σημείο συγγραφής του σεναρίου.



Πατώντας το πράσινο σημαιάκι πάνω δεξιά, ή με διπλό κλικ πάνω στην εντολή «όταν στο σημαιάκι γίνει κλικ», το σενάριο που μόλις δημιουργήσαμε αρχίζει να εξελίσσεται…