Κεφάλαιο 10 ο Υποπρογράµµατα

Σχετικά έγγραφα
ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Κάθε υποπρόγραμμα έχει μόνο μία είσοδο και μία έξοδο. Κάθε υποπρόγραμμα πρέπει να είναι ανεξάρτητο από τα άλλα.

Προγραμματισμός Η/Υ. Συναρτήσεις & Υποπρογράμματα. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Κεφάλαιο 10 Υποπρογράμματα. Καραμαούνας Πολύκαρπος

Κεφάλαιο 10 Υποπρογράμματα. Καραμαούνας Πολύκαρπος

ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Διαδικασίες και συναρτήσεις. 22 Νοε 2008 Ανάπτυξη εφαρμογών/ Υποπρογράμματα 1

Επικοινωνία:

ΠΕΡΙΕΧΟΜΕΝΑ Τμηματικός προγραμματισμός Χαρακτηριστικά των υποπρογραμμάτων Πλεονεκτήματα του τμηματικού προγραμματισμού Παράμετροι Διαδικασίες και

Παράμετροι. Αναδρομή. Σχεδίαση Διεπαφής Χρήστη ΠΕΡΙΕΧΟΜΕΝΑ

Κεφάλαιο 10ο. ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ιαδικασίες - Συναρτήσεις

δήλωσης δεδοµένων και σε παραβίαση των συντακτικών κανόνων της γλωσσάς.

1. Λογικά λάθη ονομάζονται αυτά που οφείλονται σε σφάλματα κατά την υλοποίηση του αλγόριθμου.

Τι είναι υποπρόγραμμα; Τμήμα προγράμματος το οποίο επιτελεί ένα αυτόνομο υπολογιστικό έργο (γράφεται χωριστά από το υπόλοιπο πρόγραμμα)

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Κεφάλαια 2,7,8

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Λύσεις Θεμάτων Εξετάσεων Ενιαίου Λυκείου 2004

Απλοποιεί τα γεγονότα έτσι ώστε να περιγράφει τι έχει γίνει και όχι πως έχει γίνει.

Προτεινόμενα Θέματα ΑΕΠΠ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ Κεφάλαια 2, 7, 8

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ (ΝΕΟ ΣΥΣΤΗΜΑ) 27 ΜΑΪΟΥ 2016 ΕΚΦΩΝΗΣΕΙΣ

