Μάθημα : Γ' ΓΥΜΝΑΣΙΟΥ - ΠΛΗΡΟΦΟΡΙΚΗ
Κωδικός : G253147
SCRATCH - ΕΠΑΝΑΛΗΨΗ
Ας θυμηθούμε τι έχουμε μάθει μέχρι τώρα στο scratch.
Επανάληψη Scratch: Όλα όσα πρέπει να θυμάσαι!
1. Οι 3 Προγραμματιστικές Δομές (Ο Πυρήνας του Προγραμματισμού)
α) Δομή Ακολουθίας (Sequence)
-
Τι είναι: Οι εντολές εκτελούνται η μία μετά την άλλη, με τη σειρά που τις έχουμε βάλει.
-
Παράδειγμα: Σκηνικό: "Όταν γίνει κλικ στην πράσινη σημαία" -> "κινώ το αντικείμενο 10 βήματα → παίζω ήχο → αλλάζω ενδυμασία.
β) Δομή Επιλογής (Selection / "Αν-Τότε")
-
Τι είναι: Το πρόγραμμα παίρνει αποφάσεις. Ελέγχει μια συνθήκη και αν είναι αληθής, εκτελεί μια ομάδα εντολών.
-
Μπλοκ που χρησιμοποιούμε:
-
αν <> τότε(για απλές αποφάσεις) -
αν <> τότε ... αλλιώς ...(για αποφάσεις "είτε-είτε")
-
-
Παράδειγμα:
αν <αγγίζει χρώμα [μπλε] ;> τότε
πες [Μπράβο, βρήκες το μπλε αντικείμενο!] για (2) δευτερόλεπτα
αλλιώς
πες [Ψάξε για μπλε!] για (1) δευτερόλεπτα
τέλος
γ) Δομή Επανάληψης (Repetition / Iteration)
-
Τι είναι: Μια ομάδα εντολών επαναλαμβάνεται πολλές φορές.
-
Μπλοκ που χρημοποιούμε:
-
επανάλαβε (10)(ξέρεις ακριβώς πόσες φορές θα γίνει) -
επανάλαβε για πάντα(για ατέρμονα loops, π.χ. σε παιχνίδια) -
επανάλαβε μέχρις ότου <>(επαναλαμβάνει μέχρι να γίνει κάτι αληθή, π.χ.μέχρις ότου <αγγίζει [Τερματισμός] ;>)
-
-
Παράδειγμα:
επανάλαβε (36) // Φτιάχνει έναν κύκλο
μπροστά (10) βήματα
στρίψε δεξιά (10) μοίρες
τέλος
2. Μεταβλητές (Variables)
-
Τι είναι: Ένα "κουτί" στη μνήμη του υπολογιστή που του δίνουμε ΟΝΟΜΑ και του βάζουμε ΠΕΡΙΕΧΟΜΕΝΟ (αριθμούς, κείμενο, λογικές τιμές). Αυτές οι πληροφορίες μπορούν να αλλάξουν (μεταβληθούν) κατά τη διάρκεια του προγράμματος.
-
Γιατί τις χρησιμοποιούμε:
-
Σκορ σε ένα παιχνίδι (
score) -
Ζωές (
lives) -
Μετρητής χρόνου (
timer) -
Να αποθηκεύουμε το όνομα του παίκτη (
playerName)
-
-
Πώς τις φτιάχνουμε: Στην κατηγορία "Μεταβλητές" -> "Δημιουργία μεταβλητής". Μπορούμε να επιλέξουμε αν η μεταβλητή θα είναι ορατή σε όλα τα αντικείμενα (γενική/global) ή μόνο για το συγκεκριμένο αντικείμενο (ιδιαίτερη/local).
3. Διαδικασίες (My Blocks / Custom Blocks)
-
Τι είναι: Δικές μας εντολές που τις φτιάχνουμε εμείς! Είναι ομάδες εντολών που τις "τυλίγουμε" σε ένα νέο μπλοκ για να τις χρησιμοποιούμε εύκολα πολλές φορές και τους δίνουμε ένα ΟΝΟΜΑ.
-
Γιατί τις χρησιμοποιούμε:
-
Να μην επαναλαμβάνουμε κώδικα (αν ο ίδιος κώδικας τρέχει σε 5 σημεία, απλώς καλούμε τη διαδικασία).
-
Να οργανώνουμε καλύτερα τον κώδικά μας, που γίνεται πιο καθαρός και ευανάγνωστος.
-
Να δίνουμε ονομασίες που βγάζουν νόημα (π.χ. "δημιούργησε εχθρό", "κάνε έκρηξη").
-
-
Πώς τις φτιάχνουμε: Στην κατηγορία "Οι εντολές μου" -> "Δημιουργία εντολής". Μπορούμε να της δώσουμε ορίσματα (είσοδο) για να είναι ακόμα πιο δυνατή! (π.χ. η διαδικασία "πήδα" μπορεί να πάρει όρισμα "ύψος").
Παράδειγμα Διαδικασίας:
-
Φτιάχνουμε ένα μπλοκ "σχεδίασε τετράγωνο" με όρισμα "μέγεθος".
-
Ο κώδικας της διαδικασίας:
Ορισμός τετράγωνο (μέγεθος)
επανάλαβε (4)
μπροστά (μέγεθος) βήματα
στρίψε δεξιά (90) μοίρες
τέλος
- Πώς το καλούμε: Τώρα, όποτε θέλουμε τετράγωνο, γράφουμε:
τετράγωνο (50) // Μας ζωγραφίζει ένα μεσαίο τετράγωνο
τετράγωνο (100) // Μας ζωγραφίζει ένα τεράστιο τετράγωνο
Επιπλέον
-
Γεγονότα (Events)
-
Π.χ. «Όταν πατηθεί το πράσινο σημαιάκι» ή «Όταν πατηθεί το πλήκτρο διαστήματος».
-
Εξηγούν πότε ξεκινά ή αλλάζει κάτι στο παιχνίδι.
-
-
Μηνύματα (Broadcast & Receive)
-
Δίνουν τη δυνατότητα στα αντικείμενα να επικοινωνούν μεταξύ τους.
-
Παράδειγμα: Όταν το γατί αγγίξει τη μπάλα, μεταδίδει μήνυμα «τέλος γύρου» και η μπάλα κρύβεται.
-
-
Συντεταγμένες & Κίνηση
-
Θυμήστε τους ότι η σκηνή είναι ένα καρτεσιανό επίπεδο (x, y).
-
Χρήσιμο για να τοποθετούν/μετακινούν αντικείμενα με ακρίβεια.
-
-
Κλωνοποίηση (Clones)
-
Δημιουργία πολλών ίδιων αντιγράφων ενός sprite, π.χ. πολλές μπάλες ή εχθροί.
-
-
Εμφάνιση (Looks) & Ήχος
-
Αλλαγή ενδυμασίας, φόντου, προσθήκη ήχων για πιο ζωντανό αποτέλεσμα.
-
_________________________________________________________________________
Άσκηση 1: Το Ρομποτάκι Σχεδιαστής (Έκδοση Προχωρημένων) |
Στόχος: Να φτιάξεις ένα "ρομπότ" που σχεδιάζει διαφορετικά σχήματα βάσει εντολών, χρησιμοποιώντας διαδικασίες.
Βασικές Έννοιες που εξασκούμε:
-
Διαδικασίες (Custom Blocks) (ο κορμός της άσκησης)
-
Επανάληψη (μέσα στις διαδικασίες για να φτιάξουμε τα σχήματα)
-
Επιλογή (για να αποφασίσει τι σχήμα θα σχεδιάσει)
-
Μεταβλητές (για να ορίσουμε το μέγεθος των σχημάτων)
Οδηγίες για το πρόγραμμα:
-
Δημιούργησε δύο νέα μπλοκ (διαδικασίες):
-
Τετράγωνο (μέγεθος) -
Τρίγωνο (μέγεθος)
-
-
Ορισμός των μπλοκ:
-
Για το τετράγωνο: Χρησιμοποίησε
επανάλαβε (4)και μέσα βάλεμπροστά (μέγεθος) βήματακαιστρίψε δεξιά (90) μοίρες. -
Για το τρίγωνο: Χρησιμοποίησε
επανάλαβε (3)και μέσα βάλεμπροστά μέγεθος) βήματακαιστρίψε δεξιά (120) μοίρες.
-
-
Κύριος Κώδικας:
-
Όταν γίνει κλικ στην πράσινη σημαία, καθάρισε την οθόνη,
σηκώσε πένακαιπήγαινε στη θέση x:0 y:0. -
Ρώτα τον χρήστη:
"Τι να σχεδιάσω; 'τετράγωνο' ή 'τρίγωνο';" -
Αν πει
τετράγωνο, τότεκάλεσε Τετράγωνο (100). -
Αλλιώς, αν πει
τρίγωνο, τότεκάλεσε Τρίγωνο (100). -
Αλλιώς, πες
"Δεν ξέρω να σχεδιάζω αυτό ακόμα!".
-
- Τροποποίηση κώδικα (προσθήκη μεταβλητής)
- Στον κώδικα, πριν την κλήση των διαδικασιών, πρόσθεσε εντολή που να ζητά από τον χρήστη το μήκος της πλευράς
- Προσθέστε ένα πεντάγωνο και τροποποιήστε τα μηνύματα.
- Προσθέστε επανάληψη έτσι ώστε το αντικείμενο να πηγαίνει σε τυχαία θέση και να ρωτά ποιο από τα 3 σχήματα θέλει ο χρήστης να δημιουργηθεί. Με την επιλογή 4. Έξοδος θα σταματά η εκτέλεση του προγράμματος.
_________________________________________________________________________
Άσκηση 2: ΕΠΕΚΤΑΣΗ του προγράμματος Το Ρομποτάκι Σχεδιαστής (Έκδοση Προχωρημένων) |
Αποθηκεύστε το παραπάνω αρχείο με όνομα: το_προηγούμενο_όνομα v2
Στόχος: Να επικτείνεις το παραπάνω πρόγραμμα έτσι ώστε να μάθεις:
-
Παράλληλος Προγραμματισμός: Διαφορετικά αντικείμενα εκτελούν κώδικα ταυτόχρονα
-
Διαχείριση Γεγονότων (Events): Χειρισμός του event "όταν γίνει κλικ σε αντικείμενο"
-
Αλληλεπίδραση Αντικειμένων: Πώς πολλά αντικείμενα μπορούν να επηρεάσουν ένα κύριο αντικείμενο
-
Σχεδίαση Διεπαφής Χρήστη (UI): Πώς φτιάχνουμε φιλικές προς τον χρήστη εφαρμογές
Βήμα 1: Δημιουργία των Κουμπιών
Δημιούργησε τα εξής νέα αντικείμενα (Sprites) με εικονίδια ή κείμενο:
-
Μορφή "Κουμπί_Καθαρισμός" (μπλε ή με εικονίδιο σκούπας)
-
Μοργή "Κουμπί_Τετράγωνο"
-
Μορφή "Κουμπί_Τρίγωνο"
-
Μορφή "Κουμπί_Πεντάγωνο"
-
Μορφή Κύκλος "Κουμπί_Κύκλος"
Βήμα 2: Κώδικας για το Κουμπί "Καθαρισμός"
Όταν γίνει κλικ σ' αυτό το κουμπί να γίνεται καθαρισμός της οθόνης
Βήμα 3: Κώδικας για τα Κουμπιά Σχημάτων (Τετράγωνο, Τρίγωνο, Πεντάγωνο, Κύκλος)
Όταν γίνει κλικ στο αντίστοιχο κουμπί να εκτελείται η αντίστοιχη διαδικασία.
Βήμα 5: Βελτιωμένος Κύριος Κώδικας (Ρομπότ Σχεδιαστής)
Τροποποιούμε τον κύριο κώδικα ώστε:
-
Να μην εμφανίζει το δικό του μενού όταν υπάρχουν κουμπιά
-
Να μπορεί να λειτουργεί παράλληλα με τα κουμπιά
-
Να δίνει γενικές οδηγίες
Βήμα 6: Διαχείριση της Οθόνης
Βεβαιώσου ότι:
-
Τα κουμπιά είναι πάντα μπροστά (χρησιμοποίησε την εντολή
πήγαινε εμπρός) -
Τα κουμπιά είναι σταθερά στη σκηνή και δεν κινούνται
-
Ο κύριος χαρακτήρας (στυλό) μπορεί να περνάει πίσω από τα κουμπιά χωρίς να σχεδιάζει πάνω τους
Προσθέτουμε αυτόν τον κώδικα σε ΟΛΑ τα κουμπιά:
δείξε
πήγαινε εμπρός // Για να είναι πάντα ορατά