2. Στόχοι μαθήματος
Στο τέλος του μαθήματος θα είσαι σε θέση να:
• Προσδιορίζεις την έννοια του τμηματικού προγραμματισμού
• Περιγράφεις τη δομή των υποπρογραμμάτων
• Αναλύεις ένα σύνθετο πρόγραμμα σε απλά
υποπρογράμματα
• Διαχωρίζεις τις συναρτήσεις από τις διαδικασίες
• Επιλέγεις τη χρήση διαδικασίας ή συνάρτησης για την
υλοποίηση ενός υποπρογράμματος
• Χρησιμοποιείς παραμέτρους για την επικοινωνία των
υποπρογραμμάτων
3. Στόχοι μαθήματος
Στο τέλος του μαθήματος θα είσαι σε θέση να:
• Επαληθεύεις την ορθότητα των προγραμμάτων σου μέσω
της Γλωσσομάθειας
• Εκτιμάς το πρόγραμμα σου για τυχόν βελτιώσεις
• Εφαρμόζεις στην πράξη, μέσω της Γλωσσομάθειας, αυτά
που έμαθες στο συγκεκριμένο μάθημα
4. Βασικές Έννοιες
Τι ονομάζουμε τμηματικό προγραμματισμό;
Τμηματικός προγραμματισμός ονομάζεται η τεχνική
σχεδίασης και ανάπτυξης των υποπρογραμμάτων
ως ένα σύνολο από απλούστερα τμήματα
προγραμμάτων.
5. Βασικές Έννοιες
Τι ονομάζουμε υποπρόγραμμα;
Υποπρόγραμμα ονομάζουμε ένα τμήμα του
προγράμματος το οποίο επιτελεί ένα αυτόνομο έργο
και έχει γραφεί χωριστά από το υπόλοιπο
πρόγραμμα.
6. Βασικές Έννοιες
Ποιες ιδιότητες διακρίνουν τα υποπρογράμματα;
1.Να έχει μία είσοδο και μία έξοδο
Το υποπρόγραμμα ενεργοποιείται με την είσοδο
σε αυτό που γίνεται πάντοτε στην αρχή του, εκτελεί
ορισμένες ενέργειες και απενεργοποιείται με την
έξοδο από αυτό που γίνεται πάντοτε από το τέλος
του.
7. Βασικές Έννοιες
Ποιες ιδιότητες διακρίνουν τα υποπρογράμματα;
2.Να είναι ανεξάρτητο από τα άλλα
Το κάθε υποπρόγραμμα πρέπει να μπορεί να
σχεδιαστεί, να αναπτυχθεί και να συντηρηθεί
αυτόνομα χωρίς να επηρεαστούν άλλα
υποπρογράμματα. Στην πράξη βέβαια η απόλυτη
ανεξαρτησία είναι δύσκολο να επιτευχθεί.
8. Βασικές Έννοιες
Ποιες ιδιότητες διακρίνουν τα υποπρογράμματα;
3.Να μην είναι πολύ μεγάλο
Το υποπρόγραμμα πρέπει να είναι τόσο σε
μέγεθος, ώστε να είναι εύκολα κατανοητό για να
μπορέσει να ελέγχεται. Πρέπει να εκτελεί μόνο μία
λειτουργία. Αν εκτελεί περισσότερες, τότε θα πρέπει
να διασπαστεί σε ακόμη μικρότερα
υποπρογράμματα.
9. Βασικές Έννοιες
Τι ονομάζουμε κλήση του υποπρογράμματος;
Κλήση ενός υποπρογράμματος ονομάζεται η
διαδικασία κατά την οποία ένα υποπρόγραμμα
ενεργοποιείται είτε από ένα άλλο υποπρόγραμμα
είτε από το αρχικό πρόγραμμα, το οποίο ονομάζεται
κύριο πρόγραμμα.
10. Βασικές Έννοιες
Κύριο πρόγραμμα
Υποπρόγραμμα
ΠΡΟΓΡΑΜΜΑ Παράδειγμα
ΜΕΤΑΒΛΗΤΕΣ
. . .
ΑΡΧΗ
…
Κλήση υποπρογράμματος
…
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Παράδειγμα
ΠΡΟΓΡΑΜΜΑ Παράδειγμα
ΜΕΤΑΒΛΗΤΕΣ
. . .
ΑΡΧΗ
…
Κλήση υποπρογράμματος
…
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Παράδειγμα
ΥΠΟΠΡΟΓΡΑΜΜΑΥΠΟΠΡΟΓΡΑΜΜΑ
11. Βασικές Έννοιες
Τι ονομάζουμε παράμετρο;
Παράμετρος είναι μία μεταβλητή που επιτρέπει το
πέρασμα της τιμής της από ένα τμήμα
προγράμματος σε ένα άλλο.
12. Βασικές Έννοιες
Ποια είδη υποπρογραμμάτων υπάρχουν;
Υπάρχουν δύο είδη υποπρογραμμάτων:
Οι διαδικασίες και
Οι συναρτήσεις
13. Διαδικασίες
Η διαδικασία είναι ένας τύπος υποπρογράμματος που
μπορεί να εκτελεί όλες τις λειτουργίες ενός
προγράμματος.
Δηλαδή:
να εισάγει δεδομένα
να εκτελεί υπολογισμούς
να μεταβάλει τις τιμές των μεταβλητών
να τυπώνει αποτελέσματα
14. Διαδικασίες
Κάθε διαδικασία έχει την ακόλουθη δομή:
ΔΙΑΔΙΚΑΣΙΑ Όνομα_Διαδικασίας (Λίστα_Παραμέτρων)
ΜΕΤΑΒΛΗΤΕΣ
.
.
.
ΑΡΧΗ
Εντολές
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
ΔΙΑΔΙΚΑΣΙΑ Όνομα_Διαδικασίας (Λίστα_Παραμέτρων)
ΜΕΤΑΒΛΗΤΕΣ
.
.
.
ΑΡΧΗ
Εντολές
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
15. Διαδικασίες
• Όνομα_Διαδικασίας :
Το όνομα της διαδικασίας είναι οποιοδήποτε έγκυρο
όνομα της ΓΛΩΣΣΑΣ.
• Λίστα_Παραμέτρων:
Η λίστα παραμέτρων είναι μία λίστα μεταβλητών, των
οποίων οι τιμές μεταβιβάζονται προς τη διαδικασία κατά την
κλήση ή και επιστρέφονται στο κύριο πρόγραμμα μετά το
τέλος της διαδικασίας.
• Εντολές:
Οποιαδήποτε εντολή της ΓΛΩΣΣΑΣ.
16. Διαδικασίες
• Κάθε διαδικασία εκτελείται όταν καλείται από το
κύριο πρόγραμμα ή άλλη διαδικασία.
• Η κλήση σε διαδικασία πραγματοποιείται με την
εντολή ΚΑΛΕΣΕ, που ακολουθείται από το όνομα
της διαδικασίας συνοδευόμενο μέσα σε παρενθέσεις
με τη λίστα παραμέτρων.
ΚΑΛΕΣΕ Όνομα_Διαδικασίας (Λίστα_Παραμέτρων)
π.χ. ΚΑΛΕΣΕ Πράξεις (Α, Β, Διαφορά)
ΚΑΛΕΣΕ Όνομα_Διαδικασίας (Λίστα_Παραμέτρων)
π.χ. ΚΑΛΕΣΕ Πράξεις (Α, Β, Διαφορά)
18. Διαδικασίες
• Μόλις κάποιο πρόγραμμα καλέσει μία διαδικασία, η
εκτέλεση του κύριου προγράμματος διακόπτεται και
εκτελούνται οι εντολές της διαδικασίας που καλείται.
• Έστω ότι το κύριο πρόγραμμα καλεί την διαδικασία
Υπολογισμός_Αθροίσματος με τις τιμές 3 και 4. Τότε
θα είναι X = 3 και Y = 4 αντίστοιχα.
• Η διαδικασία θα υπολογίζει το άθροισμα
Χ + Υ = 3 + 4 = 7 και θα το εμφανίσει στην οθόνη.
• Με την εντολή ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ η ροή
επιστρέφεται πίσω στο κύριο πρόγραμμα και
εκτελείται η εντολή που ακολουθεί.
19. Διαδικασίες
• Η λίστα των παραμέτρων ορίζει τις τιμές που
περνούν στην διαδικασία και τις τιμές που αυτή
επιστρέφει. Η λίστα δεν είναι υποχρεωτική.
20. Διαδικασίες
• Οι μεταβλητές Α, Β, Διαφ1, Αθρ1 είναι μεταβλητές
του προγράμματος Παράδειγμα_1 και αποτελούν τις
πραγματικές παραμέτρους, ενώ οι μεταβλητές Χ,
Υ, Διαφορά, Άθροισμα είναι μεταβλητές της
διαδικασίας Πράξεις, και ονομάζονται τυπικές
μεταβλητές.
• Οι μεταβλητές Α, Β, Διαφ1, Αθρ1 καθώς και όλες οι
μεταβλητές του προγράμματος Παράδειγμα_1 δεν
είναι γνωστές στη διαδικασία Πράξεις και αντίστοιχα
όλες οι μεταβλητές της διαδικασίας δεν είναι
γνωστές στο πρόγραμμα.
21. Συναρτήσεις
Η συνάρτηση είναι ένας τύπος υποπρογράμματος που
υπολογίζει και επιστρέφει μόνο μία τιμή με το όνομα
της (όπως οι μαθηματικές συναρτήσεις).
Μία συνάρτηση:
υπολογίζει μόνο μία τιμή (αριθμητική, χαρακτήρα ή λογική)
επιστρέφει την τιμή που υπολόγισε στο υποπρόγραμμα
που την κάλεσε
23. Συναρτήσεις
• Όνομα_Συνάρτησης :
Το όνομα της συνάρτησης είναι οποιοδήποτε έγκυρο
όνομα της ΓΛΩΣΣΑΣ.
• Λίστα_Παραμέτρων:
Η λίστα παραμέτρων είναι μία λίστα μεταβλητών, των
οποίων οι τιμές μεταβιβάζονται στη συνάρτηση κατά την
κλήση.
• Τύπος:
Ο τύπος της συνάρτησης αφορά την τιμή που θα
επιστρέψει η συνάρτηση. Ότι τύπος είναι η μεταβλητή που θα
επιστραφεί, τέτοιος τύπος θα είναι και η συνάρτηση.
24. Συναρτήσεις
Οι συναρτήσεις μπορούν να επιστρέψουν τιμές όλων
των τύπων δεδομένων που υποστηρίζει η ΓΛΩΣΣΑ.
Μία συνάρτηση λοιπόν μπορεί να είναι
ΠΡΑΓΜΑΤΙΚΗ, ΑΚΕΡΑΙΑ, ΧΑΡΑΚΤΗΡΑΣ, ΛΟΓΙΚΗ.
• Εντολές:
Η συνάρτηση υπολογίζει μόνο τιμές. Δεν
διαβάζει, ούτε εμφανίζει στην οθόνη. Στις εντολές
πρέπει να υπάρχει υποχρεωτικά μία εντολή
εκχώρησης τιμής στο όνομα της συνάρτησης.
25. Συναρτήσεις
• Κάθε συνάρτηση εκτελείται όπως ακριβώς
εκτελούνται οι ενσωματωμένες συναρτήσεις της
ΓΛΩΣΣΑΣ. Απλώς αναφέρεται το όνομα της σε μία
έκφραση ή σε μία εντολή και επιστρέφεται η τιμή
της.
π.χ. Εμ ← Εμβαδό_κύκλου (R)π.χ. Εμ ← Εμβαδό_κύκλου (R)
27. Πλεονεκτήματα
υποπρογραμμάτων
• Διευκόλυνση στην ανάπτυξη του αλγορίθμου και του
αντίστοιχου προγράμματος
• Διευκόλυνση στην κατανόηση και διόρθωση του
προγράμματος
• Απαιτείται λιγότερος χρόνος και προσπάθεια στη
συγγραφή του προγράμματος
• Επέκταση των δυνατοτήτων των γλωσσών
προγραμματισμού