> ###### Προγραμματισμός: Διαδικασίες

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

> Μια διαδικασία είναι ένα σύνολο οδηγιών Logo με ένα όνομα. Ακολουθεί ένα παράδειγμα διαδικασίας (μπορείτε να την πληκτρολογήσετε στην καρτέλα Διαδικασίες):

> `για τετράγωνο
> επανάλαβε 4 [μπροστά 100 δεξιά 90]
> τέλος`

> `
> `

> Η πρώτη και η τελευταία γραμμή μιας διαδικασίας έχουν ειδική μορφή. Η πρώτη γραμμή ονομάζεται γραμμή τίτλου. Πρέπει πάντα να ξεκινάει με το για το οποίο πρέπει να ακολουθείται από το όνομα της διαδικασίας. (Tο για στη γραμμή τίτλου σημαίνει πως δείχνουμε στη Logo πώς να κάνει κάτι καινούριο.) Tο όνομα της διαδικασίας είναι πάντα μια λέξη. Μπορεί να είναι οτιδήποτε, αλλά όχι αριθμός ή πρωτογενής διαδικασία. Η τελευταία γραμμή πρέπει πάντα να είναι η λέξη τέλος. Η γραμμή τίτλου και η τελική γραμμή πρέπει πάντα να αποτελούν ξεχωριστές γραμμές, δηλαδή να τελειώνουν με ένα χαρακτήρα επιστροφής. Οι οδηγίες μεταξύ του για και του ονόματος της διαδικασίας και της τελικής γραμμής τέλος αποτελούν το σώμα της διαδικασίας.

> Σημείωση: Μπορείτε να κάνετε ένα συντακτικό έλεγχο των διαδικασιών πατώντας το πλήκτρο F4.

> Είναι σημαντικό να καταλάβετε τη διαφορά ανάμεσα στον ορισμό μιας διαδικασίας και στην αίτηση προς τη Logo για την εκτέλεσή της. Ο πιο απλός τρόπος εκτέλεσης μιας διαδικασίας στη Logo είναι να πληκτρολογήσετε το όνομα της διαδικασίας στο Κέντρο εντολών. Η Logo εκτελεί κάθε γραμμή της διαδικασίας. Η πληκτρολόγηση του ονόματος της διαδικασίας τετράγωνο στο Κέντρο εντολών θα έχει το ίδιο αποτέλεσμα με την πληκτρολόγηση της οδηγίας επανάλαβε 4 [μπροστά 100 δεξιά 90].

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

> `Δεν ξέρω τίποτε για ΜεγάλοΤετράγωνο`

> Ένας άλλος τρόπος εκτέλεσης μιας διαδικασίας είναι η κλήση της μέσα από άλλη διαδικασία. Μέσα από τον ορισμό μιας διαδικασίας, μπορείτε να καλέσετε μια διαδικασία που είχατε ορίσει πιο πριν. Ας υποθέσουμε πως έχετε ορίσει τη διαδικασία τρίγωνο:

> `για τρίγωνο
> επανάλαβε 3 [μπροστά 100 δεξιά 120]
> τέλος`

> Τώρα ας ορίσουμε τη διαδικασία σπίτι:

> `για σπίτι τετράγωνο μπροστά 100 δεξιά 30 τρίγωνο τέλος` |

> Όταν εκτελείτε αυτή τη διαδικασία, εκτελείτε έμμεσα τις διαδικασίες τετράγωνο και τρίγωνο. Η διαδικασία σπίτι τις εκτελεί για σας. Ακολουθεί μια περιγραφή αυτού που συμβαίνει:

> Η Logo διαβάζει κάθε οδηγία της διαδικασίας σπίτι. Όταν βρει την οδηγία για το τετράγωνο, αναζητά τον ορισμό του τετράγωνο και εκτελεί το σώμα αυτής της διαδικασίας. Στην περίπτωση του τετράγωνο, το σώμα είναι το επανάλαβε 4 [μπροστά 100 δεξιά 90]. Στη συνέχεια, πηγαίνει στα μπροστά και δεξιά (η Logo γνωρίζει πως αυτά είναι πρωτογενείς διαδικασίες). Όταν φτάνει στο τρίγωνο, αναζητά τον ορισμό του τρίγωνο και εκτελεί αυτή τη διαδικασία. Τέλος, η Logo πηγαίνει στην επόμενη γραμμή της διαδικασίας σπίτι που είναι το τέλος. Έτσι, ολοκληρώνεται η διαδικασία σπίτι.

> Τα τετράγωνο και τρίγωνο είναι υποδιαδικασίες της διαδικασίας σπίτι. Η διαδικασία σπίτι είναι η υπερδιαδικασία των τετράγωνο και τρίγωνο.

> Ορισμένες φορές, στον προγραμματισμό εκ των άνω προς τα κάτω, οι προγραμματιστές δημιουργούν υπερδιαδικασίες που περιέχουν υποδιαδικασίες που δεν έχουν ακόμη οριστεί. (Ο προγραμματισμός εκ των άνω προς τα κάτω είναι μια τακτική προγραμματισμού που εμπεριέχει δομή και σχεδιασμό. Είναι η τακτική που προτιμούν οι περισσότεροι προγραμματιστές υπολογιστών.)

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

> `Δεν ξέρω τίποτε για τρίγωνο στη διαδικασία σπίτι`

> Όταν ορίζετε μια διαδικασία, αυτή γίνεται μέρος του λεξιλογίου της Logo για τη συγκεκριμένη εργασία. Όταν δημιουργείτε νέα εργασία ή ανοίγετε άλλη εργασία, αυτή η διαδικασία δεν είναι πλέον διαθέσιμη. Φυσικά, μπορείτε να αντιγράψετε και να επικολλήσετε τον ορισμό της στη νέα εργασία.

> Σε όλες τις εργασίες, το διαθέσιμο λεξιλόγιο της Logo αποτελείται από τις πρωτογενείς διαδικασίες Logo, τις διαδικασίες που υπάρχουν στην καρτέλα Διαδικασίες της συγκεκριμένης εργασίας και τις λέξεις που προστίθενται όταν δημιουργείτε αντικείμενα.