ΤΕΣΤ (ΑΣΚΗΣΕΙΣ) ONLINE
58 Tests / Διαγωνίσματα

Ενότητα 09 – Δραστηριότητες – Σελίδα 112-118 – ΠΛΗΡΟΦΟΡΙΚΗ Α΄ ΓΥΜΝΑΣΙΟΥ – Απαντήσεις – Λύσεις

(Πηγή: Βιβλίο Μαθητή, Πληροφορική Α΄ Γυμνασίου, Κεφάλαιο 9 «Προγραμματισμός Υπολογιστικών Συστημάτων» / Προγραμματισμός με το Scratch, σελ. 112-118. Το κεφάλαιο ΔΕΝ έχει δικό του τελικό «Ερωτήσεις» υποκεφάλαιο στο ΠΕΡΙΕΧΟΜΕΝΑ (θεωρία+widget+τεστ μόνο σε κάθε §9.1-9.8, βλ. kefalaio-9.x_theoria/askhseis/test). Οι 8 «Δραστηριότητα 1-8» παρακάτω είναι τοπικά αριθμημένα κουτιά project-building/άσκησης ενσωματωμένα μέσα στη θεωρία των §9.5, §9.6 και §9.7. Οι εκφωνήσεις είναι αυτούσιες από το σχολικό βιβλίο· όπου τα αριθμητικά/γεωμετρικά δεδομένα υπήρχαν μόνο σε συνοδευτική εικόνα, αυτά αποδόθηκαν από προσεκτική ανάλυση της εικόνας του PDF.)

Δραστηριότητες Κεφαλαίου 9

Δραστηριότητα 1 (σελ. 112)

Να βρείτε τις συντεταγμένες των παρακάτω χαρακτήρων.

(Το βιβλίο δείχνει ένα σύστημα αξόνων Scratch, με το Χ να πηγαίνει από -240 έως 240 και το Υ από -180 έως 180. Πάνω στο διάγραμμα εμφανίζονται 4 ζωάκια-χαρακτήρες: ένα ποντίκι πάνω-αριστερά, ένα ψαράκι-παλιάτσος πάνω-δεξιά, μια κουκουβάγια κάτω-αριστερά και ένα κοτοπουλάκι κάτω-δεξιά.)

Σκέψη / Μεθοδολογία: Στο Scratch η θέση κάθε αντικειμένου πάνω στη σκηνή περιγράφεται με ένα ζεύγος συντεταγμένων (x, y), όπου το x μετρά την οριζόντια απόσταση από το κέντρο της σκηνής (θετικό προς τα δεξιά, αρνητικό προς τα αριστερά) και το y την κατακόρυφη απόσταση (θετικό προς τα πάνω, αρνητικό προς τα κάτω). Η σκηνή του Scratch έχει πλάτος 480 (x: -240 έως 240) και ύψος 360 (y: -180 έως 180), όπως ακριβώς εμφανίζεται στο διάγραμμα του βιβλίου. Για να διαβάσουμε τη θέση κάθε χαρακτήρα μετράμε πόσα «κουτάκια» των 100 μονάδων απέχει οριζόντια και κάθετα από το κέντρο (0,0), χρησιμοποιώντας τις γραμμές πλέγματος (gridlines) στα -200, -100, 100, 200 (Χ) και 100, -100 (Υ) ως οδηγό. Επειδή πρόκειται για ανάγνωση θέσης πάνω σε εικόνα (όχι για υπολογισμό), οι τιμές που δίνονται παρακάτω είναι οι πλησιέστερες «στρογγυλές» τιμές στις οποίες αντιστοιχεί οπτικά η θέση κάθε χαρακτήρα — μικρές αποκλίσεις της τάξης των ±10 μονάδων θεωρούνται αποδεκτές, αφού δεν πρόκειται για μαθηματικά μοναδικό αποτέλεσμα αλλά για εκτίμηση πάνω σε σχέδιο.

Λύση:

  1. Εντοπίζουμε το κέντρο των αξόνων (0,0) στο σημείο τομής του οριζόντιου (Χ) και του κατακόρυφου (Υ) άξονα.
  2. Για κάθε χαρακτήρα μετράμε πόσα «κουτάκια» των 100 μονάδων απέχει οριζόντια (αριστερά=αρνητικό, δεξιά=θετικό) και πόσα κάθετα (πάνω=θετικό, κάτω=αρνητικό), συγκρίνοντάς τον με τις τυπωμένες τιμές -200,-100,100,200 (άξονας Χ) και 100,-100 (άξονας Υ).
  3. Ποντίκι (πάνω-αριστερά τεταρτημόριο, ανάμεσα στις γραμμές Χ=-200 και Χ=-100, λίγο πάνω από τη γραμμή Υ=100): περίπου (X: -190, Y: 90).
  4. Ψαράκι-παλιάτσος (πάνω-δεξιά τεταρτημόριο, λίγο μετά τη γραμμή Χ=100, στο ίδιο περίπου ύψος με το ποντίκι): περίπου (X: 105, Y: 90).
  5. Κουκουβάγια (κάτω-αριστερά τεταρτημόριο, ακριβώς πάνω στις γραμμές Χ=-100 και Υ=-100): περίπου (X: -100, Y: -100).
  6. Κοτοπουλάκι (κάτω-δεξιά τεταρτημόριο, μετά τη γραμμή Χ=100 και πιο κάτω από τη γραμμή Υ=-100): περίπου (X: 125, Y: -135).

Απάντηση (ενδεικτική): Ποντίκι ≈ (X:-190, Y:90) · Ψαράκι-παλιάτσος ≈ (X:105, Y:90) · Κουκουβάγια ≈ (X:-100, Y:-100) · Κοτοπουλάκι ≈ (X:125, Y:-135).

Πρόσεξε:

  • Το x είναι θετικό ΔΕΞΙΑ και αρνητικό ΑΡΙΣΤΕΡΑ από το κέντρο· το y είναι θετικό ΠΑΝΩ και αρνητικό ΚΑΤΩ — αντίστροφο από ό,τι συνηθίζουμε στην αρίθμηση γραμμών κειμένου.
  • Οι τιμές αυτές είναι εκτιμήσεις ανάγνωσης πάνω σε σχέδιο (δεν υπάρχει pixel-perfect μοναδική απάντηση)· η κουκουβάγια είναι η μόνη περίπτωση που πέφτει ακριβώς πάνω σε τομή γραμμών πλέγματος (-100,-100) και άρα η πιο «σίγουρη» τιμή.
  • Μην μπερδεύετε τα όρια της σκηνής ((X:-240,Y:0) κ.λπ., τυπωμένα στις άκρες) με τις θέσεις των χαρακτήρων· τα όρια δείχνουν απλώς πού σταματάει η σκηνή.