A , ) 1. 4) 2. ( A3. 1.

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

ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 3 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Επιµέλεια Θοδωρής Πιερράτος

Δομημένος Προγραμματισμός

Επιμέλεια: Γιακουμόγλου Βαγγέλης.

Α. Ερωτήσεις Ανάπτυξης

Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΚΦΩΝΗΣΕΙΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Υποπρογράµµατα Συναρτήσεις. Στόχοι Μαθήµατος. Οι µαθητές να µπορούν:

Κεφάλαιο 7ο: Συναρτήσεις και Υπορουτίνες

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον

Ανάπτυξη και Σχεδίαση Λογισμικού

Πρόβλημα 37 / σελίδα 207

Ε Ι Α Γ Ω Γ Η Σ Ο Ν Π Ρ Ο Γ Ρ Α Μ Μ Α Σ Ι Μ Ο Κ Ε Υ Α Λ Α Ι Ο 6. Σο πρόγραμμα γράφεται σε κάποια γλώσσα προγραμματισμού.

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ

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

Α1. Χαρακτηρίστε τις παρακάτω προτάσεις ως σωστές ή λανθασμένες.

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΜΟΝΟ ΝΕΟ ΣΥΣΤΗΜΑ Γ ΗΜΕΡΗΣΙΩΝ

Κεφάλαιο 12 : ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΑΠΡΙΛΙΟΣ 2019 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 (ΕΠΤΑ)

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ. Πως γίνεται ο ορισμός μιας διαδικασίας; Να δοθούν σχετικά παραδείγματα. ΑΡΧΗ Εντολές ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΑΠΡΙΛΙΟΣ 2018 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 (ΕΠΤΑ)

6. Σ 7. Λ 8. Λ 9. Λ 10. Λ

Κεφάλαιο 10. Υποπρογράμματα

Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1

Μαλούτα Θεανώ Σελίδα 1

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

επιµέλεια Θοδωρής Πιερράτος

! ΘΕΜΑ A Α2. ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΛΥΚΕΙΟΥ. Ονοµατεπώνυµο:

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΣΠΟΥΔΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΚΕΦΑΛΑΙΟ 7 ο. Έτσι ο προγραµµατισµός µε τη ΓΛΩΣΣΑ εστιάζεται στην ανάπτυξη του αλγορίθµου και τη µετατροπή του σε σωστό πρόγραµµα.

Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Ημερομηνία: Πέμπτη 12 Απριλίου 2018 Διάρκεια Εξέτασης: 3 ώρες ΕΚΦΩΝΗΣΕΙΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ. 2. Οι συναρτήσεις επιτρέπεται να µεταβάλλουν τις τιµές των παραµέτρων που δέχονται από το κυρίως πρόγραµµα.

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 2 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΜΑΪΟΥ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ (ΝΕΟ ΣΥΣΤΗΜΑ) 27 ΜΑΪΟΥ 2016 ΕΚΦΩΝΗΣΕΙΣ ÊÁËÁÌÁÔÁ

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ. 1ο ΓΕΛ ΠΕΥΚΗΣ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ B' ΤΕΤΡΑΜΗΝΟΥ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ) Γ ΤΑΞΗΣ 2003

Προγραμματισμός Ι (ΗΥ120)

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Διάρκεια 3 ώρες. Όνομα... Επώνυμο... Βαθμός...

ΠΡΟΣΟΜΟΙΩΣΗ ΑΠΟΛΥΤΗΡΙΩΝ ΕΞΕΤΑΣΕΩΝ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΚΥΡΙΑΚΗ 22 ΑΠΡΙΛΙΟΥ 2012 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΚΑΤΕΥΘΥΝΣΗΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΦΡΟΝΤΙΣΤΗΡΙΑ ΠΡΟΟΔΟΣ

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

Προγραμματισμός ΙI (Θ)

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Α2. Να γράψετε στο τετράδιο απαντήσεών σας το κατάλληλο τμήμα κώδικα, κάνοντας τις απαραίτητες αλλαγές σύμφωνα με την εκάστοτε εκφώνηση:

Κεφάλαιο 10. Ερωτήσεις ανάπτυξης

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ) Γ ΤΑΞΗΣ 2003

ΘΕΜΑ 1 ο ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Γ ΛΥΚΕΙΟΥ 3 ΩΡΕΣ

ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ

Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΚΦΩΝΗΣΕΙΣ ÏÅÖÅ

Προγραμματισμός H/Y Ενότητα 5: Συναρτήσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Λύσεις Θεμάτων Επαναληπτικών Εξετάσεων Ενιαίου Λυκείου 2015

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ 12 ΙΟΥΝΙΟΥ 2017 ΕΚΦΩΝΗΣΕΙΣ

Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Óõíåéñìüò ΕΚΦΩΝΗΣΕΙΣ

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

Ανάπτυξη εφαρµογών σε προγραµµατιστικό περιβάλλον (στοιχεία θεωρίας)

ΤΕΛΙΚΟ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο ΚΕΦΑΛΑΙΟ

Προγραµµατιστικές Τεχνικές

ΑΝ.ΕΦ. Γ ΛΥΚΕΙΟΥ Αν η συνθήκη ισχύει, τότε εκτελούνται οι εντολές που βρίσκονται µεταξύ των λέξεων ΤΟΤΕ και και η εκτέλεση του προγράµµατος συνεχίζετα

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΤΑΞΗ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ' ΛΥΚΕΙΟΥ ΤΕΧΝ/ΚΗΣ ΚΑΤ/ΝΣΗΣ (Πλ. & Υπ.) 2006 ΕΚΦΩΝΗΣΕΙΣ ÈÅÌÅËÉÏ

Συναρτήσεις. Υποπρόγραμμα

7. Βασικά στοιχεία προγραµµατισµού.

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

γραπτή εξέταση στo μάθημα ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ' ΛΥΚΕΙΟΥ

ΕΚΠΑΙΔΕΥΤΗΡΙΑ ΝΕΑ ΠΑΙΔΕΙΑ

Γλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από το

ΚΕΦΑΛΑΙΟ 6 - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Κεφάλαιο 6 Εισαγωγή στον Προγραμματισμό. 26-Jun-15 ΑΕΠΠ - Καραμαούνας Π. 1

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 3: Συναρτήσεις

