ΔΙΑΒΑΣΕ ΤΟ
Κάτι δεν κατάλαβες; Επίλεξε το κομμάτι και πάτα «Ρώτα τον Νεύρωνα». Σου το εξηγεί αμέσως.
🔄 Ορισμός και Κλήση Διαδικασιών
Κάθε διαδικασία έχει την ακόλουθη δομή:
ΔΙΑΔΙΚΑΣΙΑ Όνομα (Λίστα παραμέτρων) Τμήμα δηλώσεων ΑΡΧΗ εντολές ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
🔍 Τι Είναι οι Διαδικασίες
- Το όνομα της διαδικασίας μπορεί να είναι οποιοδήποτε έγκυρο όνομα της ΓΛΩΣΣΑΣ.
- Οι παράμετροι είναι μεταβλητές που παίρνουν τιμές κατά την κλήση της διαδικασίας.
- Στο σώμα της διαδικασίας μπορούν να υπάρχουν όλες οι εντολές της γλώσσας.
🛠️ Χρήση της Εντολής ΚΑΛΕΣΕ
Για την κλήση μιας διαδικασίας, χρησιμοποιούμε την εντολή ΚΑΛΕΣΕ:
ΚΑΛΕΣΕ όνομα-διαδικασίας (Λίστα παραμέτρων)
- Η εκτέλεση του προγράμματος διακόπτεται για να εκτελεστούν οι εντολές της διαδικασίας.
- Η διαδικασία μπορεί να επιστρέψει τιμές στο κύριο πρόγραμμα, αν και αυτό δεν είναι υποχρεωτικό.
🧮 Παράδειγμα Διαδικασίας
Ένα παράδειγμα διαδικασίας που δέχεται δύο τιμές και επιστρέφει το άθροισμα και τη διαφορά τους:
ΔΙΑΔΙΚΑΣΙΑ Πράξεις (X, Y, Διαφορά, Άθροισμα) ΜΕΤΑΒΛΗΤΕΣ: X, Y, Διαφορά, Άθροισμα ΑΡΧΗ Διαφορά <- X - Y Άθροισμα <- X + Y ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
🔗 Λειτουργία Παραμέτρων
- Οι μεταβλητές που συμμετέχουν στη διαδικασία χωρίζονται σε δύο κατηγορίες:
- Πραγματικές παράμετροι: οι μεταβλητές που δίνονται από το κύριο πρόγραμμα.
- Τυπικές παράμετροι: οι μεταβλητές που δέχεται η διαδικασία.
- Οι πραγματικές παράμετροι μεταβιβάζουν τιμές στις τυπικές και, αν χρειάζεται, οι τυπικές επιστρέφουν αποτελέσματα στο κύριο πρόγραμμα.
🔄 Λειτουργία της Στοίβας
- Όταν καλείται μια διαδικασία, η διεύθυνση επιστροφής αποθηκεύεται σε μια στοίβα χρόνου εκτέλεσης.
- Η στοίβα αυτή επιτρέπει την επιστροφή στο σημείο από το οποίο κλήθηκε η διαδικασία, αφού ολοκληρωθεί η εκτέλεσή της.
🔗 Πέρασμα Παραμέτρων στις Διαδικασίες
✍ Παράδειγμα Διαδικασίας
Η διαδικασία Πράξεις δέχεται δύο τιμές (X, Y) και υπολογίζει:
- Το άθροισμα των δύο τιμών
- Τη διαφορά τους
ΠΡΟΓΡΑΜΜΑ Παράδειγμα_3 ... A<-5 B<-7 ΚΑΛΕΣΕ Πράξεις (A, B, Διαφ1, Άθρ1) ... A<-9 B<-6 ΚΑΛΕΣΕ Πράξεις (A, B, Διαφ2, Άθρ2) ... ΔΙΑΔΙΚΑΣΙΑ Πράξεις (X, Y, Διαφορά, Άθροισμα) ΜΕΤΑΒΛΗΤΕΣ: X, Y, Διαφορά, Άθροισμα ΑΡΧΗ Διαφορά <- X - Y Άθροισμα <- X + Y ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
🧩 Τύποι Παραμέτρων
- Οι μεταβλητές A, B, Διαφ1, Άθρ1 είναι πραγματικές παράμετροι.
- Οι μεταβλητές X, Y, Διαφορά, Άθροισμα είναι τυπικές παράμετροι στη διαδικασία Πράξεις.
Οι πραγματικές παράμετροι αντιστοιχούν στις τυπικές παράμετρους όταν καλείται η διαδικασία, μεταφέροντας τις τιμές τους από το κύριο πρόγραμμα στη διαδικασία.
💡 Σημαντικό: Τοπικότητα των Μεταβλητών
Οι μεταβλητές είναι τοπικές στο υποπρόγραμμα στο οποίο δηλώθηκαν. Αυτό σημαίνει ότι ισχύουν μόνο μέσα στη διαδικασία ή στο πρόγραμμα όπου ορίζονται.
📋 Κανόνες Παραμέτρων
- Ο αριθμός των πραγματικών και τυπικών παραμέτρων πρέπει να είναι ο ίδιος.
- Κάθε πραγματική παράμετρος αντιστοιχεί στην τυπική παράμετρο που βρίσκεται στην αντίστοιχη θέση. Η πρώτη της λίστας των τυπικών παραμέτρων στην πρώτη της λίστας των πραγματικών παραμέτρων κοκ.
- Οι τυπικές και οι αντίστοιχες πραγματικές παράμετροι πρέπει να είναι ίδιου τύπου.