Δραστηριότητα 2 (σελ. 112)

Μια μαθήτρια έδωσε τις παρακάτω εντολές για να σχεδιαστεί ένα ισόπλευρο τρίγωνο πλευράς 150:

επανάλαβε 3 κινήσου 150 βήματα στρίψε ↺ 60 μοίρες (αριστερά)

Το σχήμα εμφανίζεται τελικά και ποιου σχήματος είναι μέρος; Τι πρέπει να διορθώσει η μαθήτρια ώστε να εμφανιστεί ισόπλευρο τρίγωνο; (Το βιβλίο συνοδεύει την άσκηση με σχήμα που δείχνει τρίγωνο ΑΒΓ όπου στην κορυφή Β σημειώνεται η εσωτερική γωνία 60° και, σε προέκταση της πλευράς ΑΒ προς σημείο Γ, η αντίστοιχη εξωτερική γωνία 120°.)

Σκέψη / Μεθοδολογία: Στο Scratch/Logo η εντολή «στρίψε» αλλάζει την ΚΑΤΕΥΘΥΝΣΗ προς την οποία κοιτάζει ο χαρακτήρας, όχι τη γωνία του σχήματος απευθείας. Η γωνία στροφής που χρειάζεται σε κάθε κορυφή για να κλείσει ένα κανονικό πολύγωνο είναι η ΕΞΩΤΕΡΙΚΗ γωνία (360°/ν όπου ν το πλήθος πλευρών), όχι η εσωτερική γωνία του σχήματος. Για ισόπλευρο τρίγωνο η εσωτερική γωνία είναι 60° αλλά η εξωτερική (η γωνία στροφής) είναι 180°-60°=120° — ακριβώς αυτό δείχνει και το συνοδευτικό σχήμα του βιβλίου (60° εσωτερική στο Β, 120° εξωτερική στην προέκταση προς Γ). Η μαθήτρια χρησιμοποίησε λανθασμένα την εσωτερική γωνία (60°) ως γωνία στροφής. Επαληθεύσαμε το αποτέλεσμα προσομοιώνοντας την κίνηση με πρόγραμμα: μετά από 3 επαναλήψεις κίνησης 150 βημάτων και στροφής 60° η κατεύθυνση αλλάζει συνολικά μόνο κατά 180° (3×60°) αντί για 360°, οπότε η γάτα ΔΕΝ επιστρέφει στο σημείο εκκίνησης — το σχήμα δεν κλείνει σε τρίγωνο.

Λύση:

  1. Κανόνας: γωνία στροφής (εξωτερική γωνία) = 180° − εσωτερική γωνία του κανονικού πολυγώνου, ή ισοδύναμα 360°/ν.
  2. Για ισόπλευρο τρίγωνο (ν=3): εσωτερική γωνία = 60°, άρα η σωστή γωνία στροφής είναι 360°/3 = 120° (όχι 60°).
  3. Προσομοίωση της δοσμένης (λανθασμένης) εντολής με στροφή 60° αντί 120°: ξεκινώντας από τυχαία αρχική κατεύθυνση, μετά από 3× (κίνηση 150, στροφή 60°) η συνολική στροφή είναι μόνο 180° — η γάτα καταλήγει να κοιτάζει στην ΑΝΤΙΘΕΤΗ κατεύθυνση από την αρχική, όχι στην ίδια, άρα η διαδρομή δεν κλείνει.
  4. Τα 3 τμήματα ευθείας που σχεδιάζονται (μήκους 150 το καθένα, με στροφή 60° ανάμεσά τους) είναι στην πραγματικότητα 3 διαδοχικές πλευρές ενός κανονικού ΕΞΑΓΩΝΟΥ πλευράς 150 — αφού η εξωτερική γωνία του κανονικού εξαγώνου είναι ακριβώς 360°/6=60°. Άρα το σχήμα που εμφανίζεται τελικά είναι ένα ανοιχτό (μη κλειστό) σχήμα από 3 συνεχόμενες πλευρές — μισό κανονικό εξάγωνο, όχι τρίγωνο.
  5. Διόρθωση: αλλάζουμε την τιμή στο μπλοκ «στρίψε» από 60 σε 120 μοίρες, ώστε η εντολή να γίνει «επανάλαβε 3 [κινήσου 150 βήματα, στρίψε ↺ 120 μοίρες]» — έτσι η συνολική στροφή στο τέλος των 3 επαναλήψεων είναι 3×120°=360°, η γάτα επιστρέφει ακριβώς στο αρχικό σημείο κοιτώντας στην αρχική κατεύθυνση, και το σχήμα κλείνει σε κανονικό ισόπλευρο τρίγωνο πλευράς 150.

Απάντηση: Το σχήμα δεν κλείνει σε τρίγωνο — είναι ένα ανοιχτό τμήμα (3 διαδοχικές πλευρές) κανονικού εξαγώνου πλευράς 150, γιατί η μαθήτρια χρησιμοποίησε την εσωτερική γωνία (60°) αντί της γωνίας στροφής/εξωτερικής γωνίας (120°). Διόρθωση: «στρίψε 120 μοίρες» αντί για «στρίψε 60 μοίρες».

Πρόσεξε:

  • Μην μπερδεύετε την εσωτερική γωνία ενός κανονικού πολυγώνου με τη γωνία στροφής («turn») που χρειάζεται ο χαρακτήρας στο Scratch/Logo — είναι συμπληρωματικές ως προς 180° (εξωτερική + εσωτερική = 180°).
  • Ο γενικός κανόνας «γωνία στροφής = 360°/ν» ισχύει για ΚΑΘΕ κανονικό πολύγωνο (τετράγωνο→90°, ισόπλευρο τρίγωνο→120°, κανονικό εξάγωνο→60° κ.ο.κ.) — χρήσιμο να το θυμόμαστε ως γενικό εργαλείο.
  • Το ότι το λανθασμένο βήμα τυχαίνει να ταιριάζει ακριβώς με την εξωτερική γωνία του εξαγώνου (60°) δεν είναι τυχαίο σύμπτωμα του βιβλίου, αλλά ο πιο συνηθισμένος τύπος λάθους μαθητών σε αυτό το θέμα — γι' αυτό χρησιμοποιείται εδώ ως παράδειγμα προς αποφυγή.

Δραστηριότητα 3 (σελ. 113)

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