Transcript:

Κεφάλαιο 10 ο Υποπρογράµµατα Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Η αντιµετώπιση των σύνθετων προβληµάτων και η ανάπτυξη των αντίστοιχων προγραµµάτων µπορεί να γίνει µε την ιεραρχική σχεδίαση, δηλαδή η ανάπτυξη του προγράµµατος από επάνω προς τα κάτω. Κάθε πρόβληµα διαιρείται σε µικρότερα επιµέρους απλούστερα προβλήµατα και κάθε ένα από αυτά τα προβλήµατα διαιρείται σε ακόµα απλούστερα και µικρότερα. Τα επιµέρους υπο-προβλήµατα είναι αρκετά απλά, ώστε οι αντίστοιχοι αλγόριθµοι και τα αντίστοιχα τµήµατα να σχεδιαστούν και να γραφούν εύκολα. Ο τελικός αλγόριθµός του προβλήµατος ανάγεται σε πολλούς απλούστερους επιµέρους αλγορίθµους και το τελικό πρόγραµµα σε πολλά απλούστερα τµήµατα προγράµµατος. Η τεχνική του τµηµατικού προγραµµατισµού είναι ένα από τα βασικότερα συστατικά του δοµηµένου προγραµµατισµού. Τι ονοµάζουµε τµηµατικό προγραµµατισµό; Τµηµατικός προγραµµατισµός ονοµάζεται η τεχνική σχεδίασης και ανάπτυξης προγραµµάτων ως ένα σύνολο από απλούστερα τµήµατα προγραµµάτων. Τι µας εξασφαλίζει η χρήση της τεχνικής του τµηµατικού προγραµµατισµού ως βασικό συστατικό του δοµηµένου προγραµµατισµού; Η χρήση της τεχνικής του τµηµατικού προγραµµατισµού εξασφαλίζει σε µεγάλο βαθµό την επιτυχή και εύκολη δηµιουργία σωστών προγραµµάτων. Τι ονοµάζεται υποπρόγραµµα; Υποπρόγραµµα (subprogram) ονοµάζουµε ένα τµήµα του προγράµµατος το οποίο επιτελεί ένα αυτόνοµα έργο και έχει γραφεί χωριστά από το υπόλοιπο πρόγραµµα. Τι απαιτεί η σωστή εφαρµογή του τµηµατικού προγραµµατισµού; Η σωστή εφαρµογή του τµηµατικού προγραµµατισµού απαιτεί: Μελέτη στην ανάλυση του προβλήµατος (δεν υπάρχουν συγκεκριµένοι κανόνες για την επιτυχή ανάλυση ενός προβλήµατος, ενώ η δυσκολία αυξάνεται όσο πιο µεγάλο και πιο σύνθετο είναι το πρόβληµα) Εµπειρία στον προγραµµατισµό Ταλέντο Γνώσεις Ποιες ιδιότητες διακρίνουν τα υποπρογράµµατα; Κάθε υποπρόγραµµα πρέπει να έχει τις εξής ιδιότητες: 1. Να έχει µόνο µία είσοδο και µία έξοδο Το υποπρόγραµµα ενεργοποιείται µε την είσοδο σε αυτό που γίνεται πάντοτε στην αρχή του, εκτελεί ορισµένες ενέργειες και απενεργοποιείται µε την έξοδο από αυτό που γίνεται πάντοτε από το τέλος του. 2. Να είναι ανεξάρτητο από τα άλλα Το κάθε υποπρόγραµµα πρέπει να µπορεί να σχεδιαστεί, να αναπτυχθεί και να συντηρηθεί αυτόνοµα χωρίς να επηρεαστούν άλλα υποπρογράµµατα. Στην πράξη βέβαια η απόλυτη ανεξαρτησία είναι δύσκολο να επιτευχθεί. 1

