Έχει κάποιος ένα πρόβατο, ένα λύκο και ένα καφάσι με χόρτα στη μία όχθη ενός ποταμού και θέλει να τα περάσει στην απέναντι όχθη χρησιμοποιώντας μία βάρκα. Η βάρκα όμως είναι μικρή και μπορεί να μεταφέρει, εκτός από τον ίδιο, άλλο ένα από τα ζώα ή το καφάσι. Ωστόσο δεν πρέπει να μείνουν μαζί ο λύκος με το πρόβατο και το πρόβατο με τα χόρτα.
Μπορείτε να δώσετε οδηγίες στο βαρκάρη για το πώς πρέπει να κάνει τη μεταφορά τους;
Πριν την επίλυση
Για να επιλύσουμε ένα πρόβλημα πρέπει αρχικά να το κατανοήσουμε. Πρέπει δηλαδή να καταλάβουμε καλά το περιεχόμενο του, να διακρίνουμε τα δεδομένα που έχουμε στη διάθεσή μας και τα ζητούμενά του. Είναι σημαντικό, όμως, να προσδιορίσουμε και το «περιβάλλον» ή το πλαίσιο μέσα στο οποίο εντάσσεται το πρόβλημα (χώρος του προβλήματος).
Στην πραγματικότητα, τα περισσότερα προβλήματα είναι σύνθετα και δε μας έρχεται στο νου η λύση τους με την πρώτη ματιά. Χρειάζεται πολλές φορές να τα μελετήσουμε σε βάθος και να εξερευνήσουμε διαφορετικούς πιθανούς τρόπους επίλυσής τους. Όσο περισσότερο μελετάμε ένα πρόβλημα, τόσο πιο πιθανό είναι να το επιλύσουμε. Συχνά μάλιστα η λύση του μας έρχεται σαν αναλαμπή, σε άσχετη φαινομενικά στιγμή.
Αρκεί να θυμηθούμε το πρόβλημα του Αρχιμήδη που βασάνιζε για καιρό το μυαλό του –πώς θα μπορέσει να αποδείξει ότι το στέμμα του βασιλιά αποτελείται μόνο από χρυσάφι ή από πρόσμιξη και άλλων μετάλλων ίδιου βάρους– και όταν ξαφνικά βρήκε τη λύση την ώρα που έκανε μπάνιο, πήδησε έξω ενθουσιασμένος φωνάζοντας «Εύρηκα!».
Ωςπρόβλημα θεωρούμε κάθε ζήτημα που τίθεται προς επίλυση, κάθε κατάσταση που μας απασχολεί και πρέπει να αντιμετωπιστεί.
Η λύση ενός προβλήματος δεν μας είναι γνωστή, ούτε προφανής.
Η πρώτη μας ενέργεια για να λύσουμε πιο εύκολα ένα πρόβλημα, είναι η καταγραφή των δεδομένων.Δεδομένα προβλήματοςείναι τα στοιχεία που μας είναι γνωστά και μπορούν να μας βοηθήσουν στη λύση του προβλήματος.
Σημείωση
Πολλές φορές πρέπει να ελέγχουμε, αν τα δεδομένα του προβλήματος που έχουμε είναι επαρκή, ώστε να μπορούμε να σχεδιάσουμε την επίλυσή του.
Ερώτηση
Ποια τα δεδομένα του προβλήματος;
Σε κάθε πρόβλημα ψάχνουμε να βρούμε την απάντηση σε μια ερώτηση. Αυτό που ψάχνουμε είναι τοζητούμενο.
Ερώτηση
Ποιο το ζητούμενο του προβλήματος;
Η διαδικασία μέσω της οποίας βρίσκουμε το ζητούμενο και επιτυγχάνουμε τον επιθυμητό στοχο ονομάζεταιεπίλυση προβλήματος.
Παρατήρηση
Υπάρχουν προβλήματα, των οποίων τη λύση μπορούμε να περιγράψουμε με ακρίβεια (π.χ.: ο υπολογισμός της υποτείνουσας ορθογωνίου τριγώνου) και προβλήματα που δεν έχουν ακριβή λύση (π.χ.: η αξιοποίηση του ελεύθερου χρόνου μας).
Διατυπώστε σε μορφή οδηγιών προς τον βαρκάρη τις ενέργειες που αυτός πρέπει να κάνει ώστε να επιλυθεί το πρόβλημα.
Σε κάποιους Ινδούς μοναχούς δόθηκε η δοκιμασία να μετακινήσουν 64 εύθραυστους δίσκους από μία τοποθεσία σε μια άλλη, έναν κάθε φορά, αποφεύγοντας την τοποθέτηση ενός μεγαλύτερου δίσκου πάνω σε έναν μικρότερο. Υπήρχε μόνο μια ακόμα ενδιάμεση τοποθεσία, πέρα από τις δύο, που ένας δίσκος μπορούσε να τοποθετηθεί.
Το παιχνίδι
Υπάρχει ένα παιχνίδι βασισμένο στο μύθο. Έχετε μια μικρή συλλογή από δίσκους και τρεις πασσάλους πάνω στους οποίους μπορείτε να τους τοποθετήσετε (ο κάθε δίσκος έχει στη μέση μία τρύπα ώστε να τοποθετείται στον πάσσαλο). Οι δίσκοι είναι όλοι τοποθετημένοι στον αριστερό πάσσαλο σε αύξουσα σειρά ανάλογα με το μέγεθός τους. Θα πρέπει να τους μετακινήσεις στο δεξιό πάσσαλο χωρίς ποτέ όμως να βάλεις έναν μεγαλύτερο δίσκο πάνω σε έναν μικρότερο.
Για το πρόβλημα που σας έχει δοθεί εντοπίστε δεδομένα και ζητούμενα. Προχωρήστε στην επίλυση.
Δεδομένα
Ζητούμενα
Προϋποθέσεις που πρέπει να πληρούνται
……
……
……
Επίλυση
……
Άσκηση 2 –Οι ορειβάτες και η γέφυρα
Τέσσερις ορειβάτες βρίσκονται στην άκρη µιας µεγάλης γέφυρας και θέλουν να περάσουν απέναντι, είναι όµως νύχτα και ο φακός που διαθέτουν έχει ακόµα 60 λεπτά διάρκεια πριν τελειώσει η µπαταρία. Εκτός αυτού η γέφυρα αντέχει µόνο δυο άτοµα και συνεπώς δεν µπορούν να περάσουν όλοι µαζί. Οι ορειβάτες είναι διαφόρων ηλικιών και φυσικής κατάστασης και ο καθένας κάνει διαφορετικό χρόνο για να περάσει απέναντι. Ο πρώτος κάνει 5 λεπτά ο δεύτερος 10 λεπτά ο τρίτος 20 λεπτά και ο τέταρτος 25 λεπτά. Φυσικά όταν πάνε να περάσουν δυο µαζί την γέφυρα ο χρόνος που θα κάνουν θα είναι αυτός που χρειάζεται ο πιο αργός π.χ. αν πάει ο δεύτερος µε τον τρίτο θα κάνουν 20 λεπτά.
Καταγράψτε σε πίνακα τα δεδομένα και ζητούμενα του προβλήματος. Περιγράψτε στη συνέχεια (στάδιο επίλυσης) πώς θα καταφέρουν να περάσουν απέναντι και οι τέσσερις χωρίς να τους σβήσει ο φακός.
Δεδομένα
Ζητούμενα
Προϋποθέσεις που πρέπει να πληρούνται
Περιορισμοί που τίθενται
……
……
……
Επίλυση
……
ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ
Δεδομένα
Ζητούμενα
Προϋποθέσεις που πρέπει να πληρούνται
Περιορισμοί που τίθενται
Τέσσερις ορειβάτες,
μία (μεγάλη) γέφυρα,
νύχτα,
ένας φακός,
χρονική διάρκεια λειτουργίας φακού (60′),
χρόνοι διάσχισης γέφυρας (από κάθε ορειβάτη: 5′, 10′, 20′, 25′)
Διάσχιση της γέφυρας (απ’ όλους τους ορειβάτες
Διάσχιση γέφυρας
α) από μόνο δύο άτομα
β) σε χρόνο του πιο αργού
γ) η διάσχιση γέφυρας να γίνει σε συνολικό χρόνο που δεν υπερβαίνει την χρονική διάρκεια λειτουργίας του φακού
Στο σύστημά σας εντοπίστε και ανοίξτε την εφαρμογή Scratch. Όπως μπορείτε να δείτε η πρωταγωνιστική φιγούρα (αντικείμενο) είναι μια “γάτα” (εμφανίζεται στα δεξιά του παραθύρου της εφαρμογής) και την οποία στο εξής θα αποκαλούμε Scratch.
Α. Δώστε τις κατάλληλες εντολές ώστε να γίνουν όλα τα παρακάτω:
Α.1 Αρχικά ο Scratch “αντιλαμβάνεται” την παρουσία μας και σκέφτεται πως να αντιδράσει -τι να κάνει, τι να πει.
Α.2 Περνούν μόλις δύο δευτερόλεπτα και μας χαιρετά, “φανερώνει” το όνομά του και “νιαουρίζει”.
Α.3 Εξαφανίζεται και μετά ένα δευτερόλεπτο εμφανίζεται. Στο ενδιάμεσο (από την στιγμή που εξαφανίζεται μέχρι τη στιγμή που θα εμφανιστεί ξανά):
αλλάζει την μορφή του (ενδυμασία)
κινείται 10 βήματα
το μέγεθός του μειώνεται κατά 10
Α.4 Αποθηκεύστε το έργο (project) που δημιουργήσατε με όνομα Γνωριμία με τον Scratch.sb3 στον φάκελο εργασίας σας.
Β. Για την συνέχεια:
Β.1 Εισάγετε ένα αντικείμενο (της αρεσκείας σας) στο περιβάλλον του Scratch -θα χρησιμοποιηθεί για να συνομιλήσετε με τον Scratch.
Κάντε κλικ στην επιλογή “Επιλέξτε ένα αντικείμενο” και διαλέξτε
Β.2 Ο Scratch ρωτά για το όνομά μας και φυσικά του απαντάμε.
Β.3 Του μιλάμε για μας (που μένουμε, ποια είναι η ιδιότητά μας).
Β.4 Μας καλωσορίζει στον κόσμο του προσφωνώντας μας με τ’ όνομα μας.
Β.5 Αλλάξτε την μορφή (ενδυμασία) του νέου αντικειμένου με τρόπο ώστε η μια ενδυμασία να αντικαθιστά την άλλη -κάθε φορά που εκτελείται ο κώδικας των εντολών.
Μπορείτε να δείτε στην καρτέλα Ενδυμασίες όλες τις πληροφορίες που αφορούν τις ενδυμασίες που μπορεί να αλλάζει το αντικείμενό σας.
Β.6 Αποθηκεύστε τις αλλαγές.
ΑΣΚΗΣΗ 2– ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΙΚΩΝ ΓΕΩΜΕΤΡΙΚΩΝ ΣΧΗΜΑΤΩΝ
Άσκηση 2Α –Σχεδιασμός Κατακόρυφων Αξόνων
Ο Scratch τοποθετείται στο κέντρο της οθόνης και το μέγεθός του ορίζεται σε 60.
Προκειμένου να σχεδιαστούν οι άξονες ο Scratch πρέπει κατά την κίνησή του να “αφήνει” το στίγμα του. Αυτό μπορεί να συμβεί με την χρήση μιας πένας που (όταν ενεργοποιηθεί) έχει σαν αποτέλεσμα από κάθε σημείο που περνά ο Scratch να σχεδιάζει.
Για να χρησιμοποιήσετε την πένα: Αναζητήστε (στις επεκτάσεις) και προσθέστε την Πένα.
Ο κώδικας εντολών χειρισμού της πένας είναι διαθέσιμος για να αξιοποιηθεί στο έργο σας.
Ρυθμίστε για την πένα του Scratch:
χρώμα
μέγεθος
κόκκινο σκούρο
2
Σχεδιάστε δύο κατακόρυφους άξονες με τρόπο ώστε αυτοί να μην ξεφεύγουν έξω από τα όρια της οθόνης του Scratch.
Ερώτηση: Πως θα βρείτε τις συντεταγμένες των σημείων που μπορούμε να αποδεχθούμε ως όρια της οθόνης του Scratch;
Για την συνέχεια:
Σε καθένα από τα 4 τεταρτημόρια που έχει χωρίσει ο Scratch την οθόνη σχεδιάστε καθένα από τα σχήματα που παρακάτω σας υποδεικνύονται:
Υπόδειξη:Kάθε σχήμα θα σχεδιάζεται από νέο αντικείμενο που για το σκοπό αυτό θα εισάγετε στο περιβάλλον του Scratch. Όλα τα αντικείμενα ξεκινούν από το κέντρο της οθόνης και αφού ολοκληρώσουν το έργο τους επιστρέφουν στο κέντρο της οθόνης και εξαφανίζονται.
Λαμβάνοντας υπ’ όψιν τις οδηγίες που ακολουθούν, προχωρήστε:
4. στη σχεδίαση 10 κυκλικών δίσκων, αυξανόμενης ακτίνας (που ξεκινά από το 100) και διαφορετικού χρώματος.
Προσοχή -πριν προχωρήσετε
Την σχεδίαση ενός κυκλικού δίσκου θα πρέπει να διαδέχεται η σχεδίαση ενός ακόμη κυκλικού δίσκου (επαναλαμβανόμενη διαδικασία) με την μία και εξής μοναδική διαφορά: η ακτίνα κάθε κυκλικού δίσκου θα είναι μεγαλύτερη (όσο εσείς νομίζετε) απ΄ αυτή του προηγούμενου και διαφορετικού χρώματος -ενδεικτικά στιγμιότυπα της οθόνης φαίνονται πιο κάτω.
Ερώτηση:
Ποια η τελευταία (τελική) τιμή της μεταβλητής R; Πως θα την “δείτε”;
5. Ορίστε νέο κριτήριο (αντικατάσταση των εντολών κώδικα όπου απαιτείται) για τον τερματισμό της επαναληπτικής διαδικασίας που μόλις πριν περιγράφηκε -αυτή θα ολοκληρώνεται (περατώνεται) όταν η ακτίνα ξεπεράσει τον αριθμό 200.
Άσκηση 5Γ
Στην περίπτωση κατά την οποία για την επίλυση του προηγούμενου θέματος δεν δημιουργήσατε μεταβλητή για την “ρύθμιση” της γωνίας στροφής, ξεκινήστε με την οδηγία 1, διαφορετικά συνεχίστε με την οδηγία 2.
1. Δημιουργήστε μια μεταβλητή με όνομα ω για την ρύθμιση της γωνίας στροφής. Δοκιμάστε σ’ αυτήν μια οποιαδήποτε τιμή.
Απαντήστε:
Πως πρέπει να διαμορφωθεί η επανάληψη ώστε, να εκτελείται όχι περισσότερες φορές απ’ όσες απαιτείται για να δημιουργηθεί το σχήμα μας;
2. Σχεδιάστε τον αχινό -με τα διαφορετικά στάδια της εκτέλεσης του προγράμματος να δίνονται παρακάτω.
ΑΣΚΗΣΗ 6– ΣΧΕΔΙΑΣΜΟΣ ΚΑΝΟΝΙΚΩΝ ΠΟΛΥΓΩΝΩΝ
ΔΗΜΙΟΥΡΓΙΑ ΛΙΣΤΑΣ ΤΙΜΩΝ
Ορισμός
Ένα πολύγωνο λέγεται κανονικό, αν όλες οι πλευρές του είναι μεταξύ τους ίσες και όλες οι γωνίες του είναι μεταξύ τους ίσες.
Προγραμματίστε στο περιβάλλον του Scratch την σχεδίαση ενός κανονικού εξαγώνου.
Αρχική κατάσταση
[/restrict]
Σχεδίαση κανονικού εξαγώνου -Στάδιο Α (τα άκρα των ευθ. τμημάτων του σχήματος θα αποτελέσουν τις κορυφές του εξαγώνου)
Σχεδίαση κανονικού εξαγώνου -Στάδιο Α (κώδικας)
[/restrict]
Υπόδειξη
Οι συντεταγμένες των άκρων των ευθυγράμμων τμημάτων (που ήδη σχεδιάστηκαν) είναι απαραίτητο να είναι γνωστές προκειμένου να ρυθμιστεί η κίνηση του αντικειμένου (από κορυφή σε κορυφή) και να ολοκληρωθεί το σχήμα (στάδιο Β της σχεδίασης).
Για το σκοπό αυτό, θα δημιουργήσετε αρχικά μια λίστα τιμών με όνομα PointsX, η οποία θα ενημερώνετε με (θα “κρατά”/αποθηκεύει) τις Χ συντεταγμένες (τετμημένες) των σημείων που αποτελούν τις κορυφές του εξαγώνου. Αναζητήστε μεταξύ των κατηγοριών των εντολών κώδικα την εντολή δημιουργίας λίστας, και εκτελέστε την. Συμπληρώστε όσα ζητούνται (βλέπε παρακάτω) στο παράθυρο με τίτλο Νέα Λίστα που εμφανίζεται.
Διαμορφώστε τον κώδικα ώστε η λίστα pointsX να “εκπληρώσει” το σκοπό της.
Πριν προχωρήσετε
Κάθε κίνηση του αντικειμένου ξεκινά από το κέντρο της οθόνης (0, 0) και κατευθύνεται προς τα “έξω”. Στο τέλος της κίνησης έχει σχεδιασθεί ένα ευθύγραμμο τμήμα. Το σημείο στην οθόνη που καταλήγει είναι το (δεύτερο) άκρο του και οι συντεταγμένες του (όπως προαναφέρθηκε θα αποτελέσουν τις κορυφές του πολυγώνου). Συνεπώς αμέσως μετά την εκτέλεση της εντολής κίνησης η τετμημένη (θέση Χ) του αντικειμένου θα πρέπει να “αποθηκεύεται” στη λίστα που δημιουργήθηκε.
Ελέγξτε τα αποτελέσματα.
Ο κώδικας εντολών που “αξιοποιεί” τη λίστα pointsX.
[/restrict]
Το περιεχόμενο (τιμές) της λίστας pointsX (αμέσως μετά την εκτέλεση του κώδικα εντολών)
[/restrict]
Προσοχή: Κάθε νέα σχεδίαση (εκτέλεση του προγράμματος) απαιτεί την διαγραφή των στοιχείων της λίστας. Γιατί;
Εφ’ όσον όλα λειτουργούν όπως πρέπει, συνεχίστε προκειμένου να ολοκληρωθεί η σχεδίαση του εξαγώνου.
Υποδείξεις
Επαναλάβετε την διαδικασία δημιουργίας λίστας. Δώστε στη νέα λίστα όνομα pointsY και ρόλο (στον κώδικα του προγράμματος) τέτοιο ώστε να “συμπληρώνει” την προηγούμενη λίστα, δίνοντας ως αποτέλεσμα τις συντεταγμένες Υ (τεταγμένες) των κορυφών του εξαγώνου.
Για τις δύο λίστες πρέπει να ισχύει το εξής: Τα στοιχεία που βρίσκονται στις ίδιες θέσεις των δύο λιστών δίνουν τις συντεταγμένες Χ, Υ των κορυφών του εξαγώνου.
Ολοκληρωμένος ο κώδικας εντολών μετά και την προσθήκη της δεύτερης λίστας.
Λίστα τιμών (pointsΥ)
Φυσικά των εντολών κώδικα που “τρέχουν” στην επαναληπτική διαδικασίας πρέπει να προηγηθεί,
η διαγραφή των στοιχείων της νέας λίστας
(για τον ίδιο ακριβώς λόγο που αυτό έγινε και στην αρχική λίστα).
Προχωρώντας στο στάδιο Β (τελικό) της σχεδίασης, σειρά έχουν οι εντολές κίνησης/ολίσθησης (διαλέγετε ότι θέλετε) για τις οποίες οι θέσεις x, y, καθορίζονται πλέον από τα στοιχεία των δύο λιστών.
Εντολή ολίσθησης 1: Μετακίνηση του αντικειμένου στην θέση που ορίζεται από το πρώτο στοιχείο της λίστας pointsX (θέση Χ) και από το αντίστοιχο στοιχείο της λίστας pointsY (θέση Y).
Εντολές ολίσθησης 2-6: Σχεδίαση των πλευρών του εξάγωνου (αφορούν τα υπόλοιπα στοιχεία της λίστας) .
Ολοκληρώνοντας –γιατί είναι απαραίτητη η τελευταία εντολή ολίσθησης;
Ολοκληρώνοντας την άσκηση
Οι εντολές ολίσθησης (2 – 6) που δίνονται παραπάνω μπορούν να αντικατασταθούν από μια εντολή επανάληψης η οποία να εκτελεί μόνο μία εντολή ολίσθησης (Υπόδειξη: θα χρειαστεί να χρησιμοποιήσετε και μια μεταβλητή)
Άσκηση 6Β –Σχεδίαση κανονικού εξαγώνου
Προχωρήστε σε αλλαγές στον κώδικα της προηγούμενης άσκησης ώστε η σχεδίαση των ευθυγράμμων τμημάτων που “δείχνουν” την απόσταση των κορυφών του εξάγωνου από το κέντρο της οθόνης να γίνει με διακεκκομένες γραμμές.
Προγραμματίστε την σχεδίαση ενός κανονικού πενταγώνου και ενός κανονικού εικοσαγώνου.
Άσκηση 6Γ –Σχεδίαση κανονικού πολυγώνου
Στο περιβάλλον της γλώσσας Scratch να δημιουργηθεί πρόγραμμα που θα δέχεται (από τον χρήστη) το πλήθος των γωνιών ενός κανονικού πολυγώνου και θα σχεδιάζει το αντίστοιχο πολύγωνο. Εκτελέστε (και ελέγξτε) τον κώδικα εντολών σχεδιάζοντας με τη σειρά τα παρακάτω πολύγωνα:
4
7
12
100
200
360
-γωνο
-γωνο
-γωνο
-γωνο
-γωνο
-γωνο
Σχολιάστε τα αποτελέσματα.
Τι σχήμα εμφανίζεται στην περίπτωση που ο χρήστης “δώσει” πλήθος γωνιών:
4
3
2
1
0
Permanent link to this article: https://pervolischool.edu.gr/computer-science/programming-languages/scratch/