Σχήμα 1: μια οριζόντια βάση (ευθεία γραμμή) πάνω στην οποία «κάθονται» 3 διαδοχικά ισόπλευρα τρίγωνα με τις κορυφές τους προς τα πάνω (σαν «δόντια πριονιού»/κορώνα), με τη γάτα να ξεκινά από το κάτω-δεξιά άκρο της βάσης. Σχήμα 2: ένα τετράγωνο με ένα ισόπλευρο τρίγωνο κολλημένο (με τη βάση του) σε καθεμία από τις 4 πλευρές του, με τις κορυφές των τριγώνων να δείχνουν προς τα έξω (σχηματίζοντας ένα «αστέρι» 8 πλευρών) — η γάτα ξεκινά από μία κορυφή του τετραγώνου. Σχήμα 3: ένα κανονικό δεκάγωνο (πολύγωνο 10 ίσων πλευρών, σχεδόν σαν κύκλος) — η γάτα ξεκινά από μία κορυφή του, κοιτώντας κατά μήκος μιας πλευράς. Σχήμα 4: 4 ίσα τετράγωνα τοποθετημένα το ένα δίπλα στο άλλο (2×2) ώστε να μοιράζονται όλα μία κοινή κορυφή στο κέντρο (σαν ανεμόμυλος/pinwheel) — η γάτα ξεκινά από το κοινό κεντρικό σημείο. Σχήμα 5: 4 ίσα τετράγωνα τοποθετημένα σε διάταξη πλέγματος 2×2 αλλά ΧΩΡΙΣ να ακουμπάει το ένα το άλλο (με κενό ανάμεσά τους) — η γάτα ξεκινά από την κάτω-αριστερή κορυφή του κάτω-αριστερού τετραγώνου.

Σκέψη / Μεθοδολογία: Σε όλα τα σχήματα χρησιμοποιούμε το ίδιο βασικό εργαλείο: «κατέβασε πένα» για να ζωγραφίζει η γάτα καθώς κινείται, «κινήσου Ν βήματα» για κάθε πλευρά και «στρίψε ↻/↺ (360°/πλήθος πλευρών) μοίρες» στην κορυφή κάθε κανονικού πολυγώνου. Η δυσκολία είναι να βρούμε μια ΣΕΙΡΑ κινήσεων που να διασχίζει κάθε γραμμή του σχήματος ΑΚΡΙΒΩΣ μία φορά (μονοπάτι Euler), χωρίς περιττά περάσματα πάνω από ήδη σχεδιασμένη γραμμή. Για το Σχήμα 1 αυτό σημαίνει να ΜΗΝ σχεδιάσουμε κάθε τρίγωνο ξεχωριστά ως κλειστό σχήμα (κάτι που θα ξαναπερνούσε πάνω από τη βάση), αλλά να σχεδιάσουμε πρώτα τη βάση ως ΜΙΑ ευθεία και μετά το «πάνω περίγραμμα» (τα 6 πλάγια τμήματα) σαν ζιγκ-ζαγκ. Όλα τα μονοπάτια παρακάτω επαληθεύτηκαν με προσομοίωση κίνησης σε Python (υπολογισμός συντεταγμένων μετά από κάθε κίνηση/στροφή), επιβεβαιώνοντας ότι κάθε σχέδιο κλείνει ακριβώς εκεί που έπρεπε.

Λύση:

  1. ΣΧΗΜΑ 1 (ζιγκ-ζαγκ 3 τριγώνων πάνω σε βάση, χωρίς επανάληψη γραμμής): Η γάτα ξεκινά κοιτώντας ΑΡΙΣΤΕΡΑ (κατεύθυνση -90°) στην κάτω-δεξιά άκρη. Πρόγραμμα (πλευρά=100): «κατέβασε πένα» → «κινήσου 300 βήματα» (σχεδιάζει ΟΛΗ τη βάση με ΜΙΑ κίνηση, αφού μήκος βάσης = 3×100) → «στρίψε δεξιά 120 μοίρες» → «επανάλαβε 3 [ κινήσου 100 βήματα, στρίψε δεξιά 120 μοίρες, κινήσου 100 βήματα, στρίψε αριστερά 120 μοίρες ]». Η προσομοίωση επιβεβαίωσε ότι η γάτα διαγράφει τις 3 κορυφές των τριγώνων εναλλάξ (πάνω-κάτω-πάνω-κάτω-πάνω-κάτω) και επιστρέφει ακριβώς στο σημείο εκκίνησης, χωρίς καμία γραμμή να σχεδιαστεί δύο φορές.
  2. ΣΧΗΜΑ 2 (τετράγωνο + 4 τρίγωνα = αστέρι 8 πλευρών): Η γάτα ξεκινά από μία κορυφή του τετραγώνου κοιτώντας προς την κοντινή κορυφή ενός τριγώνου (κατεύθυνση 30°). Πρόγραμμα (πλευρά=100): «κατέβασε πένα» → «επανάλαβε 4 [ κινήσου 100 βήματα, στρίψε δεξιά 120 μοίρες, κινήσου 100 βήματα, στρίψε αριστερά 30 μοίρες ]». Εδώ η στροφή 120° γίνεται στη μυτερή κορυφή κάθε τριγώνου (εξωτερική γωνία ισόπλευρου τριγώνου) και η στροφή 30° γίνεται στις «εσοχές» — τις κορυφές του τετραγώνου, όπου το περίγραμμα στρίβει ελαφρά προς την αντίθετη μεριά. Η προσομοίωση επιβεβαίωσε πλήρη κλείσιμο του σχήματος μετά από 8 πλευρές, χωρίς επανάληψη γραμμής.
  3. ΣΧΗΜΑ 3 (κανονικό δεκάγωνο, 10 πλευρές): εξωτερική γωνία = 360°/10 = 36°. Πρόγραμμα: «κατέβασε πένα» → «επανάλαβε 10 [ κινήσου 100 βήματα, στρίψε δεξιά 36 μοίρες ]». Μετά από 10 επαναλήψεις η συνολική στροφή είναι 360°, άρα το σχήμα κλείνει ακριβώς — κλασικός τύπος «κανονικό πολύγωνο ν πλευρών».
  4. ΣΧΗΜΑ 4 (4 τετράγωνα με κοινή κορυφή στο κέντρο, ανεμόμυλος): η γάτα ξεκινά από το κεντρικό σημείο. Πρόγραμμα (πλευρά=100): «κατέβασε πένα» → «επανάλαβε 4 [ επανάλαβε 4 [ κινήσου 100 βήματα, στρίψε δεξιά 90 μοίρες ], στρίψε δεξιά 90 μοίρες ]». Ο εσωτερικός βρόχος σχεδιάζει ένα ολόκληρο τετράγωνο και επαναφέρει τη γάτα ΑΚΡΙΒΩΣ στο κεντρικό σημείο με την ίδια αρχική κατεύθυνση· η εξωτερική στροφή 90° μετά από κάθε τετράγωνο αλλάζει το «τεταρτημόριο» προς το οποίο θα σχεδιαστεί το επόμενο τετράγωνο. Επειδή τα 4 τετράγωνα ακουμπάνε μόνο στο κοινό σημείο (όχι σε κοινή πλευρά), καμία γραμμή δεν ξαναπερνιέται.
  5. ΣΧΗΜΑ 5 (4 ξεχωριστά τετράγωνα σε πλέγμα 2×2, με κενό): εδώ τα τετράγωνα δεν ακουμπάνε καθόλου μεταξύ τους, άρα ΔΕΝ μπορούμε να περάσουμε από το ένα στο άλλο με κατεβασμένη πένα. Πιο απλή/ασφαλής λύση: για κάθε ένα από τα 4 τετράγωνα, «σήκωσε πένα» → «πήγαινε στη θέση x: … y: …» (η κάτω-αριστερή κορυφή του συγκεκριμένου τετραγώνου) → «δείξε προς κατεύθυνση 90» → «κατέβασε πένα» → «επανάλαβε 4 [ κινήσου 100 βήματα, στρίψε δεξιά 90 μοίρες ]». Επαναλαμβάνουμε αυτό το τετράδιο βημάτων 4 φορές (μία για κάθε τετράγωνο του πλέγματος, π.χ. με σταθερό βήμα πλέγματος 150 μονάδων ώστε να μένει ορατό κενό ανάμεσα στα τετράγωνα των 100 μονάδων). Το «σήκωσε πένα» πριν από κάθε μετακίνηση εγγυάται ότι δεν σχεδιάζεται καμία επιπλέον γραμμή ανάμεσα στα τετράγωνα.

