Contents
Διαδικασίες με παραμέτρους μεταβλητές (ΣΒ 2.6, σελ 192)
Στην προηγούμενη παράγραφο είδαμε τη διαδικασία τετράγωνο που δημιουργούσε ένα τετράγωνο μήκους 100 εικονοστοιχείων. Αν όμως θέλουμε να δημιουργήσουμε ένα νέο τετράγωνο με διαφορετικό μήκος πλευράς θα πρέπει να είτε να δημιουργήσουμε μια νέα διαδικασία που να σχεδιάζει τετράγωνο με το επιθυμητό μήκος πλευράς ή να τροποποιήσουμε την διαδικασία τετράγωνο.
Άραγε υπάρχει κάποιος τρόπος ώστε καλώντας τη διαδικασία τετράγωνο να της δώσουμε το μήκος που θέλουμε να έχει η κάθε πλευρά του;
Αυτό γίνεται τροποποιώντας τη διαδικασία τετράγωνο ως εξής:
μάθε νέο_τετράγωνο $μήκος {
επανάλαβε 4 {
μπ $μήκος
σδ 90
}
}Αφού έχουμε γράψει την παραπάνω διαδικασία μπορούμε να σχεδιάσουμε ένα τετράγωνο με όποιο μήκος θέλουμε. Για παράδειγμα αν θέλουμε να δημιουργήσουμε ένα τετράγωνο με μήκος 200 εικονοστοιχεία θα δώσουμε την εντολή:
νέο_τετράγωνο 200
Αυτό λοιπόν που χρειάζεται είναι μαζί με το όνομα της διαδικασίας να δώσουμε το επιθυμητό μήκος πλευράς του τετραγώνου. Η τιμή 200 αποθηκεύεται προσωρινά στο $μήκος και η εντολή μπ $μήκος μετακινεί τη χελώνα κατά 200 εικονοστοιχεία. Κάθε φορά που καλούμε τη διαδικασία νέο_τετράγωνο στο $μήκος αποθηκεύεται προσωρινά μια διαφορετική τιμή, όπως στο επόμενο παράδειγμα. Το $μήκος ονομάζεται μεταβλητή.
μάθε νέο_τετράγωνο $μήκος {
επανάλαβε 4 {
μπ $μήκος
σδ 90
}
}
αρχικοποίησε
πήγαινε 30,200
νέο_τετράγωνο 50
πήγαινε 100, 200
νέο_τετράγωνο 100
πήγαινε 220, 200
νέο_τετράγωνο 150Σημειώνουμε πως η εντολή πήγαινε x,y μετακινεί τη χελώνα στο σημείο x,y του καμβά.
Το αποτέλεσμα του παραπάνω παραδείγματος φαίνεται στην επόμενη εικόνα:
Χρήση μεταβλητών σε ένα πρόγραμμα (ΣΒ 2.6, σελ 193)
Το περιεχόμενο μιας μεταβλητής μπορεί να μεταβάλλεται κατά την εκτέλεση του προγράμματος. Μία μεταβλητή αντιστοιχεί σε μια θέση μνήμης του υπολογιστή και γίνεται αναφορά σε αυτήν με το όνομα που της δίνουμε εμείς, αρκεί το όνομά της να ξεκινάει με το σύμβολο $. Μία θέση μνήμης μπορεί να έχει μόνο μία τιμή κάθε φορά, αλλά μπορούμε να την αλλάζουμε, όποτε είναι απαραίτητο, με μία νέα τιμή.
Για να δώσουμε (εκχωρήσουμε) τιμή σε μία μεταβλητή, χρησιμοποιούμε τον παρακάτω τρόπο :
$όνομα_μεταβλητής = τιμή_μεταβλητής
Αν για παράδειγμα θέλουμε να δώσουμε στη μεταβλητή με όνομα $χ την τιμή 2 θα δώσουμε την εντολή:
$χ = 2
Ενώ αν θέλουμε να δώσουμε την τιμή Γάτα θα πούμε
$χ = "Γάτα"
Προσέξτε πως για να δώσουμε σε μία μεταβλητή τιμή που είναι κείμενο, πρέπει το κείμενο να βρίσκεται μέσα σε εισαγωγικά.
Στον παρακάτω πίνακα φαίνεται η αντιστοιχία μεταξύ ?MicroworldsPro και KTurtle στην ανάθεση τιμών σε μεταβλητές.
Αντιστοιχία ανάθεσης τιμής σε μεταβλητή |
|
Microworlds Pro |
KTurtle |
Κάνε "Χ 2 |
$Χ = 2 |
Κάνε "Χ "Γάτα |
$Χ = "Γάτα" |
Τέλος, για να εμφανιστεί η τιμή της μεταβλητής χ στον καμβά χρησιμοποιούμε την εντολή τύπωσε :
τύπωσε $χ
ή για να εμφανιστεί σε ένα μήνυμα :
μήνυμα "Η τιμή της μεταβλητής $χ είναι" + $χ
Θυμόμαστε επίσης πως όταν θέλουμε να υποβάλλουμε μία ερώτηση προς τον χρήστη, η απάντηση του χρήστη αποθηκεύεται στην μεταβλητή που έχουμε ορίσει για την ερώτηση.
Στις καρτέλα Μεταβλητές του KTurtle ανά πάσα στιγμή φαίνεται κάθε μεταβλητή που χρησιμοποιούμε στο πρόγραμμά μας με την τιμή και τον τύπο της.
Δραστηριότητες
1.
α. Δώστε το όνομά σας σε μια μεταβλητή $όνομα και στη συνέχεια τυπώστε το περιεχόμενο της μεταβλητής στον καμβά |
β. Προσπαθήστε να εμφανίσετε στον καμβά το όνομά σας, χωρίς να το ξαναγράψετε με το συνοδευτικό μήνυμα "Το όνομά μου είναι..." |
2. Γράψτε τι θα εμφανιστεί στον καμβά μετά την εκτέλεση των παρακάτω εντολών εξόδου α.
$ζώο="λιοντάρι" τύπωσε $ζώο τύπωσε "λιοντάρι" $ζώο="σκύλος" τύπωσε "έχω ένα " + $ζώο
β.
$χ=3 τύπωσε 5 * $χ τύπωσε 2 * 5 - $χ * 4 $χ=8 τύπωσε 14 - 2 - $χ / 2
| Slideshow ^ |< << Slide 11 of 15 >> >| |
