απορία; ΟΤΑΝ ΕΧΕΙΣ ΑΠΟΡΙΑ

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

Ο τμηματικός προγραμματισμός σπάει ένα σύνθετο πρόγραμμα σε υποπρογράμματα. Το κεφάλαιο εξηγεί τα χαρακτηριστικά και τα πλεονεκτήματά τους, τις διαδικασίες και τις συναρτήσεις της ΓΛΩΣΣΑΣ, το πέρασμα παραμέτρων, την εμβέλεια των μεταβλητών και την αναδρομή.

Γ΄ Λυκείου · Πληροφορική · 15 λεπτά

Το μάθημα είναι στο σχολικό βιβλίο. Δεν το αντιγράφουμε εδώ. Άνοιξε το επίσημο κεφάλαιο και γύρνα για την εξάσκηση.

Άνοιγμα βιβλίου ↗

Η σύνοψη, οι όροι και οι ασκήσεις γράφτηκαν με τη βοήθεια τεχνητής νοημοσύνης από το σχολικό βιβλίο και μπορεί να έχουν λάθη. Πηγή είναι πάντα το βιβλίο: ό,τι σου φαίνεται περίεργο, έλεγξέ το εκεί. Βρήκες λάθος; Γράψε μας στο aporia@signmak.com.

Σχεδιάγραμμα

Δική μας σύνοψη της ενότητας, για επανάληψη. Πηγή είναι πάντα το βιβλίο.

Τι έγινε

  1. Τμηματικός προγραμματισμός είναι η ανάπτυξη ενός προγράμματος ως συνόλου απλούστερων τμημάτων, με ιεραρχική ανάλυση από πάνω προς τα κάτω· υποπρόγραμμα λέγεται ένα αυτόνομο τμήμα γραμμένο χωριστά.
  2. Κάθε υποπρόγραμμα έχει μία είσοδο και μία έξοδο, είναι ανεξάρτητο από τα άλλα και όχι πολύ μεγάλο, ιδανικά με μία λειτουργία.
  3. Πλεονεκτήματα: πιο εύκολη ανάπτυξη, κατανόηση και διόρθωση, λιγότερος χρόνος συγγραφής και επέκταση των δυνατοτήτων της γλώσσας με βιβλιοθήκες.
  4. Οι παράμετροι είναι μεταβλητές που περνούν τιμές από ένα τμήμα προγράμματος σε άλλο, κατά την κλήση και μετά το τέλος του υποπρογράμματος.
  5. Η συνάρτηση επιστρέφει μία τιμή (ΑΚΕΡΑΙΑ, ΠΡΑΓΜΑΤΙΚΗ, ΧΑΡΑΚΤΗΡΑΣ ή ΛΟΓΙΚΗ) και στο σώμα της πρέπει να εκχωρείται τιμή στο όνομά της· η διαδικασία καλείται με ΚΑΛΕΣΕ και τα δύο γράφονται μετά το κύριο πρόγραμμα.
  6. Κατά την κλήση ο μεταφραστής αποθηκεύει τη διεύθυνση επιστροφής στη στοίβα χρόνου εκτέλεσης.
  7. Η ΓΛΩΣΣΑ έχει περιορισμένη εμβέλεια· άλλες γλώσσες έχουν απεριόριστη (όλες καθολικές) ή μερικώς περιορισμένη.
  8. Αναδρομή είναι η κλήση ενός υποπρογράμματος από τον εαυτό του· έχει αναδρομική σχέση και τιμή βάσης, όπως το παραγοντικό με 0! = 1.

Όροι

τμηματικός προγραμματισμός
πρόγραμμα ως σύνολο απλούστερων τμημάτων
υποπρόγραμμα
αυτόνομο τμήμα γραμμένο χωριστά
top-down
ανάλυση από πάνω προς τα κάτω
κύριο πρόγραμμα
το αρχικό πρόγραμμα που καλεί τα άλλα
παράμετρος
μεταβλητή που περνά τιμή σε άλλο τμήμα
συνάρτηση
υποπρόγραμμα που επιστρέφει μία τιμή
διαδικασία
υποπρόγραμμα με όλες τις λειτουργίες
ΚΑΛΕΣΕ
εντολή κλήσης διαδικασίας
τυπικές παράμετροι
στη δήλωση του υποπρογράμματος
πραγματικές παράμετροι
στην εντολή κλήσης
διεύθυνση επιστροφής
πού συνεχίζει μετά την κλήση
στοίβα χρόνου εκτέλεσης
κρατά τις διευθύνσεις επιστροφής
εμβέλεια
πού ισχύει μια μεταβλητή
τοπική μεταβλητή
ισχύει μόνο στο τμήμα της
καθολική μεταβλητή
ισχύει σε όλο το πρόγραμμα
απεριόριστη εμβέλεια
όλες οι μεταβλητές καθολικές
περιορισμένη εμβέλεια
όλες τοπικές, όπως στη ΓΛΩΣΣΑ
μερικώς περιορισμένη εμβέλεια
άλλες τοπικές, άλλες καθολικές
αναδρομή
υποπρόγραμμα που καλεί τον εαυτό του
τιμή βάσης
συνθήκη τερματισμού της αναδρομής

ΠΑΙΞΕ ΤΟΤηλεπαιχνίδι · Η Σκάλα · Η Τελεία · Κρεμάλα · Ζευγάρια · όλα με την ύλη αυτού του μαθήματος.

Εξάσκηση

Συχνές απορίες

Ποια η διαφορά διαδικασίας και συνάρτησης;

Η συνάρτηση δίνει πίσω ένα μόνο αποτέλεσμα, μέσω του ονόματός της, και την καλούμε γράφοντας το όνομα μέσα σε μια έκφραση. Η διαδικασία μπορεί να κάνει ό,τι κάνει ένα πρόγραμμα (είσοδο, υπολογισμούς, εκτύπωση) και καλείται με την εντολή ΚΑΛΕΣΕ.

Τι είναι οι τυπικές και οι πραγματικές παράμετροι;

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

Τι εμβέλεια έχουν οι μεταβλητές στη ΓΛΩΣΣΑ;

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

Ανοίγει το μενού κοινοποίησης του κινητού σου. Αν δεν υπάρχει, αντιγράφεται ο σύνδεσμος.

Νέα από το aporia.gr Νέες ενότητες και ό,τι βρίσκουμε στα θέματα των Πανελληνίων, στη σελίδα μας στο Facebook.