Μετάβαση στο κεντρικό περιεχόμενο
Απαιτήσεις ολοκλήρωσης

Υπορουτίνες

Διδακτικοί στόχοι

Στο τέλος της ενότητας/δραστηριότητας θα είστε σε θέση να:

  • Επεκτείνεται τις γνώσεις σας για την αξία της συνθήκης (του ελέγχου) στον προγραμματισμό
  • Γνωρίσετε τις υπορουτίνες και διαχωρίσετε το κύριο πρόγραμμα
  • Περιηγηθείτε τις διαθέσιμες εντολές του EdScratch που αφορούν τη δημιουργία υπορουτίνας


Διακοπή του προγράμματος

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

  • Η λογική είναι ένας οργανωμένος τρόπος να γράψεις πράγματα που έχουν νόημα για έναν υπολογιστή. Η λογική καθορίζει τη ροή ενός προγράμματος. 
  • Σύνταξη είναι οι κανόνες για τον τρόπο λειτουργίας μιας γλώσσας προγραμματισμού. 

Υπάρχει τρόπος να διακόψετε αυτή τη διαδοχική ροή.  Αρκεί να χρησιμοποιήσετε μια διακοπή. Για να κατανοήσουμε όμως πώς λειτουργούν οι διακοπές, ας ξεκινήσουμε από το να καταλάβουμε πρώτα, τι διακόπτεται.

 Ποιο είναι το κύριο πρόγραμμα; Ποια η υπορουτίνα; 

 Στο EdScratch, αυτό που είναι κύριο πρόγραμμα είναι ό,τι συνδέεται με το κίτρινο μπλοκ εκκίνησης.

Κάθε φορά που γράφετε ένα πρόγραμμα για το Edison, πρέπει να έχετε τουλάχιστον ένα μπλοκ στο κύριο πρόγραμμα συνδεδεμένο στο μπλοκ εκκίνησης. Όταν εκτελείτε ένα πρόγραμμα με το ρομπότ Edison πατώντας το κουμπί αναπαραγωγής (τρίγωνο), αυτό το κύριο πρόγραμμα εκτελείται αποκλειστικά με διαδοχική σειρά μέχρι να φτάσει στο τέλος του προγράμματος. Μπορεί να περιέχει φυσικά όλα όσα έχουμε δει στις προηγούμενες ενότητες και φυσικά τις επαναλήψεις με όλες τις πολυπλοκότητες τους. Ωστόσο, ο πραγματικός κόσμος που έχει να αντιμετωπίσει το ρομποτάκι μας μπορεί να είναι ακόμα πιο περίπλοκος! 

Εδώ έρχονται να μας λύσουν τα χέρια ...οι διακοπές.

Μια  διακοπή μπορεί να διαταράξει αυτή τη ροή. Δείτε το παρακάτω πρόγραμμα:

Αυτό το πρόγραμμα έχει δύο μέρητο κύριο πρόγραμμα και την υπορουτίνα .

Ας σκεφτούμε, τι λέει το κύριο πρόγραμμα στο Edison να κάνει; Ας θυμηθούμε ότι όπως είπαμε μόνο τα μπλοκ που συνδέονται με το μπλοκ εκκίνησης βρίσκονται στο κύριο πρόγραμμαΣε αυτό το επίπεδο θα πρέπει να μπορούμε να το διαβάσουμε, οπότε και ας περιγράψουμε συνοπτικά ότι θα αναβοσβηνει για 0.3sec το αριστερό και δεξί LED συνεχώς. 

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

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




Τελευταία τροποποίηση: Δευτέρα, 21 Φεβρουαρίου 2022, 12:09 AM