Απάντηση (ενδεικτική): 5 ανεξάρτητα προγράμματα πένας (ένα ανά σχήμα), όλα βασισμένα στον κανόνα «στροφή = 360°/πλήθος πλευρών» για κανονικά πολύγωνα, με το Σχήμα 1 να χρειάζεται εναλλασσόμενη στροφή δεξιά/αριστερά 120° (ζιγκ-ζαγκ πάνω σε ενιαία βάση), το Σχήμα 2 στροφή 120°/30° εναλλάξ, το Σχήμα 3 σταθερή στροφή 36°×10, το Σχήμα 4 τετράγωνα-σε-κοινό-σημείο με «σήκωσε/κατέβασε πένα» ΜΟΝΟ ανάμεσα σε ολόκληρα τετράγωνα (όχι εδώ, μιας κι ενώνονται), και το Σχήμα 5 με «σήκωσε πένα + πήγαινε σε θέση» ανάμεσα στα 4 αποκομμένα τετράγωνα. Όλα επαληθεύτηκαν αλγοριθμικά ότι κλείνουν σωστά χωρίς επανάληψη γραμμής.

Πρόσεξε:

  • Το Σχήμα 1 είναι η πιο συνηθισμένη παγίδα: αν σχεδιάσουμε κάθε τρίγωνο ξεχωριστά ως πλήρες κλειστό σχήμα (3 πλευρές, επιστροφή στην αρχή του), θα ξαναπεράσουμε πάνω από τμήμα της κοινής βάσης — ακριβώς αυτό απαγορεύει η εκφώνηση.
  • Στο Σχήμα 4 τα τετράγωνα ΑΓΓΙΖΟΝΤΑΙ μόνο σε ένα σημείο (όχι σε πλευρά), οπότε η πένα μπορεί να μείνει συνέχεια κάτω· στο Σχήμα 5 δεν αγγίζονται καθόλου, οπότε ΠΡΕΠΕΙ να σηκώσουμε την πένα ανάμεσα στις μετακινήσεις, αλλιώς θα εμφανιστούν αχρείαστες συνδετικές γραμμές.
  • Πρόκειται για δημιουργική/project-building δραστηριότητα: υπάρχουν πολλές ισοδύναμες σωστές υλοποιήσεις (π.χ. διαφορετική αρχική κατεύθυνση, φορά ωρολογιακή αντί αντι-ωρολογιακής) — η παραπάνω είναι μία πλήρως επαληθευμένη, όχι η μοναδική.

Δραστηριότητα 4 (σελ. 115)

Ποιες είναι οι τελικές τιμές των μεταβλητών μετά την εκτέλεση των παρακάτω προγραμμάτων;

Α όρισε X σε 10 όρισε Y σε 25 άλλαξε X κατά Y άλλαξε X κατά X + Y άλλαξε Y κατά X

Β όρισε X σε 2 επανάλαβε 100000 άλλαξε X κατά 1

Γ όρισε X σε 0 όρισε Z σε 0 επανάλαβε 100 άλλαξε X κατά 1 άλλαξε Z κατά X

Σκέψη / Μεθοδολογία: Σε κάθε πρόγραμμα εκτελούμε τις εντολές με τη σειρά, ενημερώνοντας κάθε φορά την τρέχουσα τιμή της κάθε μεταβλητής (η εντολή «άλλαξε Μ κατά Ε» σημαίνει Μ ← Μ + Ε, όπου η τιμή της παράστασης Ε υπολογίζεται ΠΡΙΝ γίνει η ενημέρωση, με τις τρέχουσες τιμές των μεταβλητών εκείνη τη στιγμή). Το πρόγραμμα Β και Γ χρησιμοποιούν «επανάλαβε Ν» για να εκτελέσουν το ίδιο μπλοκ εντολών Ν φορές διαδοχικά. Όλες οι τιμές παρακάτω επαληθεύτηκαν εκτελώντας την ακριβή λογική με πρόγραμμα Python (όχι νοερός υπολογισμός).