3. Να µην είναι πολύ µεγάλο Το υποπρόγραµµα πρέπει να είναι τόσο, σε µέγεθος, ώστε να είναι εύκολα κατανοητό για να µπορέσει να ελέγχεται. Πρέπει να εκτελεί µόνο µία λειτουργία, ενώ αν εκτελεί περισσότερες τότε θα πρέπει να διασπαστεί σε ακόµη µικρότερα υποπρογράµµατα. Ποια είναι τα πλεονεκτήµατα του τµηµατικού προγραµµατισµού; Ο τµηµατικός προγραµµατισµός έχει τα εξής πλεονεκτήµατα: 1. Διευκολύνει την ανάπτυξη του αλγόριθµου και του αντίστοιχου προγράµµατος Ένα σύνθετο πρόβληµα µπορεί να αναλυθεί σε απλούστερα. Με τη σταδιακή επίλυση των υποπροβληµάτων και τη δηµιουργία των αντίστοιχων υποπρογραµµάτων επιλύεται τελικά το συνολικό πρόβληµα. 2. Διευκολύνει την κατανόηση και τη διόρθωση του προγράµµατος Ο χωρισµός του προβλήµατος σε µικρότερα αυτοτελή τµήµατα επιτρέπει τη γρήγορη διόρθωση ενός συγκεκριµένου τµήµατός του χωρίς οι αλλαγές να επηρεάσουν όλο το υπόλοιπο πρόγραµµα. Διευκολύνει τον οποιοδήποτε να διαβάσει και να κατανοήσει τη λειτουργία του προγράµµατος. Αυτό αποτελεί σηµαντικό χαρακτηριστικό του σωστού προγραµµατισµού αφού ένα µεγάλο πρόγραµµα κατά τον κύκλο της ζωής του χρειάζεται να συντηρηθεί από πολλούς προγραµµατιστές. 3. Απαιτεί λιγότερο χρόνο και προσπάθεια στη συγγραφή του προγράµµατος Πολύ συχνά µια συγκεκριµένη λειτουργία απαιτείται να επαναλαµβάνεται σε διαφορετικά σηµεία του προγράµµατος. Από τη στιγµή που ένα υποπρόγραµµα έχει γραφεί µπορεί να καλείται από πολλά σηµεία του προγράµµατος. Με τον τρόπο αυτό µειώνεται το µέγεθος του προγράµµατος, ο χρόνος που απαιτείται για τη συγγραφή του καθώς και οι πιθανότητες λάθους, ενώ το πρόβληµα γίνεται πιο εύληπτο και κατανοητό. 4. Επεκτείνει τις δυνατότητες των γλωσσών προγραµµατισµού Ένα υποπρόγραµµα µπορεί εύκολα να χρησιµοποιηθεί και σε άλλα προγράµµατα ενώ η χρήση του δε διαφέρει από τη χρήση των ενσωµατωµένων συναρτήσεων που παρέχει η γλώσσα προγραµµατισµού όπως ηµίτονο, συνηµίτονο ή την εντολή µε την οποία εκτελεί µία οποιαδήποτε ενέργεια. Αν λοιπόν χρειάζεται συχνά κάποια λειτουργία που δεν υποστηρίζεται απευθείας από τη γλώσσα τότε µπορεί να γραφεί το αντίστοιχο υποπρόγραµµα. Η συγγραφή πολλών υποπρογραµµάτων και η δηµιουργία βιβλιοθηκών µε αυτά, ουσιαστικά επεκτείνει την ίδια τη γλώσσα προγραµµατισµού. Τι ονοµάζουµε κλήση του υποπρογράµµατος; Κλήση ενός υποπρογράµµατος ονοµάζεται η διαδικασία κατά την οποία, ένα υποπρόγραµµα ενεργοποιείται είτε από ένα άλλο υποπρόγραµµα είτε από το αρχικό πρόγραµµα το οποίο ονοµάζεται κύριο πρόγραµµα. Τι ονοµάζουµε παράµετρο; Πως χρησιµοποιείται κατά την κλήση ενός υποπρογράµµατος; Μία παράµετρος είναι µία µεταβλητή που επιτρέπει το πέρασµα της τιµής της από ένα τµήµα προγράµµατος σε ένα άλλο. Τα υποπρογράµµατα είναι αυτόνοµα και ανεξάρτητα τµήµατα προγράµµατος που πρέπει να επικοινωνούν µε το υπόλοιπο πρόγραµµα που το καλεί. Συνήθως δέχεται τιµές από το τµήµα προγράµµατος που το καλεί και µετά την εκτέλεση επιστρέφει σε αυτό νέες τιµές, αποτελέσµατα. Οι τιµές που περνούν από το ένα πρόγραµµα στο άλλο λέγονται παράµετροι. 2

