Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεὙπατια Παπάγος Τροποποιήθηκε πριν 6 χρόνια
1
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
Κεφάλαιο 10: Υποπρογράμματα 10.1 Τμηματικός προγραμματισμός 10.2 Χαρακτηριστικά των υποπρογραμμάτων 10.3 Πλεονεκτήματα του τμηματικού προγραμματισμού 10.4 Παράμετροι υποπρογραμμάτων 10.5 Διαδικασίες και συναρτήσεις 10.6 Εμβέλεια μεταβλητών-σταθερών
2
10.1 Τμηματικός προγραμματισμός
Ο καλύτερος τρόπος αντιμετώπισης σύνθετων προβλημάτων είναι η ιεραρχική προσέγγιση (top-down) Κάθε πρόβλημα διαιρείται σε μικρότερα υποπροβλήματα Κάθε υποπρόβλημα διαιρείται επίσης σε μικρότερα Στόχος, τελικά τα υποπροβλήματα να είναι αρκετά απλά Ο τελικός αλγόριθμος ανάγεται στους πολλούς απλούστερους αλγορίθμους λύσης των υποπροβλημάτων
3
10.1 Τμηματικός προγραμματισμός
4
10.1 Τμηματικός προγραμματισμός
ΠΑΡΑΔΕΙΓΜΑ 1 (συνέχεια): Παρατηρήσεις: Το αρχικό πρόβλημα διασπάστηκε σε αρκετά απλούστερα υποπροβλήματα. Η δημιουργία του τελικού προγράμματος ανάγεται στη δημιουργία των επί μέρους τμημάτων προγραμμάτων και τη σύνδεση αυτών μεταξύ τους. Μερικά από αυτά τα τμήματα (π.χ. υπολογισμός της μέσης τιμής), έχουν ήδη αντιμετωπιστεί, συνεπώς μπορούμε να εκμεταλλευτούμε τα προγράμματα που ήδη έχουμε γράψει μειώνοντας έτσι την εργασία για την επίλυση του προβλήματος.
5
10.1 Τμηματικός προγραμματισμός
6
10.2 Χαρακτηριστικά υποπρογραμμάτων
Κάθε υποπρόγραμμα έχει μόνο μία είσοδο και μία έξοδο. Κάθε υποπρόγραμμα ενεργοποιείται με την είσοδο σε αυτό που γίνεται πάντοτε από την αρχή του απενεργοποιείται με την έξοδο από αυτό που γίνεται πάντοτε από το τέλος του. Κάθε υποπρόγραμμα πρέπει να είναι ανεξάρτητο από άλλα Κάθε υποπρόγραμμα μπορεί να σχεδιαστεί, να αναπτυχθεί και να συντηρηθεί αυτόνομα Κάθε υποπρόγραμμα πρέπει να μην είναι πολύ μεγάλο. Κάθε υποπρόγραμμα να είναι τόσο μεγάλο, ώστε να είναι εύκολα κατανοητό και να μπορεί να ελέγχεται. Κάθε υποπρόγραμμα πρέπει να εκτελεί μόνο μία λειτουργία.
7
10.3 Πλεονεκτήματα τμηματικού προγραμματισμού
Διευκολύνει την ανάπτυξη του αλγορίθμου και του αντιστοίχου προγράμματος. Διευκολύνει την κατανόηση και διόρθωση του προγράμματος. Απαιτεί λιγότερο χρόνο και προσπάθεια στη συγγραφή του προγράμματος. Επεκτείνει τις δυνατότητες των γλωσσών προγραμματισμού.
8
10.4 Παράμετροι υποπρογραμμάτων
Τα υποπρογράμματα ενεργοποιούνται από κάποιο άλλο πρόγραμμα ή υποπρόγραμμα. Συχνά πρέπει να επικοινωνούν με το υπόλοιπο πρόγραμμα. Δέχονται τιμές από το τμήμα προγράμματος που το καλεί Μετά την εκτέλεση επιστρέφουν σε αυτό αποτελέσματα. Οι τιμές αυτές που περνούν από το ένα υποπρόγραμμα στο άλλο λέγονται παράμετροι. Οι παράμετροι είναι σαν τις κοινές μεταβλητές αλλά χρησιμοποιούνται για να περνούν τιμές στα υποπρογράμματα.
9
10.5 Διαδικασίες και Συναρτήσεις
Ορισμός: Η συνάρτηση είναι ένας τύπος υποπρογράμματος που υπολογίζει και επιστρέφει μόνο μία τιμή με το όνομά της (όπως οι μαθηματικές συναρτήσεις). Μοιάζει με τις συναρτήσεις των μαθηματικών Η χρήση είναι όμοια με τη χρήση των ενσωματωμένων συναρτήσεων που υποστηρίζει η γλώσσα προγραμματισμού Η διαδικασία είναι ένας τύπος υποπρογράμματος που μπορεί να εκτελεί όλες τις λειτουργίες ενός προγράμματος. Εισάγει δεδομένα, εκτελεί υπολογισμούς, μεταβάλλει τιμές μεταβλητών και τυπώνει αποτελέσματα. Οι τιμές μπορούν να μεταφέρονται σε άλλα υποπρογράμματα.
10
10.5 Διαδικασίες και Συναρτήσεις
Το πρόγραμμα εκτελεί τρεις συγκεκριμένες απλές λειτουργίες. α) Διαβάζει τα δεδομένα, την ακτίνα η οποία πρέπει να είναι θετικός αριθμός β) Υπολογίζει το εμβαδό (Ε=πr 2 ) γ) Τυπώνει το αποτέλεσμα, το εμβαδό, Ε Κάθε λειτουργία θα υλοποιηθεί με ένα υποπρόγραμμα
11
10.5 Διαδικασίες και Συναρτήσεις
Το πρόγραμμα εκτελεί τρεις συγκεκριμένες απλές λειτουργίες. α) Διαβάζει τα δεδομένα, την ακτίνα η οποία πρέπει να είναι θετικός αριθμός β) Υπολογίζει το εμβαδό (Ε=πr 2 ) γ) Τυπώνει το αποτέλεσμα, το εμβαδό, Ε Κάθε λειτουργία θα υλοποιηθεί με ένα υποπρόγραμμα
12
10.5.1 Ορισμός και κλήση συναρτήσεων
Το όνομα της συνάρτησης είναι οποιοδήποτε έγκυρο όνομα της ΓΛΩΣΣΑΣ. Η λίστα παραμέτρων είναι μια λίστα μεταβλητών, των οποίων οι τιμές μεταβιβάζονται στη συνάρτηση κατά την κλήση. Οι συναρτήσεις μπορούν να επιστρέφουν τιμές όλων των τύπων δεδομένων που υποστηρίζει η γλώσσα: ΠΡΑΓΜΑΤΙΚΗ, ΑΚΕΡΑΙΑ, ΧΑΡΑΚΤΗΡΑΣ, ΛΟΓΙΚΗ. Πρέπει υποχρεωτικά να υπάρχει μία εντολή εκχώρησης τιμής στο όνομα της συνάρτησης. Κάθε συνάρτηση εκτελείται, όπως ακριβώς εκτελούνται οι ενσωματωμένες συναρτήσεις της γλώσσας.
13
10.5.2 Ορισμός και κλήση διαδικασιών
14
10.5.2 Ορισμός και κλήση διαδικασιών
Το όνομα της διαδικασίας είναι οποιοδήποτε έγκυρο όνομα της ΓΛΩΣΣΑΣ. Η λίστα παραμέτρων είναι μια λίστα μεταβλητών, των οποίων οι τιμές μεταβιβάζονται προς τη διαδικασία κατά την κλήση ή/και επιστρέφονται στο κύριο πρόγραμμα μετά το τέλος της διαδικασίας. Κάθε διαδικασία μπορεί να έχει καμία, μία ή περισσότερες παραμέτρους. Στο σώμα της διαδικασίας μπορούν να υπάρχουν οποιεσδήποτε εντολές της γλώσσας. Κάθε διαδικασία εκτελείται όταν καλείται από το κύριο πρόγραμμα ή άλλη διαδικασία. Η κλήση σε διαδικασία πραγματοποιείται με την εντολή ΚΑΛΕΣΕ, που ακολουθείται από το όνομα της διαδικασίας συνοδευόμενο μέσα σε παρενθέσεις με τη λίστα παραμέτρων.
15
10.5.3 Πραγματικές και τυπικές παράμετροι
16
10.5.3 Πραγματικές και τυπικές παράμετροι
Οι μεταβλητές Α, Β, Διαφ1, Αθρ1, Διαφ2, Αθρ2 είναι μεταβλητές του προγράμματος Παράδειγμα_3 και αποτελούν τις πραγματικές παραμέτρους, Οι μεταβλητές Χ,Υ, Διαφορά, Άθροισμα είναι μεταβλητές της διαδικασίας Πράξεις, και ονομάζονται τυπικές παράμετροι. Όλες οι μεταβλητές είναι γνωστές, έχουν ισχύ όπως λέγεται, μόνο για το τμήμα προγράμματος στο οποίο έχουν δηλωθεί, ισχύουν δηλαδή τοπικά για το συγκεκριμένο υποπρόγραμμα ή κυρίως πρόγραμμα.
17
10.5.3 Πραγματικές και τυπικές παράμετροι
Οι λίστες των παραμέτρων πρέπει να ακολουθούν τους εξής κανόνες: Ο αριθμός των πραγματικών και των τυπικών παραμέτρων πρέπει να είναι ίδιος. Κάθε πραγματική παράμετρος αντιστοιχεί στην τυπική παράμετρο που βρίσκεται στην αντίστοιχη θέση. Η τυπική παράμετρος και η αντίστοιχή της πραγματική πρέπει να είναι του ιδίου τύπου.
18
10.5.3 Πραγματικές και τυπικές παράμετροι
19
10.6 Εμβέλεια των μεταβλητών
Το πρόγραμμα Αρχικό έχει 3 μεταβλητές Α, Β, Γ. Ισχύουν μόνο μέσα στο πρόγραμμα (τοπικά). Η διαδικασία Πρώτη έχει 4 μεταβλητές, Δ, Ε , Ζ, Η. Ισχύουν μόνο μέσα στη διαδικασία (τοπικά). Η διαδικασία Δεύτερη έχει 3 μεταβλητές Γ, Θ, Ι. Ισχύουν μόνο μέσα στη διαδικασία (τοπικά). Η μεταβλητή Γ είναι διαφορετική και άσχετη με τη Γ του προγράμματος Αρχικό Αφού οι μεταβλητές είναι τοπικές το ίδιο όνομα μπορεί να εμφανίζεται σε διαφορετικά τμήματα προγράμματος. Ό, τι ισχύει για τις μεταβλητές ισχύει και για τις σταθερές.
20
10.6 Εμβέλεια των μεταβλητών
Απεριόριστη εμβέλεια Όλες οι μεταβλητές και όλες οι σταθερές είναι γνωστές και μπορούν να χρησιμοποιούνται σε οποιοδήποτε τμήμα του προγράμματος, άσχετα που δηλώθηκαν. Όλες οι μεταβλητές είναι καθολικές. Καταστρατηγεί την αρχή της αυτονομίας των υποπρογραμμάτων Περιορισμένη εμβέλεια Υποχρεώνει όλες τις μεταβλητές που χρησιμοποιούνται σε ένα τμήμα προγράμματος, να δηλώνονται σε αυτό το τμήμα. Όλες οι μεταβλητές είναι τοπικές, ισχύουν δηλαδή για το υποπρόγραμμα στο οποίο δηλώθηκαν. Στη ΓΛΩΣΣΑ έχουμε περιορισμένη εμβέλεια. Τα πλεονεκτήματα είναι η απόλυτη αυτονομία όλων των υποπρογραμμάτων και η δυνατότητα να χρησιμοποιείται οποιοδήποτε όνομα Μερικώς περιορισμένη εμβέλεια Άλλες μεταβλητές είναι τοπικές και άλλες καθολικές. Κάθε γλώσσα προγραμματισμού έχει τους δικούς της κανόνες και μηχανισμούς για τον τρόπο και τις προϋποθέσεις που ορίζονται οι μεταβλητές ως τοπικές ή καθολικές. Προσφέρει μερικά πλεονεκτήματα στον πεπειραμένο προγραμματιστή, αλλά για τον αρχάριο περιπλέκει το πρόγραμμα.
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.