Λύση:

  1. Πρόγραμμα Α — βήμα-βήμα: X=10, Y=25 (αρχικοποίηση). «άλλαξε X κατά Y» → X = 10+25 = 35. «άλλαξε X κατά X+Y» → προσοχή: εδώ το X+Y υπολογίζεται με το ΝΕΟ X (35) και το Y (ακόμη 25, αφού δεν έχει αλλάξει): X = 35 + (35+25) = 35+60 = 95. «άλλαξε Y κατά X» → Y = 25 + 95 = 120. Τελικά: X=95, Y=120.
  2. Πρόγραμμα Β — βήμα-βήμα: X=2 αρχικά, και «άλλαξε X κατά 1» εκτελείται 100.000 φορές μέσα στην επανάληψη, άρα X = 2 + 100.000 = 100.002.
  3. Πρόγραμμα Γ — βήμα-βήμα: X=0, Z=0 αρχικά. Σε κάθε μία από τις 100 επαναλήψεις: πρώτα X αυξάνεται κατά 1 (οπότε μετά την πρώτη επανάληψη X=1, μετά τη δεύτερη X=2 κ.ο.κ., μέχρι X=100 στο τέλος), και ΑΜΕΣΩΣ μετά το Z αυξάνεται κατά την (ήδη ενημερωμένη) τρέχουσα τιμή του X. Άρα το Z συσσωρεύει το άθροισμα 1+2+3+…+100. Το άθροισμα των πρώτων 100 φυσικών αριθμών είναι 100×101/2 = 5050. Τελικά: X=100, Z=5050.

Απάντηση: Α: X=95, Y=120. Β: X=100002. Γ: X=100, Z=5050 (το άθροισμα 1+2+…+100).

Πρόσεξε:

  • Στο Πρόγραμμα Α η σειρά των εντολών παίζει καθοριστικό ρόλο: το «άλλαξε X κατά X+Y» χρησιμοποιεί την ΗΔΗ ενημερωμένη τιμή του X (35), όχι την αρχική (10) — συνηθισμένο λάθος μαθητών είναι να ξαναχρησιμοποιήσουν την αρχική τιμή.
  • Στο Πρόγραμμα Γ, το Z αθροίζει τις τιμές ΜΕΤΑ την αύξηση του X σε κάθε επανάληψη (δηλαδή προσθέτει 1,2,3,…,100 — όχι 0,1,2,…,99), επειδή η εντολή «άλλαξε X κατά 1» εκτελείται ΠΡΙΝ το «άλλαξε Z κατά X» μέσα στην ίδια επανάληψη.
  • Στο Πρόγραμμα Β δεν χρειάζεται να «τρέξουμε» νοερά 100.000 φορές τον βρόχο — αρκεί να αναγνωρίσουμε ότι η επανάληψη απλώς προσθέτει 1 στο X, Ν φορές συνολικά, άρα το αποτέλεσμα είναι αρχική_τιμή + Ν.

Δραστηριότητα 5 (σελ. 116)

Να αναπτύξετε προγράμματα σε Scratch, τα οποία θα εμφανίζουν κάθε ένα από τα παρακάτω σχήματα.

Σχήμα Α: μία σειρά από 7 «ομόκεντρα» κανονικά πολύγωνα με αυξανόμενο πλήθος πλευρών, όλα σχεδιασμένα με την ΙΔΙΑ πλευρά (ίδιο μήκος βήματος) και όλα να ξεκινούν από το ΙΔΙΟ σημείο και προς την ΙΔΙΑ αρχική κατεύθυνση — από το πιο μικρό/μυτερό (ισόπλευρο τρίγωνο, 3 πλευρές) μέχρι το πιο μεγάλο/στρογγυλεμένο (κανονικό εννεάγωνο, 9 πλευρές· ανάμεσα εμφανίζονται τετράγωνο, πεντάγωνο, εξάγωνο, επτάγωνο, οκτάγωνο), όλα με κοινή την πρώτη τους πλευρά (βάση). Σχήμα Β: μία σειρά από 10 ομόκεντρα τετράγωνα με αυξανόμενο μέγεθος, όλα να μοιράζονται την ΙΔΙΑ κάτω-αριστερή γωνία (κοινή αφετηρία) και τον ίδιο προσανατολισμό, το καθένα μεγαλύτερο από το προηγούμενο κατά σταθερό βήμα. Σχήμα Γ: 6 ίσα τετράγωνα, όλα με κοινή μία κορυφή στο κέντρο, το καθένα στραμμένο 60° περισσότερο από το προηγούμενο (σχηματίζοντας «ανεμόμυλο»/πινγουίν 6 φτερών γύρω από το κέντρο).

Σκέψη / Μεθοδολογία: Και στα 3 σχήματα η κοινή τεχνική είναι: (1) ένα «καλούπι» σχεδίασης κανονικού πολυγώνου ν πλευρών με πλευρά L — «επανάλαβε ν [κινήσου L βήματα, στρίψε δεξιά (360/ν) μοίρες]» — και (2) επανάληψη αυτού του καλουπιού πολλές φορές, αλλάζοντας κάθε φορά μία παράμετρο (το πλήθος πλευρών ν στο Σχήμα Α, το μέγεθος L στο Σχήμα Β, την αρχική κατεύθυνση στο Σχήμα Γ) ενώ επιστρέφουμε στο ΙΔΙΟ κοινό σημείο εκκίνησης πριν από κάθε νέο σχήμα. Το γεγονός ότι στο Σχήμα Α όλα τα πολύγωνα ξεκινούν από το ίδιο σημείο, με την ίδια πλευρά L και την ίδια αρχική κατεύθυνση εξηγεί γιατί όλα μοιράζονται την ίδια πρώτη πλευρά στην εικόνα (αφού η πρώτη κίνηση «κινήσου L βήματα» είναι πανομοιότυπη για όλα) — το πολύγωνο απλά «ανοίγει» πιο πλατιά όσο αυξάνεται το ν. Όλες οι διαδρομές επαληθεύτηκαν με προσομοίωση κίνησης σε Python, επιβεβαιώνοντας ότι κάθε πολύγωνο/τετράγωνο κλείνει ακριβώς στο αναμενόμενο σημείο.