Ποια είδη υποπρογραµµάτων γνωρίζετε; Ποιες οι λειτουργίες που µπορεί να εκτελέσει το κάθε είδος; Υπάρχουν δύο είδη υποπρογραµµάτων: οι διαδικασίες και οι συναρτήσεις. Διαδικασίες: Μπορούν να εκτελέσουν οποιαδήποτε λειτουργία από αυτές που µπορεί να εκτελέσει ένα πρόγραµµα όπως, να εισάγουν δεδοµένα, να εκτελούν υπολογισµούς, να µεταβάλλουν τις τιµές των παραµέτρων, να τυπώνουν αποτελέσµατα. Ακόµη µε τη χρήση των παραµέτρων αυτές τις τιµές µπορούν να τις µεταφέρουν και σε άλλα υποπρογράµµατα ή στο κυρίως πρόγραµµα. Συναρτήσεις: Η λειτουργία τους είναι πιο περιορισµένη από αυτή των διαδικασιών. Υπολογίζουν µια τιµή ακέραια, πραγµατική, χαρακτήρα ή λογική και µόνο αυτή επιστρέφουν στο υποπρόγραµµα που την κάλεσε. Μοιάζουν µε τις συναρτήσεις των µαθηµατικών και η χρήση τους είναι όµοια µε τη χρήση των ενσωµατωµένων συναρτήσεων που υποστηρίζει η γλώσσα προγραµµατισµού. Τόσο οι διαδικασίες όσο και οι συναρτήσεις τοποθετούνται µετά το τέλος του κυρίου προγράµµατος. Οι Συναρτήσεις εκτελούνται απλά µε την εµφάνιση του ονόµατός τους, ενώ οι Διαδικασίες µε την εντολή ΚΑΛΕΣΕ και την εµφάνιση του ονόµατός τους. Να δοθούν οι ορισµοί των συναρτήσεων και των διαδικασιών. Η συνάρτηση είναι ένα είδος υποπρογράµµατος που υπολογίζει και επιστρέφει µόνο µία τιµή µε το όνοµά της, όπως οι µαθηµατικές συναρτήσεις. Η διαδικασία είναι ένας τύπος υποπρογράµµατος που µπορεί να εκτελεί όλες τις λειτουργίες ενός προγράµµατος. Συναρτήσεις (Δοµή και Σύνταξη) Κάθε Συνάρτηση εκτελείται όπως ακριβώς και οι ενσωµατωµένες συναρτήσεις της ΓΛΩΣΣΑΣ. Η Συνάρτηση ενεργοποιείται απλά µε την εµφάνιση του ονόµατός της. Απλώς αναφέρεται το όνοµά της σε µία έκφραση ή σε µία εντολή και επιστρέφεται η τιµή της. ΣΥΝΑΡΤΗΣΗ Όνοµα(Λίστα παραµέτρων): Τύπος Συνάρτησης Τµήµα Δηλώσεων ΑΡΧΗ εντολές Όνοµα ß Έκφραση ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ Το όνοµα της Συνάρτησης είναι οποιοδήποτε έγκυρο όνοµα της ΓΛΩΣΣΑΣ. Η λίστα παραµέτρων είναι µία λίστα µεταβλητών, των οποίων οι τιµές µεταβιβάζονται στη συνάρτηση κατά την κλήση. Οι συναρτήσεις µπορούν να επιστρέφουν τιµές όλων των τύπων δεδοµένων που υποστηρίζει η ΓΛΩΣΣΑ (Ακέραια, Πραγµατική, Χαρακτήρας, Λογική), µε το όνοµά της, οπότε στις εντολές 3

