Παρουσίαση/Προβολή

Εικόνα επιλογής

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ σε ΠΡΟΓΡΑΜ. ΠΕΡΙΒ. Υποπρογράμματα-2 Γ οικ

(EL226210) -  ΘΕΟΔΩΡΟΣ ΚΟΥΤΣΟΥΜΑΡΗΣ

Περιγραφή Μαθήματος

                                        ΘΕΩΡΙΑ

Πηγή Φωτογραφίας

Στο προηγούμενο μάθημα μιλήσαμε για τα υποπρογράμματα και πιο συγκεκριμμένα τις  Συναρτήσεις και τις Διαδικασίες. Το πρώτο σημαντικότερο ζήτημα είναι ο τρόπος που το κύριο πρόγραμμα καλεί  αυτά τα υποπρογράμματα.

  Η κλήση των Διαδικασιών στην «Γλώσσα» γίνεται με την εντολή ΚΑΛΕΣΕ και δίπλα το όνομα της διαδικασίας.

                    σύνταξη: ΚΑΛΕΣΕ <ονομα> (λίστα παραμέτρων)

  Η κλήση των Συναρτήσεων στην «Γλώσσα» δεν γίνεται με συγκεκριμμένη  εντολή, αλλά μπορεί να είναι μία εντολή ανάθεσης ή μία εντολή εμφάνισης ή εκτύπωσης αποτελέσματος  που να περιέχει το όνομα της συνάρτησης.

            σύνταξη : Α <- <ονομα> (λίστα παραμέτρων)

                                                                      όπου Α μεταβλητή του κυρίου προγράματος

                ή        : ΕΜΦΑΝΙΣΕ <ονομα> (λίστα παραμέτρων)

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

 

Η παράμετρος είναι μία μεταβλητή που επιτρέπει το πέρασμα της τιμής της από το κύριο πρόγραμμα σε ένα υποπρόγραμμα και αντίστροφα. Επίσης το πέρασμα της τιμής της από ένα υποπρόγραμμα σε ένα άλλο.

Οι παράμετροι που βρίσκονται στην κλήση του υποπρογράμματος (κύριο πρόγραμμα : Α,Β, Διαφ1, Αθρ1) λέγονται Πραγματικές παράμετροι ενώ οι παράμετροι που βρίσκονται στην στην αρχή του υποπρογράμματος (Χ,Υ,Διαφορά, Αθροισμα) ονομάζονται Τυπικές.

 

Σύμφωνα και με το παραπάνω σχήμα οι λίστες παραμέτρων πρέπει να ακολουθούν  τους παρακάτω κανόνες (SOS)

1) Ο αριθμός των παραμέτρων στην λίστα πραγματικών και τυπικών παραμέτρων είναι ο ίδιος

2) Κάθε Πραγματική παράμετρος αντιστοιχεί στην Τυπική που βρίσκεται στην αντίστοιχη θέση (Βλέπε σχήμα)

3) Η Πραγματική και Τυπική παράμετρος πρέπει να είναι του ιδίου τύπου

                                                             SUPER SOS ΕΡΩΤΗΣΗ

Σε τι διαφέρουν οι Παράμετροι από τις Μεταβλητές του προγράμματος;

α) Οι Μεταβλητές (variables) και Παράμετροι (parameters) τυπικά είναι το ίδιο πράγμα, χώροι στην μνήμη RAM που περιέχουν μία τιμή αλλά..

1 ) Οι μεταβλήτές ξεκινούν την ύπαρξή τους την στιγμή του ορισμού τους στο κυρίο πρόγραμμα ενώ οι παράμετροι την στιγμή της κλήσης του υποπρογράμματος (διαδικασίας ή συναρτήσεως)

2 ) Οι μεταβλητές παύουν να υπάρχουν όταν τερματίσει το κύριο πρόγραμμα ενώ οι παράμετροι παύουν να υπάρχουν με τον τερματισμό του υποπρογράμματος και την μεταφορά των τιμών  στο κύριο πρόγραμμα (δηλ. πολύ νωρίτερα)

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

                                                ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ

Εμβέλεια μεταβλητών ή διεθνώς (the scope of variables). Φανταστείτε ότι γράφετε ένα πρόγραμμα και δηλώνετε μία μεταβλητή (π.χ. ΑΚΕΡΑΙΟΙ: Α) στο κύριο πρόγραμμά σας. Στην συνέχεια προσθέτετε και κανα δύο Διαδικασίες. Την μεταβλητή Α μπορείτε να την αρχικοποιήσετε, να την εκτυπώσετε την τιμή της αλλά και να αλλάξετε την τιμή που περιέχει. Όλα αυτά φυσικά μπορείτε να τα κάνετε μέσα στο κύριο πρόγραμμα. Το ερώτημα είναι : όλα τα παραπάνω μπορώ να τα κάνω και από το υποπρόγραμμα (Διαδικασία); Η διαδικασία γνωρίζει την ύπαρξη της μεταβλητής Α; Ολα τα παραπάνω φίλοι μου εξαρτιώνται από την γλωσσα προγραμματισμού που δουλεύω.

 - Εάν μια μεταβλητή που έχει ορισθεί στο κύριο πρόγραμμα "φαίνεται" στο υποπρόγραμμα και μπορεί να χρησιμοποιηθεί και εκεί ονομάζεται ΚΑΘΟΛΙΚΗ (global)

  -Εάν μια μεταβλητή που έχει ορισθεί είτε στο κύριο πρόγραμμα είτε σε ένα υποπρόγραμμα αλλά  "φαίνεται" και μπορεί να χρησιμοποιηθεί μόνο εκεί που ορίστηκε ονομάζεται ΤΟΠΙΚΗ (local)

  Μετά τα παραπάνω, οι καθολικές μεταβλητές λέμε πως έχουν απεριόριστη εμβέλεια

  Οι τοπικές έχουν περιορισμένη εμβέλεια 

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

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

 

Συνεχίστε με τις Ασκήσεις

και να είστε πάντα καλά

 

 

 

 

 

 

Ημερομηνία δημιουργίας

Τετάρτη 22 Απριλίου 2020