Λύση:

  1. ΣΧΗΜΑ Α — λύση με μεταβλητή «πλευρές»: «κατέβασε πένα» και για κάθε τιμή ν από 3 έως 9: «πήγαινε στη θέση x0,y0» (το ίδιο κοινό σημείο εκκίνησης) → «δείξε προς κατεύθυνση 90» (η ίδια αρχική κατεύθυνση για όλα) → «επανάλαβε ν [ κινήσου 100 βήματα, στρίψε δεξιά (360/ν) μοίρες ]». Στην πράξη αυτό γράφεται είτε ως 7 ξεχωριστά «κομμάτια» κώδικα (ν=3,4,5,6,7,8,9 το καθένα με το δικό του σταθερό αριθμό επαναλήψεων και δική του σταθερή γωνία 360/ν), είτε πιο κομψά με μια μεταβλητή «πλευρές» που παίρνει διαδοχικά τις τιμές 3 έως 9 (όρισε πλευρές σε 3, επανάλαβε 7 [ …σχεδίασε πολύγωνο με ν=πλευρές…, άλλαξε πλευρές κατά 1 ]) και τη γωνία στροφής να υπολογίζεται με τη διαίρεση 360/πλευρές μέσα στο ίδιο μπλοκ. Επειδή η πρώτη κίνηση (100 βήματα, ίδια αρχική κατεύθυνση) είναι πανομοιότυπη σε όλα τα πολύγωνα, όλα «μοιράζονται» οπτικά την ίδια πρώτη πλευρά-βάση, ακριβώς όπως στην εικόνα του βιβλίου.
  2. ΣΧΗΜΑ Β — ομόκεντρα τετράγωνα αυξανόμενου μεγέθους: «πήγαινε στη θέση x0,y0» → «δείξε προς κατεύθυνση 90» → «όρισε μέγεθος σε 30» → «κατέβασε πένα» → «επανάλαβε 10 [ πήγαινε στη θέση x0,y0, δείξε προς κατεύθυνση 90, επανάλαβε 4 [ κινήσου μέγεθος βήματα, στρίψε δεξιά 90 μοίρες ], άλλαξε μέγεθος κατά 30 ]». Κάθε τετράγωνο σχεδιάζεται ξεχωριστά ξεκινώντας πάντα από το ίδιο σημείο/κατεύθυνση, με πλευρά που μεγαλώνει κατά 30 βήματα κάθε φορά — αφού όλα μοιράζονται μόνο ένα κοινό σημείο (γωνία) και όχι κοινή πλευρά, δεν χρειάζεται σήκωμα πένας ανάμεσά τους.
  3. ΣΧΗΜΑ Γ — 6 τετράγωνα σε ανεμόμυλο γύρω από κοινό κέντρο: «πήγαινε στη θέση x0,y0» (το κοινό κεντρικό σημείο) → «δείξε προς κατεύθυνση 90» → «κατέβασε πένα» → «επανάλαβε 6 [ πήγαινε στη θέση x0,y0, επανάλαβε 4 [ κινήσου 120 βήματα, στρίψε δεξιά 90 μοίρες ], στρίψε δεξιά 60 μοίρες ]». Ο εσωτερικός βρόχος σχεδιάζει ένα πλήρες τετράγωνο και επαναφέρει τη γάτα στο κέντρο με την ΙΔΙΑ κατεύθυνση με την οποία ξεκίνησε· η τελική στροφή 60° (=360°/6) στρέφει την αρχική κατεύθυνση για το επόμενο τετράγωνο, ώστε τα 6 τετράγωνα να απλωθούν ομοιόμορφα γύρω από το κοινό κεντρικό σημείο, σχηματίζοντας το «πινγουίν» της εικόνας.

Απάντηση (ενδεικτική): 3 ανεξάρτητα προγράμματα Scratch (ένα ανά σχήμα): Α = 7 κανονικά πολύγωνα (ν=3…9, ίδιο σημείο/κατεύθυνση/πλευρά 100, στροφή 360/ν σε κάθε πολύγωνο)· Β = 10 ομόκεντρα τετράγωνα από κοινή γωνία με πλευρά που μεγαλώνει κατά 30 κάθε φορά· Γ = 6 τετράγωνα πλευράς 120 γύρω από κοινό κέντρο, με στροφή 60° της αρχικής κατεύθυνσης ανάμεσα σε κάθε τετράγωνο.

Πρόσεξε:

  • Στο Σχήμα Α το «μυστικό» είναι ότι η ΚΟΙΝΗ πρώτη πλευρά δεν χρειάζεται καμία ειδική τεχνική· προκύπτει αυτόματα αν όλα τα πολύγωνα ξεκινούν από το ίδιο σημείο, με την ίδια αρχική κατεύθυνση και την ίδια πλευρά — μόνο το πλήθος πλευρών (και άρα η γωνία στροφής 360/ν) αλλάζει.
  • Στο Σχήμα Β/Γ, ΠΡΕΠΕΙ να επαναφέρουμε ρητά τη γάτα στο κοινό σημείο (με «πήγαινε στη θέση…») πριν από κάθε νέο τετράγωνο· αν βασιστούμε μόνο στο ότι «η γάτα επιστρέφει μόνη της» μετά το κλείσιμο ενός τετραγώνου χωρίς έλεγχο, ο παραμικρός αριθμητικός σφάλμα στρογγύλευσης θα σωρευτεί.
  • Πρόκειται για ενδεικτική/δημιουργική λύση — το ακριβές πλήθος πολυγώνων/τετραγώνων και οι ακριβείς διαστάσεις εκτιμήθηκαν από την εικόνα του βιβλίου και μπορεί να διαφέρουν ελαφρώς σε λεπτομέρεια, αλλά η ΤΕΧΝΙΚΗ (κοινό σημείο εκκίνησης + μεταβαλλόμενη παράμετρος ν/μέγεθος/γωνία σε κάθε επανάληψη) είναι η σωστή γενική προσέγγιση.

Δραστηριότητα 6 (σελ. 116)

Τι υπολογίζουν και εμφανίζουν τα παρακάτω προγράμματα; Να εξηγήσετε τη λειτουργία τους.

Α όρισε x σε 0 επανάλαβε 100 σκέψου x * x άλλαξε x κατά 1

Β όταν γίνει κλικ σε [σημαία] όρισε Βάση σε 2 όρισε Εκθέτης σε 20 όρισε Δύναμη σε 1 επανάλαβε Εκθέτης όρισε Δύναμη σε Δύναμη * Βάση

Γ όταν γίνει κλικ σε [σημαία] όρισε Άθροισμα σε 0 όρισε Αριθμός σε 1 επανάλαβε 100 άλλαξε Άθροισμα κατά Αριθμός άλλαξε Αριθμός κατά 1

Σκέψη / Μεθοδολογία: Και στα 3 προγράμματα έχουμε έναν βρόχο «επανάλαβε» που εκτελεί το ίδιο μπλοκ εντολών πολλές φορές, ενημερώνοντας μία ή περισσότερες μεταβλητές σε κάθε επανάληψη. Για να καταλάβουμε τι υπολογίζει το καθένα, παρακολουθούμε πώς αλλάζουν οι τιμές των μεταβλητών από επανάληψη σε επανάληψη (ιχνηλάτηση) — κάτι που επαληθεύσαμε εκτελώντας ακριβώς την ίδια λογική σε πρόγραμμα Python.