του σώµατος της συνάρτησης πρέπει υποχρεωτικά να υπάρχει µία εντολή εκχώρησης στο όνοµα της συνάρτησης. Διαδικασίες (Δοµή και Σύνταξη) Η Διαδικασία ενεργοποιείται µε την εντολή ΚΑΛΕΣΕ και την εµφάνιση του ονόµατός της συνοδευόµενο µέσα σε παρενθέσεις µε τη λίστα παραµέτρων. ΚΑΛΕΣΕ Όνοµα_Διαδικασίας(λίστα παραµέτρων) ΔΙΑΔΙΚΑΣΙΑ Όνοµα(Λίστα παραµέτρων) Τµήµα Δηλώσεων ΑΡΧΗ εντολές ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ Η εκτέλεση του προγράµµατος διακόπτεται και εκτελούνται οι εντολές της διαδικασίας που καλείται. Μετά το τέλος της διαδικασίας η εκτέλεση του προγράµµατος συνεχίζεται από την εντολή που ακολουθεί. Η λίστα των παραµέτρων ορίζει τις τιµές που περνούν στη διαδικασία και τις τιµές που αυτή επιστρέφει. Η λίστα παραµέτρων δεν είναι υποχρεωτική. Το όνοµα της Διαδικασίας είναι οποιοδήποτε έγκυρο όνοµα της ΓΛΩΣΣΑΣ. Η λίστα παραµέτρων είναι µία λίστα µεταβλητών, των οποίων οι τιµές µεταβιβάζονται προς τη διαδικασία κατά την κλίση ή και επιστρέφονται στο κύριο πρόγραµµα µετά το τέλος της διαδικασίας. Στη γενική περίπτωση µπορεί να υπάρχουν καµία, µια ή και περισσότερες παράµετροι. Όταν υπάρχουν πολλές παράµετροι, τότε άλλες χρησιµοποιούνται για να µεταβιβάσουν τιµές στη διαδικασία και άλλες για να επιστρέψουν τιµές στο κύριο πρόγραµµα. Στο σώµα της διαδικασίας µπορεί να υπάρχουν οποιεσδήποτε εντολές της γλώσσας. Κάθε διαδικασία ή συνάρτηση µπορεί να καλείται από άλλη διαδικασία ή συνάρτηση. Σε κάθε περίπτωση µετά το τέλος της εκτέλεσης της διαδικασίας ή της συνάρτησης γίνεται επιστροφή ακριβώς µετά το σηµείο απ όπου κλήθηκε. Πραγµατικές και Τυπικές παράµετροι Η λίστα τυπικών παραµέτρων (ορίσµατα) καθορίζει τις παραµέτρους στη δήλωση του υποπρογράµµατος. Η λίστα πραγµατικών παραµέτρων (παράµετροι) καθορίζει τις παραµέτρους στην κλήση του υποπρογράµµατος. Τα ονόµατα των τυπικών και πραγµατικών παραµέτρων µπορούν να είναι οποιαδήποτε. Αφού είναι ονόµατα µεταβλητών σε διαφορετικά τµήµατα προγράµµατος, είναι υποχρεωτικά διαφορετικές µεταβλητές, άσχετα αν έχουν το ίδιο όνοµα. Με την επιστροφή της ροής του αλγορίθµου στο κυρίως πρόγραµµα όλες οι θέσεις µνήµης του που είχαν δοθεί στο υποπρόγραµµα απελευθερώνονται. 4

Οι µεταβλητές έχουν ισχύ µόνο για το τµήµα προγράµµατος στο οποίο έχουν δηλωθεί, ισχύουν δηλαδή τοπικά για το συγκεκριµένο υποπρόγραµµα ή κυρίως πρόγραµµα. Οι λίστες των παραµέτρων πρέπει να ακολουθούν τους εξής κανόνες: Ο αριθµός των πραγµατικών και τυπικών παραµέτρων πρέπει να είναι ίδιος. Κάθε πραγµατική παράµετρος αντιστοιχεί στην τυπική παράµετρο που βρίσκεται στην αντίστοιχη θέση (η πρώτη της λίστας των τυπικών παραµέτρων αντίστοιχή στην πρώτη της λίστας των πραγµατικών παραµέτρων). Η τυπική παράµετρος και η αντίστοιχη πραγµατική πρέπει να είναι του ίδιου τύπου. Η χρήση της στοίβας στην κλήση διαδικασιών Όταν µία διαδικασία ή συνάρτηση καλείται από το κύριο πρόγραµµα, τότε η αµέσως επόµενη διεύθυνση του κύριου προγράµµατος, που ονοµάζεται διεύθυνση επιστροφής αποθηκεύεται από το µεταφραστή σε µία στοίβα που ονοµάζεται στοίβα χρόνου εκτέλεσης. Μετά την εκτέλεση της διαδικασίας ή της συνάρτησης η διεύθυνσης επιστροφής απωθείται από τη στοίβα και έτσι ο έλεγχος του προγράµµατος µεταφέρεται και πάλι στο κύριο πρόγραµµα. Η τεχνική αυτή εφαρµόζεται και γενικότερα, δηλαδή οποτεδήποτε µία διαδικασία ή συνάρτηση καλεί µία διαδικασία ή συνάρτηση. Χρήση της ιδιότητας LIFO της στοίβας στην κλήση υποπρογραµµάτων. Εµβέλεια µεταβλητών σταθερών Οι µεταβλητές και οι σταθερές στη ΓΛΩΣΣΑ είναι γνωστές στο αντίστοιχο υποπρόγραµµα που δηλώνονται και µόνο σε αυτό, δηλαδή όλες οι µεταβλητές και οι σταθερές είναι τοπικά δηλωµένες στο συγκεκριµένο τµήµα προγράµµατος. 5

