Αρχή

Σκοπός της εργασίας  είναι η  αξιοποίηση της δύναμης των εντολών επανάληψης του Scratch σε συνδυασμό με τη χρήση μεταβλητών και τελεστών για την κατασκευή σύνθετων σχημάτων, όπως ο παρακάτω πολύχρωμος λαβύρινθος:

Εντολές επανάληψης : πρόκειται για βρόχους  μέσα στους οποίους βάζουμε μια ομάδα εντολών που επαναλαμβάνονται. Εδώ θα χρησιμοποιήσουμε 2 ειδών επαναλήψεις : μία με προκαθορισμένο αριθμό που θα κάνει τις επαναλήψεις που θα ορίσουμε εξαρχής και μία χωρίς προκαθορισμένο αριθμό επαναλήψεων. Ο βρόχος αυτός εκτελείται συνεχώς και σταματά μόνο  όταν ισχύσει η συνθήκη που ορίζουμε (ελέγχεται πριν από κάθε επανάληψη). Οι εντολές επανάληψης είναι ισχυρά εργαλεία στον προγραμματισμό αλλά απαιτούν προσοχή για να μην καταλήξουν σε ατέρμονους βρόχους.

Μεταβλητές: Είναι προσωρινές θέσεις αποθήκευσης δεδομένων (π.χ. αριθμών, λέξεων κτλ) τις οποίες δεσμεύουμε με κάποιο όνομα που δίνουμε. Χρησιμοποιούνται για την αποθήκευση πληροφοριών που εισάγει ο χρήστης ή προέρχονται από διάφορους υπολογισμούς κατά την εκτέλεση ενός σεναρίου (προγράμματος). Οι τιμές μπορούν να μεταβάλλονται κατά την εκτέλεση του προγράμματος και να αξιοποιούνται ποικιλοτρόπως σ΄ αυτό, κάνοντας το σενάριο δυναμικό. Μία συνηθισμένη χρήση της μεταβλητής σε μια εντολή επανάληψης είναι η χρήση της ως μετρητή.

Για τη δημιουργία του λαβύρινθου χρησιμοποιήθηκαν οι παρακάτω 15 εντολές:   

Ορισμός μεταβλητών:

Καταρχάς ορίζουμε 2 μεταβλητές με το όνομα «αρχική-διάσταση» και «τελική-διάσταση». Η πρώτη αφορά  το αρχικό μήκος της πλευράς και η δεύτερη το τελικό. Για να ορίσουμε τις μεταβλητές πάμε στην καρτέλα «Σενάρια» και στην ομάδα εντολών «Δεδομένα» πατάμε το κουμπί «Δημιουργήστε μια μεταβλητή». Στο παράθυρο «Νέα Μεταβλητή», δίνουμε το όνομα που θέλουμε και πατάμε «ΟΚ». Όταν ορίσουμε την πρώτη μεταβλητή εμφανίζεται μια ομάδα εντολών που φέρουν το όνομά της και από τις οποίες επιλέγουμε την κατάλληλη για το σενάριο. Αν έχουμε δύο ή περισσότερες μεταβλητές, οι εντολές έχουν ένα βελάκι με το οποίο επιλέγουμε κάθε φορά τη μεταβλητή που θέλουμε να σύρουμε μέσα στο σενάριο.

