Μάθημα : Γ' ΓΥΜΝΑΣΙΟΥ - ΠΛΗΡΟΦΟΡΙΚΗ

Κωδικός : G253147

G253147  -  ΕΛΕΝΗ ΔΑΜΑΣΚΟΥ

Ενότητες μαθήματος - SCRATCH - ΕΠΑΝΑΛΗΨΗ

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)

  • Τι είναι: Δικές μας εντολές που τις φτιάχνουμε εμείς! Είναι ομάδες εντολών που τις "τυλίγουμε" σε ένα νέο μπλοκ για να τις χρησιμοποιούμε εύκολα πολλές φορές και τους δίνουμε ένα ΟΝΟΜΑ.

  • Γιατί τις χρησιμοποιούμε:

    1. Να μην επαναλαμβάνουμε κώδικα (αν ο ίδιος κώδικας τρέχει σε 5 σημεία, απλώς καλούμε τη διαδικασία).

    2. Να οργανώνουμε καλύτερα τον κώδικά μας, που γίνεται πιο καθαρός και ευανάγνωστος.

    3. Να δίνουμε ονομασίες που βγάζουν νόημα (π.χ. "δημιούργησε εχθρό", "κάνε έκρηξη").

  • Πώς τις φτιάχνουμε: Στην κατηγορία "Οι εντολές μου" -> "Δημιουργία εντολής". Μπορούμε να της δώσουμε ορίσματα (είσοδο) για να είναι ακόμα πιο δυνατή! (π.χ. η διαδικασία "πήδα" μπορεί να πάρει όρισμα "ύψος").

Παράδειγμα Διαδικασίας:

  • Φτιάχνουμε ένα μπλοκ "σχεδίασε τετράγωνο" με όρισμα "μέγεθος".

  • Ο κώδικας της διαδικασίας:

Ορισμός τετράγωνο (μέγεθος)

επανάλαβε (4)

μπροστά (μέγεθος) βήματα

στρίψε δεξιά (90) μοίρες

τέλος

  • Πώς το καλούμε: Τώρα, όποτε θέλουμε τετράγωνο, γράφουμε:

τετράγωνο (50) // Μας ζωγραφίζει ένα μεσαίο τετράγωνο
τετράγωνο (100) // Μας ζωγραφίζει ένα τεράστιο τετράγωνο

 

 

Επιπλέον

 

  • Γεγονότα (Events)

    • Π.χ. «Όταν πατηθεί το πράσινο σημαιάκι» ή «Όταν πατηθεί το πλήκτρο διαστήματος».

    • Εξηγούν πότε ξεκινά ή αλλάζει κάτι στο παιχνίδι.

  • Μηνύματα (Broadcast & Receive)

    • Δίνουν τη δυνατότητα στα αντικείμενα να επικοινωνούν μεταξύ τους.

    • Παράδειγμα: Όταν το γατί αγγίξει τη μπάλα, μεταδίδει μήνυμα «τέλος γύρου» και η μπάλα κρύβεται.

  • Συντεταγμένες & Κίνηση

    • Θυμήστε τους ότι η σκηνή είναι ένα καρτεσιανό επίπεδο (x, y).

    • Χρήσιμο για να τοποθετούν/μετακινούν αντικείμενα με ακρίβεια.

  • Κλωνοποίηση (Clones)

    • Δημιουργία πολλών ίδιων αντιγράφων ενός sprite, π.χ. πολλές μπάλες ή εχθροί.

  • Εμφάνιση (Looks) & Ήχος

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

 

 

 

_________________________________________________________________________

 

Άσκηση 1: Το Ρομποτάκι Σχεδιαστής (Έκδοση Προχωρημένων)

 

Στόχος: Να φτιάξεις ένα "ρομπότ" που σχεδιάζει διαφορετικά σχήματα βάσει εντολών, χρησιμοποιώντας διαδικασίες.

Βασικές Έννοιες που εξασκούμε:

  • Διαδικασίες (Custom Blocks) (ο κορμός της άσκησης)

  • Επανάληψη (μέσα στις διαδικασίες για να φτιάξουμε τα σχήματα)

  • Επιλογή (για να αποφασίσει τι σχήμα θα σχεδιάσει)

  • Μεταβλητές (για να ορίσουμε το μέγεθος των σχημάτων)

Οδηγίες για το πρόγραμμα:

  1. Δημιούργησε δύο νέα μπλοκ (διαδικασίες):

    • Τετράγωνο (μέγεθος)

    • Τρίγωνο (μέγεθος)

  2. Ορισμός των μπλοκ:

    • Για το τετράγωνο: Χρησιμοποίησε επανάλαβε (4) και μέσα βάλε μπροστά (μέγεθος) βήματα και στρίψε δεξιά (90) μοίρες.

    • Για το τρίγωνο: Χρησιμοποίησε επανάλαβε (3) και μέσα βάλε μπροστά μέγεθος) βήματα και στρίψε δεξιά (120) μοίρες.

  3. Κύριος Κώδικας:

    • Όταν γίνει κλικ στην πράσινη σημαία, καθάρισε την οθόνη, σηκώσε πένα και πήγαινε στη θέση x:0 y:0.

    • Ρώτα τον χρήστη: "Τι να σχεδιάσω; 'τετράγωνο' ή 'τρίγωνο';"

    • Αν πει τετράγωνο, τότε κάλεσε Τετράγωνο (100).

    • Αλλιώς, αν πει τρίγωνο, τότε κάλεσε Τρίγωνο (100).

    • Αλλιώς, πες "Δεν ξέρω να σχεδιάζω αυτό ακόμα!".

  4. Τροποποίηση κώδικα (προσθήκη μεταβλητής)
    • Στον κώδικα, πριν την κλήση των διαδικασιών, πρόσθεσε εντολή που να ζητά από τον χρήστη το μήκος της πλευράς
  5. Προσθέστε ένα πεντάγωνο και τροποποιήστε τα μηνύματα.
  6. Προσθέστε επανάληψη έτσι ώστε το αντικείμενο να πηγαίνει σε τυχαία θέση και να ρωτά ποιο από τα 3 σχήματα θέλει ο χρήστης να δημιουργηθεί. Με την επιλογή 4. Έξοδος θα σταματά η εκτέλεση του προγράμματος.

_________________________________________________________________________

Άσκηση 2: ΕΠΕΚΤΑΣΗ του προγράμματος Το Ρομποτάκι Σχεδιαστής (Έκδοση Προχωρημένων)

 

Αποθηκεύστε το παραπάνω αρχείο με όνομα: το_προηγούμενο_όνομα v2

 

Στόχος: Να επικτείνεις το παραπάνω πρόγραμμα έτσι ώστε να μάθεις:

  1. Παράλληλος Προγραμματισμός: Διαφορετικά αντικείμενα εκτελούν κώδικα ταυτόχρονα

  2. Διαχείριση Γεγονότων (Events): Χειρισμός του event "όταν γίνει κλικ σε αντικείμενο"

  3. Αλληλεπίδραση Αντικειμένων: Πώς πολλά αντικείμενα μπορούν να επηρεάσουν ένα κύριο αντικείμενο

  4. Σχεδίαση Διεπαφής Χρήστη (UI): Πώς φτιάχνουμε φιλικές προς τον χρήστη εφαρμογές

Βήμα 1: Δημιουργία των Κουμπιών

Δημιούργησε τα εξής νέα αντικείμενα (Sprites) με εικονίδια ή κείμενο:

  1. Μορφή "Κουμπί_Καθαρισμός" (μπλε ή με εικονίδιο σκούπας)

  2. Μοργή "Κουμπί_Τετράγωνο"

  3. Μορφή "Κουμπί_Τρίγωνο"

  4. Μορφή "Κουμπί_Πεντάγωνο"

  5. Μορφή Κύκλος "Κουμπί_Κύκλος"

Βήμα 2: Κώδικας για το Κουμπί "Καθαρισμός"

Όταν γίνει κλικ σ' αυτό το κουμπί να γίνεται καθαρισμός της οθόνης

 

Βήμα 3: Κώδικας για τα Κουμπιά Σχημάτων (Τετράγωνο, Τρίγωνο, Πεντάγωνο, Κύκλος)

Όταν γίνει κλικ στο αντίστοιχο κουμπί να εκτελείται η αντίστοιχη διαδικασία.

 

Βήμα 5: Βελτιωμένος Κύριος Κώδικας (Ρομπότ Σχεδιαστής)

Τροποποιούμε τον κύριο κώδικα ώστε:

  1. Να μην εμφανίζει το δικό του μενού όταν υπάρχουν κουμπιά

  2. Να μπορεί να λειτουργεί παράλληλα με τα κουμπιά

  3. Να δίνει γενικές οδηγίες

Βήμα 6: Διαχείριση της Οθόνης

 Βεβαιώσου ότι:

  • Τα κουμπιά είναι πάντα μπροστά (χρησιμοποίησε την εντολή πήγαινε εμπρός)

  • Τα κουμπιά είναι σταθερά στη σκηνή και δεν κινούνται

  • Ο κύριος χαρακτήρας (στυλό) μπορεί να περνάει πίσω από τα κουμπιά χωρίς να σχεδιάζει πάνω τους

Προσθέτουμε αυτόν τον κώδικα σε ΟΛΑ τα κουμπιά:

δείξε
πήγαινε εμπρός // Για να είναι πάντα ορατά