Υποπρογράμματα
Διαδικασίες, συναρτήσεις, παράμετροι και εμβέλεια μεταβλητών.
40 λεπτά
Θα μάθεις να
- Να ξεχωρίζεις τη διαδικασία από τη συνάρτηση και να επιλέγεις τη σωστή.
- Να αντιστοιχίζεις τυπικές και πραγματικές παραμέτρους.
- Να εξηγείς την εμβέλεια των μεταβλητών ενός υποπρογράμματος.
- Να καλείς σωστά ένα υποπρόγραμμα και να αναφέρεις τα πλεονεκτήματα του τμηματικού προγραμματισμού.
Γιατί υποπρογράμματα
Ο τμηματικός προγραμματισμός σπάει το πρόγραμμα σε ανεξάρτητα κομμάτια. Τα πλεονεκτήματα δεν είναι αφηρημένα και ζητούνται αυτούσια:
- Ευκολότερη ανάπτυξη — κάθε τμήμα γράφεται και δοκιμάζεται χωριστά.
- Επαναχρησιμοποίηση — ο ίδιος κώδικας καλείται από πολλά σημεία, γραμμένος μία φορά.
- Ευκολότερη συντήρηση — η διόρθωση γίνεται σε ένα σημείο και ισχύει παντού.
- Αναγνωσιμότητα — το κυρίως πρόγραμμα διαβάζεται σαν περίληψη.
- Καταμερισμός εργασίας — διαφορετικοί προγραμματιστές, διαφορετικά τμήματα.
Διαδικασία και συνάρτηση
| Διαδικασία | Συνάρτηση | |
|---|---|---|
| Επιστρέφει | καμία, μία ή πολλές τιμές | ακριβώς μία |
| Πώς επιστρέφει | μέσω παραμέτρων | μέσω του ονόματός της |
| Κλήση | με την εντολή ΚΑΛΕΣΕ | μέσα σε έκφραση |
| Δηλώνεται τύπος | όχι | ναι, ο τύπος της τιμής |
ΔΙΑΒΑΣΕ / ΓΡΑΨΕ | επιτρέπονται | δεν επιτρέπονται |
ΣΥΝΑΡΤΗΣΗ Μέγιστο(α, β): ΠΡΑΓΜΑΤΙΚΗΜΕΤΑΒΛΗΤΕΣΠΡΑΓΜΑΤΙΚΕΣ: α, βΑΡΧΗΑΝ α > β ΤΟΤΕΜέγιστο ← αΑΛΛΙΩΣΜέγιστο ← βΤΕΛΟΣ_ΑΝΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣΔΙΑΔΙΚΑΣΙΑ Εμφάνισε(τιμή)ΜΕΤΑΒΛΗΤΕΣΠΡΑΓΜΑΤΙΚΕΣ: τιμήΑΡΧΗΓΡΑΨΕ 'Το αποτέλεσμα είναι ', τιμήΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
Η συνάρτηση επιστρέφει με εκχώρηση στο όνομά της — γραμμές και . Χωρίς αυτή την εκχώρηση σε κάθε δυνατό κλάδο, η συνάρτηση δεν έχει τιμή να επιστρέψει.
Παράμετροι
Τυπικές παράμετροι είναι αυτές της δήλωσης του υποπρογράμματος. Πραγματικές είναι αυτές της κλήσης.
Η αντιστοίχιση γίνεται κατά θέση, όχι κατά όνομα:
- πλήθος τυπικών και πραγματικών ίσο,
- τύποι να συμφωνούν ένας προς έναν,
- σειρά καθορίζει ποια πάει πού.
Εμβέλεια
Οι μεταβλητές ενός υποπρογράμματος είναι τοπικές: υπάρχουν όσο αυτό εκτελείται και εξαφανίζονται μόλις τελειώσει. Δύο μεταβλητές με το ίδιο όνομα σε δύο διαφορετικά υποπρογράμματα είναι δύο διαφορετικές μεταβλητές.
Λυμένα παραδείγματα
Παράδειγμα 1
Διαδικασία ή συνάρτηση για τον υπολογισμό του εμβαδού κύκλου;
Δοκίμασέ το πρώτα. Μετά δες τη λύση.
Παράδειγμα 2
Στην κλήση ΚΑΛΕΣΕ Διαίρεση(Β, Α) με δήλωση ΔΙΑΔΙΚΑΣΙΑ Διαίρεση(x, y), τι παίρνει το x;
Δοκίμασέ το πρώτα. Μετά δες τη λύση.
Παράδειγμα 3
Το κυρίως πρόγραμμα έχει μεταβλητή S με τιμή 10. Το υποπρόγραμμα έχει επίσης S και τη θέτει 0. Τι γίνεται το S του κυρίως;
Δοκίμασέ το πρώτα. Μετά δες τη λύση.
Παράδειγμα 4
Γιατί δεν επιτρέπεται η ΓΡΑΨΕ μέσα σε συνάρτηση;
Δοκίμασέ το πρώτα. Μετά δες τη λύση.
Ασκήσεις
Από την πιο απλή στην πιο δύσκολη. Κρυμμένη είναι μόνο η απάντηση — ο δρόμος ως εκεί είναι δική σου δουλειά.
Πόσες τιμές επιστρέφει μια συνάρτηση;
Τεστ
Δεν μετράει βαθμός — μετράει να δεις τι κατάλαβες. Προσπέρασε όποια θες και γύρνα πίσω όποτε θες.
Ερώτηση 1 από 8
Τα κατάφερες;
- Να ξεχωρίζεις τη διαδικασία από τη συνάρτηση και να επιλέγεις τη σωστή.
- Να αντιστοιχίζεις τυπικές και πραγματικές παραμέτρους.
- Να εξηγείς την εμβέλεια των μεταβλητών ενός υποπρογράμματος.
- Να καλείς σωστά ένα υποπρόγραμμα και να αναφέρεις τα πλεονεκτήματα του τμηματικού προγραμματισμού.
Κάνε το τεστ πιο πάνω και θα δεις εδώ πού στέκεσαι.