Λύση:

  1. Πρόγραμμα Α: η μεταβλητή x ξεκινά από 0 και σε κάθε επανάληψη (100 συνολικά) πρώτα «λέει σκεπτόμενη» (φούσκα σκέψης) την τιμή x*x και ΜΕΤΑ αυξάνεται κατά 1. Άρα το πρόγραμμα εμφανίζει διαδοχικά τα ΤΕΤΡΑΓΩΝΑ όλων των ακεραίων από το 0 μέχρι το 99: 0, 1, 4, 9, …, 9604, 9801 (το 9801=99² είναι το τελευταίο που εμφανίζεται). Επειδή η εναλλαγή στη φούσκα σκέψης γίνεται πολύ γρήγορα, στην πράξη ο χρήστης προλαβαίνει να δει καθαρά μόνο τα τελευταία 1-2 τετράγωνα πριν σταματήσει το πρόγραμμα.
  2. Πρόγραμμα Β: η Βάση=2 και ο Εκθέτης=20 παραμένουν σταθεροί όσο εκτελείται ο βρόχος· η Δύναμη ξεκινά από 1 και σε κάθε μία από τις 20 επαναλήψεις πολλαπλασιάζεται με τη Βάση (Δύναμη ← Δύναμη × Βάση). Αυτό είναι ακριβώς ο ορισμός της ύψωσης σε δύναμη μέσω επαναλαμβανόμενου πολλαπλασιασμού: μετά τις 20 επαναλήψεις η Δύναμη ισούται με Βάση^Εκθέτης = 2^20 = 1.048.576. Το πρόγραμμα υπολογίζει δηλαδή δυνάμεις χωρίς να χρησιμοποιεί έτοιμο τελεστή ύψωσης σε δύναμη.
  3. Πρόγραμμα Γ: το Άθροισμα ξεκινά από 0 και ο Αριθμός από 1· σε κάθε μία από τις 100 επαναλήψεις πρώτα προστίθεται στο Άθροισμα η τρέχουσα τιμή του Αριθμός, και μετά ο Αριθμός αυξάνεται κατά 1. Άρα το Άθροισμα συσσωρεύει το 1+2+3+…+100, δηλαδή υπολογίζει το άθροισμα των πρώτων 100 φυσικών αριθμών: 5050 (ο Αριθμός καταλήγει στο 101, μία μονάδα παραπάνω από το τελευταίο που προστέθηκε, αφού αυξάνεται ΜΕΤΑ την πρόσθεση).

Απάντηση: Α: εμφανίζει (στη φούσκα σκέψης) τα τετράγωνα των αριθμών 0 έως 99, δηλαδή 0,1,4,…,9801. Β: υπολογίζει τη δύναμη 2^20 = 1.048.576 με διαδοχικούς πολλαπλασιασμούς. Γ: υπολογίζει το άθροισμα 1+2+…+100 = 5050.

Πρόσεξε:

  • Στο Α προσέξτε ότι το «σκέψου x*x» εκτελείται ΠΡΙΝ την αύξηση του x — άρα ο πρώτος αριθμός που εμφανίζεται είναι το 0² (όχι το 1²) και ο τελευταίος το 99² (όχι το 100²), αφού ο βρόχος τρέχει ακριβώς 100 φορές (x=0,1,…,99).
  • Στο Β η μεταβλητή Δύναμη είναι αυτή που «κουβαλάει» το αποτέλεσμα από τη μία επανάληψη στην άλλη (σαν συσσωρευτής πολλαπλασιασμού) — ξεκινά υποχρεωτικά από 1 (το ουδέτερο στοιχείο του πολλαπλασιασμού), όχι από 0, γιατί αν ξεκινούσε από 0 όλα τα γινόμενα θα έμεναν 0.
  • Στο Γ η σειρά των δύο εντολών μέσα στον βρόχο έχει σημασία: επειδή η πρόσθεση στο Άθροισμα γίνεται ΠΡΙΝ την αύξηση του Αριθμός, αθροίζονται οι τιμές 1,2,…,100 (όχι 0,1,…,99) — αν οι δύο εντολές είχαν αντίστροφη σειρά, το αποτέλεσμα θα ήταν διαφορετικό (0+1+…+99=4950).

Δραστηριότητα 7 (σελ. 118)

Να γράψετε ένα πρόγραμμα το οποίο θα ζητάει από τον χρήστη έναν αριθμό, θα ελέγχει αν αυτός ο αριθμός είναι άρτιος ή περιττός και θα εμφανίζει αντίστοιχο μήνυμα.

Υπόδειξη: Να χρησιμοποιήσετε τον τελεστή υπολογισμού του υπολοίπου της ακέραιας διαίρεσης.

Σκέψη / Μεθοδολογία: Ένας αριθμός είναι ΑΡΤΙΟΣ αν διαιρείται ακριβώς με το 2, δηλαδή αν το υπόλοιπο της ακέραιας διαίρεσής του με το 2 είναι 0· διαφορετικά (υπόλοιπο 1) είναι ΠΕΡΙΤΤΟΣ. Στο Scratch η εισαγωγή αριθμού από τον χρήστη γίνεται με την εντολή «ρώτησε … και περίμενε», η οποία αποθηκεύει αυτόματα ό,τι πληκτρολογήσει ο χρήστης στην ειδική μεταβλητή «απάντηση». Ο τελεστής «υπόλοιπο ακέραιας διαίρεσης» (mod, στο Scratch: «… ακέρ. υπόλ. δια …») μας δίνει ακριβώς αυτό το υπόλοιπο, οπότε ελέγχουμε αν (απάντηση mod 2) = 0.

Λύση:

  1. Βήμα 1: «όταν πατηθεί η πράσινη σημαία».
  2. Βήμα 2: «ρώτησε [Δώσε έναν αριθμό:] και περίμενε» — ο αριθμός που θα πληκτρολογήσει ο χρήστης αποθηκεύεται αυτόματα στη μεταβλητή «απάντηση».
  3. Βήμα 3: «εάν <(απάντηση ακέρ. υπόλ. δια 2) = 0> τότε» → μέσα: «πες [Ο αριθμός είναι ΑΡΤΙΟΣ] για 2 δευτερόλεπτα».
  4. Βήμα 4: «αλλιώς» → μέσα: «πες [Ο αριθμός είναι ΠΕΡΙΤΤΟΣ] για 2 δευτερόλεπτα» (χρησιμοποιώντας το σύνθετο μπλοκ «εάν…τότε…αλλιώς» ώστε να καλύπτονται και οι δύο περιπτώσεις με έναν έλεγχο).
  5. Επαλήθευση λογικής με μερικά παραδείγματα: 10 mod 2 = 0 → «Άρτιος» (σωστό)· 7 mod 2 = 1 → «Περιττός» (σωστό)· 0 mod 2 = 0 → «Άρτιος» (σωστό, το 0 είναι άρτιος αριθμός)· -4 mod 2 = 0 → «Άρτιος» (το Scratch υπολογίζει σωστά το υπόλοιπο και για αρνητικούς αριθμούς).

Απάντηση (ενδεικτική): Πρόγραμμα: «ρώτησε [Δώσε έναν αριθμό:] και περίμενε» → «εάν <(απάντηση ακέρ. υπόλ. δια 2) = 0> τότε [πες «Ο αριθμός είναι ΑΡΤΙΟΣ»] αλλιώς [πες «Ο αριθμός είναι ΠΕΡΙΤΤΟΣ»]».

Πρόσεξε:

  • Αν στο κεφάλαιο δεν έχει διδαχθεί ακόμη το σύνθετο μπλοκ «εάν…αλλιώς», μια εξίσου σωστή εναλλακτική είναι δύο ξεχωριστά απλά «εάν…τότε»: ένα με συνθήκη (απάντηση mod 2)=0 για το «Άρτιος» και ένα δεύτερο με συνθήκη (απάντηση mod 2)=1 (ή «όχι <(απάντηση mod 2)=0>») για το «Περιττός».
  • Η μεταβλητή «απάντηση» είναι πάντα κειμενικού τύπου εσωτερικά στο Scratch, αλλά όταν χρησιμοποιείται μέσα σε αριθμητικό τελεστή (όπως το mod) μετατρέπεται αυτόματα σε αριθμό — δεν χρειάζεται επιπλέον μετατροπή από τον μαθητή.
  • Πρόκειται για δημιουργική/project-building δραστηριότητα (ενδεικτική λύση): η ακριβής διατύπωση των μηνυμάτων ή η χρήση «πες» αντί «πες…για…δευτερόλεπτα» μπορεί να διαφέρει χωρίς να αλλάζει η ορθότητα του προγράμματος.

Δραστηριότητα 8 (σελ. 118)

Να γράψετε ένα πρόγραμμα το οποίο θα κάνει έναν συγκεκριμένο ήχο κάθε φορά που ο χρήστης θα πατάει το πλήκτρο space. Όταν ο χρήστης πατήσει το space 10 φορές το πρόγραμμα να εμφανίζει ένα μήνυμα και να εξαφανίζει τον χαρακτήρα – πρωταγωνιστή του προγράμματος.

Υπόδειξη: Μπορείτε να χρησιμοποιήσετε τις παρακάτω εντολές: «εξαφανίσου», «όταν πατηθεί πλήκτρο [διάστημα]», «παίξε τον ήχο [pop]».

Σκέψη / Μεθοδολογία: Χρειαζόμαστε μία μεταβλητή-μετρητή (π.χ. «μετρητής») που θα μετράει πόσες φορές πατήθηκε το πλήκτρο space, και ένα ξεχωριστό «γεγονός-hat» μπλοκ «όταν πατηθεί πλήκτρο [διάστημα]» που θα ενεργοποιείται αυτόματα ΚΑΘΕ φορά που ο χρήστης πατάει space (χωρίς να χρειάζεται δικός μας βρόχος αναμονής). Μέσα σε αυτό το μπλοκ παίζουμε τον ήχο, αυξάνουμε τον μετρητή κατά 1, και ελέγχουμε αν έφτασε στο 10 για να εμφανίσουμε το τελικό μήνυμα και να εξαφανίσουμε τον χαρακτήρα.

Λύση:

  1. Σενάριο 1 (αρχικοποίηση): «όταν πατηθεί η πράσινη σημαία» → «εμφανίσου» (ώστε ο χαρακτήρας να είναι ορατός σε περίπτωση που είχε εξαφανιστεί από προηγούμενη εκτέλεση) → «όρισε μετρητή σε 0».
  2. Σενάριο 2 (χειρισμός συμβάντος πλήκτρου): «όταν πατηθεί πλήκτρο [διάστημα]» → «παίξε τον ήχο [pop]» → «άλλαξε μετρητή κατά 1» → «εάν <μετρητής = 10> τότε» [ «πες [Έπαιξες 10 φορές! Αντίο!] για 2 δευτερόλεπτα», «εξαφανίσου» ].
  3. Λογική επαλήθευση: κάθε πάτημα του space ενεργοποιεί ξανά το Σενάριο 2 (τα «όταν πατηθεί πλήκτρο» μπλοκ ενεργοποιούνται σε κάθε πάτημα, σαν χειριστής συμβάντος), ο μετρητής αυξάνεται σταδιακά 1,2,3,…,10, και μόλις φτάσει ακριβώς στο 10 εκτελείται το μήνυμα αποχαιρετισμού και ο χαρακτήρας εξαφανίζεται — τα επόμενα πατήματα του space θα συνέχιζαν να παίζουν τον ήχο (αφού το μπλοκ παραμένει ενεργό) αλλά δεν θα εμφανίζουν ξανά μήνυμα εκτός αν προστεθεί επιπλέον έλεγχος «μετρητής ≥ 10» αντί για ακριβή ισότητα.

Απάντηση (ενδεικτική): Δύο σενάρια: (1) green-flag: εμφανίσου + όρισε μετρητή σε 0. (2) «όταν πατηθεί πλήκτρο [διάστημα]»: παίξε ήχο [pop] → άλλαξε μετρητή κατά 1 → εάν μετρητής=10 τότε [πες μήνυμα, εξαφανίσου].

Πρόσεξε:

  • Η ισότητα «μετρητής = 10» ενεργοποιεί το μήνυμα ΜΟΝΟ στο ακριβώς 10ο πάτημα· αν θέλουμε ασφάλεια για την περίπτωση που ο μετρητής ξεπεράσει το 10 (π.χ. αν υπάρχει άλλο σημείο του προγράμματος που τον αλλάζει), προτιμότερος είναι ο έλεγχος «μετρητής ≥ 10».
  • Το «εμφανίσου» στην αρχή (green-flag) είναι απαραίτητο· χωρίς αυτό, αν ο χρήστης ξανατρέξει το πρόγραμμα μετά από μία πρώτη εκτέλεση όπου ο χαρακτήρας είχε εξαφανιστεί, θα παραμείνει αόρατος.
  • Πρόκειται για δημιουργική/project-building δραστηριότητα (ενδεικτική λύση): το ακριβές μήνυμα αποχαιρετισμού ή ο συγκεκριμένος ήχος (pop ή άλλος) μπορεί να διαφέρει χωρίς να αλλάζει η ορθότητα της λύσης.
 ΣΧΟΛΙΚΟ ΒΙΒΛΙΟ