Τεχνική σχεδίασης και ανάπτυξης των προγραμμάτων ως ένα σύνολο από απλούστερα τμήματα προγραμμάτων
Υποπρόγραμμα
Τμήμα προγράμματος που επιτελεί ένα αυτόνομο έργο και έχει γραφεί χωριστά από το υπόλοιπο πρόγραμμα
Υποπρόγραμμα
Έχει μόνο μία είσοδο και μία έξοδο
Είναι ανεξάρτητο από τα άλλα
Δεν πρέπει να είναι πολύ μεγάλο
Σωστός χωρισμός σύνθετου προγράμματος σε υποπρογράμματα
Διευκολύνει την ανάπτυξη του αλγορίθμου και του αντιστοίχου προγράμματος
Διευκολύνει την κατανόηση και διόρθωση του προγράμματος
Απαιτεί λιγότερο χρόνο και προσπάθεια στη συγγραφή του προγράμματος
Επεκτείνει τις δυνατότητες των γλωσσών προγραμματισμού
Παράμετρος
Μεταβλητή που επιτρέπει το πέρασμα της τιμής της από ένα τμήμα προγράμματος σε ένα άλλο
Διαδικασία
Μπορεί να εκτελέσει οποιαδήποτε λειτουργία που μπορεί να εκτελέσει ένα πρόγραμμα, χρησιμοποιώντας παραμέτρους για να μεταφέρει τιμές σε άλλα υποπρογράμματα
Συνάρτηση
Υπολογίζει μόνο μία τιμή, αριθμητική, χαρακτήρα ή λογική, και την επιστρέφει στο υποπρόγραμμα που την κάλεσε
Δήλωση συνάρτησης
1. ΣΥΝΑΡΤΗΣΗ όνομα (λίστα παραμέτρων):τύπος συνάρτησης
2. Τμήμα δηλώσεων
3. ΑΡΧΗ
4. όνομα <- έκφραση
5. ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
Δήλωση διαδικασίας
1. ΔΙΑΔΙΚΑΣΙΑ Όνομα (λίστα παραμέτρων)
2. Τμήμα δηλώσεων
3. ΑΡΧΗ
4. εντολές
5. ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
Λίστα τυπικών παραμέτρων
Παράμετροι στη δήλωση του υποπρογράμματος (ορίσματα)
Λίστα πραγματικών παραμέτρων
Παράμετροι στην κλήση του υποπρογράμματος
Όλες οι μεταβλητές έχουν τοπική ισχύ, μόνο για το τμήμα προγράμματος στο οποίο έχουν δηλωθεί
Κλήση διαδικασίας
ΚΑΛΕΣΕ όνομα_διαδικασίας (λίστα παραμέτρων)
Κλήση συνάρτησης
1. X <- Εμβαδό_κύκλου(R)
2. ΓΡΑΨΕ Εμβαδό_κύκλου(R)
Η λίστα παραμέτρων είναι υποχρεωτική
Κανόνες για τη χρήση παραμέτρων: Ο αριθμός των πραγματικών και των τυπικών παραμέτρων πρέπει να είναι ίδιος, η τυπική παράμετρος και η αντίστοιχη πραγματική πρέπει να είναι του ίδιου τύπου
Μετατροπή συνάρτησης σε διαδικασία
Χρησιμοποιούμε μια επιπλέον μεταβλητή για να επιστρέψει την τιμή που υπολόγιζε η συνάρτηση, δίνουμε ένα όνομα στη διαδικασία και δηλώνουμε την μεταβλητή
Τυπική παράμετρος
Η πρώτη της λίστας των τυπικών παραμέτρων
Πραγματική παράμετρος
Η αντίστοιχη της πρώτης της λίστας των πραγματικών παραμέτρων
Η τυπική παράμετρος και η αντίστοιχη της πραγματική πρέπει να είναι του ιδίου τύπου
Μετατροπή συνάρτησης σε διαδικασία
1. Διάβασε χ, ψ
2. Κάλεσε υπολογισμός (χ, ψ)
3. Γράψε αποτέλεσμα
4. Κάλεσε κάνε_υπολογισμό (χ,ψ,αποτέλεσμα)
5. Γράψε αποτέλεσμα
Συνάρτηση υπολογισμός
Υπολογισμός <- 3*11 + 3*12 + 3*15 + α + β
Διαδικασία κάνε_υπολογισμό
Υπολογισμός <- 3*11 + 3*12 + 3*15 + α + β
Εμβέλεια
Το τμήμα του προγράμματος που ισχύουν οι μεταβλητές
Απεριόριστη εμβέλεια
Όλες οι μεταβλητές και όλες οι σταθερές είναι γνωστές και μπορούν να χρησιμοποιούνται σε οποιοδήποτε τμήμα του προγράμματος, άσχετα που δηλώθηκαν
Καθολικές μεταβλητές
Μεταβλητές που ισχύουν σε οποιοδήποτε τμήμα του προγράμματος, άσχετα που δηλώθηκαν και είναι γνωστές στο κύριο πρόγραμμα και όλα τα υποπρογράμματα
Απεριόριστη εμβέλεια
Καταστρατηγεί την αρχή της αυτονομίας των υποπρογραμμάτων
Δημιουργεί πολλά προβλήματα
Αδύνατη για μεγάλα προγράμματα με πολλά υποπρογράμματα
Περιορισμένη εμβέλεια
Όλες οι μεταβλητές είναι τοπικές, ισχύουν δηλαδή για το υποπρόγραμμα στο οποίο δηλώθηκαν
Τοπικές μεταβλητές
Μεταβλητές που ισχύουν για το υποπρόγραμμα στο οποίο δηλώθηκαν
Πλεονεκτήματα περιορισμένης εμβέλειας
Απόλυτη αυτονομία όλων των υποπρογραμμάτων
Δυνατότητα να χρησιμοποιείται οποιοδήποτε όνομα, χωρίς να ενδιαφέρει αν το ίδιο χρησιμοποιείται σε άλλο υποπρόγραμμα
Μερικώς περιορισμένη εμβέλεια
Άλλες μεταβλητές είναι τοπικές και άλλες καθολικές
Μερικώς περιορισμένη εμβέλεια
Προσφέρει μερικά πλεονεκτήματα στον πεπειραμένο προγραμματιστή
Περιπλέκει το πρόγραμμα δυσκολεύοντας την ανάπτυξή του για τον αρχάριο