Μεταβλητές και Διαδικασίες

Η διαδικασία τετράγωνο αποτελεί έναν αλγόριθμο σχεδιασμού ενός τετραγώνου πλευράς 100px.

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

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

Ο παραπάνω αλγόριθμος δε θα έπρεπε να περιορίζεται στο σχεδιασμό ενός τετραγώνου πλευράς 100px, αλλά να επιτρέπει το σχεδιασμό ενός τετραγώνου οποιασδήποτε πλευράς!

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


Συγκεκριμένα στη γλώσσα LOGO τα ονόματα των μεταβλητών ξεκινούν με την άνω-κάτω τελεία (:) και έτσι η διαδικασία τετράγωνο διαμορφώνεται ως εξής:

Όπως φαίνεται παραπάνω, κατά την εκτέλεση της διαδικασίας τετράγωνο προκύπτει το σφάλμα Η μεταβλητή χ δεν έχει τιμή. Πράγματι ζητήσαμε να σχεδιαστεί ένα τετράγωνο χωρίς να προσδιορίσουμε το μήκος της πλευράς του!


Ένας τρόπος να μπορούμε να δίνουμε κάθε φορά τα pixels της πλευράς του τετραγώνου είναι να παραμετροποιήσουμε τη διαδικασία. Αυτό γίνεται προσθέτοντας τη μεταβλητή δίπλα στο όνομα της διαδικασίας, όταν την ορίζουμε, όπως φαίνεται παρακάτω:

Αυτή τη φορά προκύπτει το σφάλμα Το τετράγωνο απαιτεί περισσότερα δεδομένα. Αυτό σημαίνει ότι από τη στιγμή που ορίσαμε τη μεταβλητή :χ παράμετρο της διαδικασίας τετράγωνο, τοποθετώντας την δίπλα στο όνομα της διαδιακασίας, αλλάζει ο τρόπος κλήσης της!


Πλέον κάθε φορά που καλούμε τη διαδικασία θα πρέπει μετά το όνομά της να προσδιορίζουμε και μια τιμή για τη μεταβλητή :χ, που εκφράζει το μήκος της πλευράς του τετραγώνου σε pixels.

Όπως φαίνεται από την παραπάνω εικόνα, κατορθώσαμε να γενικεύσουμε τη διαδικασία ώστε να σχεδιάζει τετράγωνα οποιασδήποτε διάστασης! Αρκεί όταν καλούμε τη διαδικασία να προσδιορίζουμε την τιμή της μεταβλητής :χ! Έτσι, με την εντολή τετράγωνο 50, ο αριθμός 50 αποθηκεύεται στη μεταβλητή :χ, ενώ με την επόμενη εντολή, τετράγωνο 75, η μεταβλητή :χ γίνεται 75, χάνοντας την προηγούμενη τιμή της.


Ασκήσεις

  1. Να δημιουργήσετε μια διαδικασία με το όνομα Τρίγωνο που θα σχεδιάζει ένα τρίγωνο οποιασδήποτε πλευράς.
  2. Να δημιουργήσετε μια διαδικασία με το όνομα Ορθογώνιο που θα σχεδιάζει ένα ορθογώνιο παραλληλόγραμμο οποιωνδήποτε διαστάσεων. Υπόδειξη: χρειάζονται δύο μεταβλητές, μία για το πλάτος και μία για το μήκος του σχήματος.
  3. Να δημιουργήσετε μια διαδικασία με το όνομα Παράσταση1 που θα υπολογίζει και θα εμφανίζει το αποτέλεσμα της αριθμητικής παράστασης 3χ + 5. (Μπορείτε να χρησιμοποιήσετε όποια εντολή εξόδου θέλετε για την εμφάνιση του αποτελέσματος.)
  4. α) Να δημιουργήσετε μια διαδικασία με το όνομα Μέσος_όρος που θα υπολογίζει και θα εμφανίζει στο κέντρο εντολών τη μέση τιμή 2 οποιωνδήποτε αριθμών. Υπόδειξη: χρειάζονται δύο μεταβλητές, μία για κάθε αριθμό.
    β) Να κάνετε τις απαραίτητες αλλαγές στην παραπάνω διαδικασία, ώστε το αποτέλεσμα να συνοδεύεται από τη φράση Ο μέσος όρος των 2 αριθμών είναι.