Ο µόνος τρόπος να περάσει µία τιµή από ένα υποπρόγραµµα σε ένα άλλο ή από το κύριο πρόγραµµα σε ένα υποπρόγραµµα είναι δια µέσου των παραµέτρων κατά το στάδιο της κλήσης του υποπρογράµµατος και µετά το τέλος της εκτέλεσης του υποπρογράµµατος. Οι µεταβλητές είναι τοπικές άρα το ίδιο όνοµα µεταβλητής µπορεί να εµφανίζεται σε διαφορετικά τµήµατα προγράµµατος χωρίς να αντιστοιχεί στην ίδια µεταβλητή, όµοια τα παραπάνω ισχύουν και για τις σταθερές. Πολλές γλώσσες προγραµµατισµού επιτρέπουν τη χρήση των µεταβλητών και των σταθερών, όχι µόνο στο τµήµα προγράµµατος που δηλώνονται αλλά και σε άλλα ή ακόµη και σε όλα τα υπόλοιπα υποπρογράµµατα. Αυτό που καθορίζει την περιοχή που ισχύουν οι µεταβλητές και οι σταθερές είναι η εµβέλεια των µεταβλητών της γλώσσας. Το τµήµα του προγράµµατος που ισχύουν οι µεταβλητές λέγεται εµβέλεια µεταβλητών. Απεριόριστη εµβέλεια Απεριόριστη εµβέλεια σηµαίνει ότι όλες οι µεταβλητές και οι σταθερές είναι γνωστές και µπορούν να χρησιµοποιηθούν σε οποιοδήποτε τµήµα του προγράµµατος, ασχέτως που δηλώθηκαν. Όλες οι µεταβλητές είναι καθολικές. Η απεριόριστη εµβέλεια σε ένα πρόγραµµα έχει τα εξής µειονεκτήµατα: Καταστρατηγεί την αρχή της αυτονοµίας των υποπρογραµµάτων Είναι αδύνατη η χρήση της σε µεγάλα προγράµµατα µε πολλά υποπρογράµµατα καθώς ο καθένας που γράφει κάποιο υποπρόγραµµα θα πρέπει να γνωρίζει τα ονόµατα όλων των µεταβλητών που χρησιµοποιούνται στα υπόλοιπα υποπρογράµµατα. Περιορισµένη Εµβέλεια Η περιορισµένη εµβέλεια υποχρεώνει όλες οι µεταβλητές που χρησιµοποιούνται σε ένα τµήµα προγράµµατος να δηλώνονται σε αυτό το τµήµα, άρα όλες οι µεταβλητές είναι τοπικές. Στο πρόγραµµα ΓΛΩΣΣΑ έχουµε περιορισµένη εµβέλεια, δηλαδή η ισχύος όλων των µεταβλητών είναι τοπική. Τα πλεονεκτήµατα της περιορισµένης εµβέλειας είναι: Η απόλυτη αυτονοµία όλων των υποπρογραµµάτων Η δυνατότητα να χρησιµοποιείται οποιοδήποτε όνοµα µεταβλητής χωρίς να µας ενδιαφέρει αν το ίδιο χρησιµοποιείται σε άλλο υποπρόγραµµα. Μερικώς περιορισµένη εµβέλεια Σύµφωνα µε τη συγκεκριµένη αρχή άλλες µεταβλητές είναι τοπικές και άλλες καθολικές ανάλογα µε την γλώσσα προγραµµατισµού και τους κανόνες της. Η µερικώς περιορισµένη εµβέλεια προσφέρει πλεονεκτήµατα στον πεπειραµένο προγραµµατιστή αλλά για τον αρχάριο µπορεί να περιπλέξει την ανάπτυξη του προγράµµατος. 6