Ανάλυση των εντολών :

  1. Οι εντολές με μπλε χρώμα  1, 2 αρχικοποιούν το αντικείμενο (γάτα), δηλ. τη θέση και την κατεύθυνσή της στην οθόνη (βρίσκονται στην ομάδα εντολών «Κινήσεις», καρτέλα «Σενάρια»).
  2.  Οι εντολές με πράσινο χρώμα 3, 4, 5, 6 αρχικοποιούν την πένα (πάχος, χρώμα, κατέβασμα) και καθαρίζουν την οθόνη (βρίσκονται στην ομάδα εντολών «Σχεδιασμοί πένας»).
  3. Στις εντολές με καφέ χρώμα 7, 8 δίνουμε αρχικές τιμές στις μεταβλητές. Στη  μεταβλητή «αρχική διάσταση» δίνουμε τιμή εκκίνησης 2  που δηλώνει τα βήματα που θα προχωρήσει το αντικείμενο για να σχεδιάσει την πρώτη πλευρά. Όμως, αυτή η τιμή θα αυξάνει κατά έναν σταθερό αριθμό- που θα καθορίσουμε στην 13η εντολή- κάθε φορά που θα ολοκληρώνεται μία επανάληψη. Η τιμή της μεταβλητής «τελική-διάσταση» θα διατηρηθεί σταθερή ως το τέλος και ορίζει τη μέγιστη τιμή στην οποία μπορεί να φτάσει η «αρχική-διάσταση», δηλ. καθορίζει τη μέγιστη πλευρά στο σχήμα που σχεδιάζουμε.
  4. Η 9η είναι εντολή επανάληψης τύπου «επανάλαβε ώσπου»,που σημαίνει ότι όσες εντολές είναι φωλιασμένες μέσα σε αυτόν το βρόχο (10η ως 14η) θα εκτελούνται μέχρι να εκπληρωθεί η συνθήκη. Εδώ ως συνθήκη ορίζεται η τιμή της μεταβλητής «αρχική-διάσταση» να είναι μεγαλύτερη από την τιμή της «τελική-διάσταση». Δηλαδή, κάθε φορά που ολοκληρώνεται μια επανάληψη συγκρίνονται οι δύο τιμές και εφόσον η τιμή «αρχική-διάσταση» είναι μεγαλύτερη από την «τελική-διάσταση» σταματά η εκτέλεση των εντολών εντός του βρόχου (10η-14η) και εκτελείται η 15η εντολή. Εάν είναι μικρότερη, συνεχίζεται η εκτέλεση. Για να ορίσουμε τη συνθήκη σέρνουμε από την ομάδα εντολών «Τελεστές» αυτή της ανισότητας, τη φωλιάζουμε δεξιά από το «ώσπου»  και ακολούθως σέρνουμε στα 2 λευκά τετράγωνα τα ονόματα των μεταβλητών.
  5. Η 10η είναι εντολή επανάληψης τύπου «επανάλαβε..<τιμή>» και τις δώσαμε την τιμή 4. Αυτό σημαίνει ότι οι εντολές που βρίσκονται στο εσωτερικό της (11-12-13-14) θα επαναληφθούν 4 φορές.
  6. Η 11η  θα μετακινήσει το αντικείμενο τόσα βήματα όσο είναι η τιμή της μεταβλητής «αρχική διάσταση». Για να γίνει αυτό σύραμε μέσα στο λευκό πλαίσιο το όνομα της μεταβλητής.
  7. Η 12η στρίβει 90ο δεξιά το αντικείμενο για να σχηματιστεί ορθή γωνία (360:4=90). Αν θέλαμε να ο λαβύρινθος να έχει  σχήμα εξαγώνου θα βάζαμε στο λευκό πλαίσιο τιμή 60ο (360:6).
  8. Η  13η αυξάνει την τιμή της μεταβλητής κατά 2 (δηλ. μόλις ολοκληρωθεί η πρώτη εκτέλεση η  αρχική τιμή 2 θα γίνει 4, οπότε κάθε πλευρά είναι μεγαλύτερη από την προηγούμενη (και δεν θα σχηματιστεί τετράγωνο).
  9. Η 14η αυξάνει τον αριθμό του χρώματος κατά 2, ώστε  κάθε πλευρά να έχει διαφορετική απόχρωση (η παλέτα παίρνει τιμές 0-200). Όταν γίνουν οι 4 επαναλήψεις των εντολών 11-12-13-14 (επανέλαβε 4)  η αρχική τιμή της μεταβλητής θα γίνει  10 (2 αρχική + 4Χ2). Τότε η εκτέλεση επανέρχεται στην 9η εντολή (εξωτερικός βρόχος), ελέγχεται  η συνθήκη και επειδή το 10 δεν είναι μεγαλύτερο του 200 αρχίζει ο 2ος κύκλος επανάληψης. Συνολικά, θα γίνουν 25 επαναλήψεις (με αρχική τιμή 2 και αύξηση 2),  μέχρι η τιμή να περάσει το 200. Δηλαδή, θα  σχεδιαστούν 100 πλευρές  άνισες και διαφορετικής απόχρωσης (25 «τετράγωνα») και μετά θα εκτελεστεί η 15η εντολή. Αν αλλάξει η τιμή (ο ρυθμός) αύξησης της μεταβλητής  θα αλλάξει και ο αριθμός των πλευρών.
  10. Η  15η εντολή εξαφανίζει το αντικείμενο από την οθόνη. Αν θέλουμε να εμφανίζεται όσο γίνεται ο σχεδιασμός, βάζουμε στην αρχή την εντολή (ομάδα εντολών «Όψεις»).

ΠΑΡΑΔΟΤΕΟ:

Θα τροποποιήσετε τις παραπάνω εντολές, ώστε να σχηματίσετε τον παρακάτω λαβύρινθο με σχήμα πενταγώνου

και θα υποβάλετε έναν ενεργό σύνδεσμο της μορφής:  https://scratch.mit.edu/projects/......./

Θα χρειαστεί:

1) Να αλλάξετε την κατεύθυνση (2η εντολή).

2) Να ορίσετε μια νέα μεταβλητή με το όνομα «πλευρές» και να της δώσετε την  αρχική τιμή που απαιτείται για να σχηματιστεί το πεντάγωνο.

3) Στη 10η  εντολή  «επανάλαβε …» να αντικαταστήσετε την τιμή 4 με τη μεταβλητή «πλευρές». 4) Στη 12η εντολή «στρίψε 90», να χρησιμοποιήσετε το σωστό τελεστή και τη μεταβλητή «πλευρές», ώστε να υπολογίζεται αυτόματα η σωστή γωνία στροφής. Με αυτόν τον τρόπο, αλλάζοντας μόνο την αρχική τιμή της μεταβλητής «πλευρές» σχεδιάζονται λαβύρινθοι με διαφορετικές πλευρές. Επίσης αλλάζοντας το πάχος της πένας αλλά και τη σειρά της παλέτας (π.χ. από το 200 αρχική τιμή προς το 0 με βήμα π.χ. -2), δημιουργούνται διάφορες εντυπωσιακές χρωματικές συνθέσεις, όπως παρακάτω: