Μετάβαση στο περιεχόμενο
Akademio

Υποπρογράμματα

Διαδικασίες, συναρτήσεις, παράμετροι και εμβέλεια μεταβλητών.

40 λεπτά

Θα μάθεις να

  1. Να ξεχωρίζεις τη διαδικασία από τη συνάρτηση και να επιλέγεις τη σωστή.
  2. Να αντιστοιχίζεις τυπικές και πραγματικές παραμέτρους.
  3. Να εξηγείς την εμβέλεια των μεταβλητών ενός υποπρογράμματος.
  4. Να καλείς σωστά ένα υποπρόγραμμα και να αναφέρεις τα πλεονεκτήματα του τμηματικού προγραμματισμού.

Γιατί υποπρογράμματα

Ο τμηματικός προγραμματισμός σπάει το πρόγραμμα σε ανεξάρτητα κομμάτια. Τα πλεονεκτήματα δεν είναι αφηρημένα και ζητούνται αυτούσια:

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

Διαδικασία και συνάρτηση

ΔιαδικασίαΣυνάρτηση
Επιστρέφεικαμία, μία ή πολλές τιμέςακριβώς μία
Πώς επιστρέφειμέσω παραμέτρωνμέσω του ονόματός της
Κλήσημε την εντολή ΚΑΛΕΣΕμέσα σε έκφραση
Δηλώνεται τύποςόχιναι, ο τύπος της τιμής
ΔΙΑΒΑΣΕ / ΓΡΑΨΕεπιτρέπονταιδεν επιτρέπονται
Μία συνάρτηση και μία διαδικασία
  1. ΣΥΝΑΡΤΗΣΗ Μέγιστο(α, β): ΠΡΑΓΜΑΤΙΚΗ
  2. ΜΕΤΑΒΛΗΤΕΣ
  3. ΠΡΑΓΜΑΤΙΚΕΣ: α, β
  4. ΑΡΧΗ
  5. ΑΝ α > β ΤΟΤΕ
  6. Μέγιστο α
  7. ΑΛΛΙΩΣ
  8. Μέγιστο β
  9. ΤΕΛΟΣ_ΑΝ
  10. ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
  11. ΔΙΑΔΙΚΑΣΙΑ Εμφάνισε(τιμή)
  12. ΜΕΤΑΒΛΗΤΕΣ
  13. ΠΡΑΓΜΑΤΙΚΕΣ: τιμή
  14. ΑΡΧΗ
  15. ΓΡΑΨΕ 'Το αποτέλεσμα είναι ', τιμή
  16. ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

Η συνάρτηση επιστρέφει με εκχώρηση στο όνομά της — γραμμές 66 και 88. Χωρίς αυτή την εκχώρηση σε κάθε δυνατό κλάδο, η συνάρτηση δεν έχει τιμή να επιστρέψει.

Παράμετροι

Τυπικές παράμετροι είναι αυτές της δήλωσης του υποπρογράμματος. Πραγματικές είναι αυτές της κλήσης.

Η αντιστοίχιση γίνεται κατά θέση, όχι κατά όνομα:

  • πλήθος τυπικών και πραγματικών ίσο,
  • τύποι να συμφωνούν ένας προς έναν,
  • σειρά καθορίζει ποια πάει πού.

Εμβέλεια

Οι μεταβλητές ενός υποπρογράμματος είναι τοπικές: υπάρχουν όσο αυτό εκτελείται και εξαφανίζονται μόλις τελειώσει. Δύο μεταβλητές με το ίδιο όνομα σε δύο διαφορετικά υποπρογράμματα είναι δύο διαφορετικές μεταβλητές.

Δύο μεταβλητές S, ένα όνομα

Το κυρίως πρόγραμμα έχει το δικό του S και το υποπρόγραμμα το δικό του. Παρακολούθησε τις δύο στήλες: δεν αγγίζονται ποτέ.

ΒήμαΠού βρισκόμαστεS του κυρίωςS του υποπρογράμματοςΕπιστροφή
Ζωντανή ενημέρωση

Λυμένα παραδείγματα

Παράδειγμα 1

Διαδικασία ή συνάρτηση για τον υπολογισμό του εμβαδού κύκλου;

Δοκίμασέ το πρώτα. Μετά δες τη λύση.

Παράδειγμα 2

Στην κλήση ΚΑΛΕΣΕ Διαίρεση(Β, Α) με δήλωση ΔΙΑΔΙΚΑΣΙΑ Διαίρεση(x, y), τι παίρνει το x;

Δοκίμασέ το πρώτα. Μετά δες τη λύση.

Παράδειγμα 3

Το κυρίως πρόγραμμα έχει μεταβλητή S με τιμή 10. Το υποπρόγραμμα έχει επίσης S και τη θέτει 0. Τι γίνεται το S του κυρίως;

Δοκίμασέ το πρώτα. Μετά δες τη λύση.

Παράδειγμα 4

Γιατί δεν επιτρέπεται η ΓΡΑΨΕ μέσα σε συνάρτηση;

Δοκίμασέ το πρώτα. Μετά δες τη λύση.

Ασκήσεις

Από την πιο απλή στην πιο δύσκολη. Κρυμμένη είναι μόνο η απάντηση — ο δρόμος ως εκεί είναι δική σου δουλειά.

ΒασικήΆσκηση 1 από 4

Πόσες τιμές επιστρέφει μια συνάρτηση;

Τεστ

Δεν μετράει βαθμός — μετράει να δεις τι κατάλαβες. Προσπέρασε όποια θες και γύρνα πίσω όποτε θες.

Ερώτηση 1 από 8

Μια συνάρτηση επιστρέφει:

Τα κατάφερες;

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

Κάνε το τεστ πιο πάνω και θα δεις εδώ πού στέκεσαι.