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

Σχετικά έγγραφα
Αναδρομικός αλγόριθμος

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

διανύσματα - Πίνακες - Struct Στατικό διάνυσμα Είσοδος Έξοδος δεδομένων Συναρτήσεις Χειρισμός σφαλμάτων ΤΕΤΑΡΤΗ ΔΙΑΛΕΞΗ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Δρ. Ιωάννης Λυχναρόπουλος Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας

Κεφάλαιο 7: Υποπρογράμματα. Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών

Εναλλακτικές εντολές για ανάγνωση/εγγραφή

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

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

Pascal. 15 Νοεμβρίου 2011

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

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

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

Άθροισμα τριών ποσοτήτων (1/2)

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

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

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

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

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

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

Η γλώσσα προγραμματισμού Strange

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

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

Εργαστήριο 9 Συναρτήσεις στη PASCAL. Η έννοια του κατακερματισμού. Συναρτήσεις. Σκοπός

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Εισαγωγή στην FORTRAN. Δρ. Ιωάννης Λυχναρόπουλος

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

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

Ασκήσεις στα υποπρογράμματα

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ. ii) Πόσες φορές θα εκτελεστεί η εντολή ΔΙΑΒΑΣΕ Α[μ,λ] στον αλγόριθμο της προηγούμενης ερώτησης; α) 35 β) 12 γ) 20

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

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ

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

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

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

Τυχαίοι αριθμοί struct Αρχεία Διαμορφώσεις Συναρτήσεις Χειρισμός σφαλμάτων ΠΕΜΠΤΗ ΔΙΑΛΕΞΗ

Γ ΤΑΞΗ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΚΑΙ ΕΠΑΛ (ΟΜΑΔΑ Β

Υπο-προγράμματα στη Fortran

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΗΜΕΡΟΜΗΝΙΑ: 6/04/2014

Σύντομες εισαγωγικές σημειώσεις για την. Matlab

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω:

Ρητή μετατροπή αριθμητικής τιμής σε άλλο τύπο. Τι θα τυπωθεί στον παρακάτω κώδικα;

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

ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α Α1. 1 ΣΩΣΤΟ 2 ΛΑΘΟΣ 3 ΛΑΘΟΣ 4 ΛΑΘΟΣ 5 - ΣΩΣΤΟ Α5. Α3.

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Εξετάσεις Προσομοίωσης 10/04/2018

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.

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

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

Σημειωματάριο Δευτέρας 30 Οκτ. 2017

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

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η


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

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

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

procedure P ( < pars > ) < type> f( < pars > ) begin { < local vars > < local vars > < procedure body> < procedure body> end; }

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ. ii) Πόσες φορές θα εκτελεστεί η εντολή ΔΙΑΒΑΣΕ Α[μ,λ] στον αλγόριθμο της προηγούμενης ερώτησης; α) 35 β) 12 γ) 20

Τεχνικός Εφαρμογών Πληροφορικής

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

Α2. Να γράψετε στο τετράδιο σας τον αριθμό 1-4 κάθε πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή.

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012. Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις:

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

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

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

Να το ξαναγράψετε χρησιμοποιώντας αντί για την εντολή Για Τέλος_επανάληψης: α. την εντολή Όσο Τέλος_επανάληψης

Λύβας Χρήστος Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος

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

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών

1. Δεν μπορεί να γίνει κλήση μίας διαδικασίας μέσα από μία συνάρτηση.

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

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

καθώς και το παρακάτω τμήμα αλγορίθμου γραμμένο σε «ΓΛΩΣΣΑ»:

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

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

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

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

Η γλώσσα προγραμματισμού C

Προγραμματισμός με FORTRAN Συνοπτικός Οδηγός Α. Σπυρόπουλος Α. Μπουντουβής

Εργαστήρια Αριθμητικής Ανάλυσης Ι. 7 ο Εργαστήριο. Διανύσματα-Πίνακες 2 ο Μέρος

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

1. Δεν μπορεί να γίνει κλήση μίας διαδικασίας μέσα από μία συνάρτηση.

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Τελικό επαναληπτικό διαγώνισμα Επιμέλεια: Δρεμούσης Παντελής

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις

ΠΡΟΓΡΑΜΜΑ synartisi_se_diadikasia ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: A[10], max, i, C, S, B, maxmax ΑΡΧΗ

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 4

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #2

Εισαγωγή στη γλώσσα προγραμματισμού Fortran 95

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

Φάσμα προπαρασκευή για Α.Ε.Ι. & Τ.Ε.Ι.

Προγραμματισμός Η/Υ (ΤΛ2007 )

ΟΜΟΣΠΟΝΔΙΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑΔΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2019 Β ΦΑΣΗ Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ

Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον. τελική επανάληψη /4/2015 1

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον (Εργαστήριο 2)

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τι είναι ; Συναρτήσεις. Παράδειγμα #1. double convert ( double cm ) { double inch;

Εισαγωγή στον Προγραµµατισµό. Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ

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

Transcript:

Συναρτήσεις Υποπρόγραμμα Ένα σύνολο από εντολές που κάνουν κάτι συγκεκριμένο, έχουν στενή σχέση/εξάρτηση μεταξύ τους, έχουν «χαλαρή» σύνδεση με τον υπόλοιπο κώδικα, μπορεί να εξαχθεί από το πρόγραμμά μας σε ξεχωριστό υποπρόγραμμα

Υποπρόγραμμα Ένα σύνολο από εντολές που κάνουν κάτι συγκεκριμένο, έχουν στενή σχέση/εξάρτηση μεταξύ τους, έχουν «χαλαρή» σύνδεση με τον υπόλοιπο κώδικα, μπορεί να εξαχθεί από το πρόγραμμά μας σε ξεχωριστό υποπρόγραμμα Στη Fortran τα υποπρογράμματα διακρίνονται σε συναρτήσεις (functions) και σε υπορουτίνες (subroutines), ανάλογα με το αν επιστρέφουν τιμή στον κώδικα ή όχι

Συναρτήσεις Συνάρτηση στα μαθηματικά (ως συμβολισμός) Ο ορισμός f(x) = 5x 2 + 2 σημαίνει ότι η έκφραση 5x 2 + 2 1 έχει αποκτήσει ένα όνομα, το f, 2 εξαρτάται από μία παράμετρο, το x, για την οποία γνωρίζουμε μόνο ότι είναι πραγματικός αριθμός, 3 δεν μπορεί να υπολογιστεί και να δώσει αποτέλεσμα παρά μόνο αφού προσδιορίσουμε τιμή στο x, και 4 όποτε θέλουμε να υπολογίσουμε την τιμή της γράφουμε πχ f(35) και το χειριζόμαστε ως πραγματικό αριθμό

Συνάρτηση στον προγραμματισμό Σε αντιστοιχία με τη μαθηματική συνάρτηση, ένα σύνολο εντολών σε κάποιο πρόγραμμα μπορεί 1 να αποκτήσει ένα όνομα, 2 να εξαρτάται από καμία, μία ή περισσότερες παραμέτρους για τις οποίες γνωρίζουμε μόνο τον τύπο και το όνομα αλλά όχι συγκεκριμένη τιμή, 3 μπορεί να εκτελεστεί μόνο αφού προσδιορίσουμε τιμές για τις παραμέτρους, 4 όποτε θέλουμε να εκτελεστούν αρκεί να γράψουμε το όνομα που τις συμβολίζει μαζί με κατάλληλες τιμές για τις παραμέτρους (τα ορίσματα) Το όνομα τότε έχει συγκεκριμένο τύπο και αποκτά συγκεκριμένη τιμή

Παράδειγμα (1/4) Υπολογισμός του e x 10 n=0 x n n! = 1 0! + x 1! + x2 2! + x3 3! + + x10 10!

Παράδειγμα (1/4) Υπολογισμός του e x 10 n=0 x n n! = 1 0! + x 1! + x2 2! + x3 3! + + x10 10!

Παράδειγμα (2/4) Συνάρτηση παραγοντικού: Ορισμός Έξω από το πρόγραμμα (πριν το ή μετά το ) ή άλλο υποπρόγραμμα, γράφουμε:

Παράδειγμα (3/4) Συνάρτηση παραγοντικού: Δήλωση Στο τμήμα των δηλώσεων, μέσα στο πρόγραμμα ή στο υποπρόγραμμα στο οποίο θα χρησιμοποιήσουμε τη συνάρτηση, γράφουμε: Από το ο compiler πληροφορείται το όνομα, το πλήθος και τον τύπο των παραμέτρων, και τον τύπο της επιστρεφόμενης τιμής

Παράδειγμα (4/4) Συνάρτηση παραγοντικού: Κλήση Η κλήση της συνάρτησης στο πρόγραμμα/υποπρόγραμμα στο οποίο δηλώθηκε, γίνεται γράφοντας το όνομα και, σε παρενθέσεις, τα ορίσματα (εδώ, μία ακέραια τιμή):

Γενική μορφή ορισμού συνάρτησης όνομα(παράμετροςα, παράμετροςβ, ) τύπος_παραμέτρου_α, (xxx) :: παράμετροςα τύπος_παραμέτρου_β, (yyy) :: παράμετροςβ τύπος_επιστρεφόμενης_ποσότητας :: όνομα τύπος_α :: τοπική_μεταβλητή_α, τύπος_β :: τοπική_μεταβλητή_β,! κώδικας όνομα = όνομα

Συναρτήσεις Γενική μορφή ορισμού υπορουτίνας όνομα(παράμετροςα, παράμετροςβ, ) τύπος_παραμέτρου_α, (xxx) :: παράμετροςα τύπος_παραμέτρου_β, (yyy) :: παράμετροςβ τύπος_α :: τοπική_μεταβλητή_α, τύπος_β :: τοπική_μεταβλητή_β,! κώδικας όνομα

Συναρτήσεις Παρατηρήσεις στον ορισμό υποπρογράμματος Κάθε υποπρόγραμμα γράφεται έξω από οποιοδήποτε πρόγραμμα ή άλλο υποπρόγραμμα

Συναρτήσεις Παρατηρήσεις στον ορισμό υποπρογράμματος Κάθε υποπρόγραμμα γράφεται έξω από οποιοδήποτε πρόγραμμα ή άλλο υποπρόγραμμα Οι ποσότητες που ορίζονται στο εσωτερικό ενός υποπρογράμματος είναι τοπικές και δεν μπορούν να χρησιμοποιηθούν από το πρόγραμμα ή άλλο υποπρόγραμμα

Παρατηρήσεις στον ορισμό υποπρογράμματος Κάθε υποπρόγραμμα γράφεται έξω από οποιοδήποτε πρόγραμμα ή άλλο υποπρόγραμμα Οι ποσότητες που ορίζονται στο εσωτερικό ενός υποπρογράμματος είναι τοπικές και δεν μπορούν να χρησιμοποιηθούν από το πρόγραμμα ή άλλο υποπρόγραμμα Το όνομα της συνάρτησης συμπεριφέρεται ως μεταβλητή, πρέπει να δηλωθεί και πρέπει να αποκτήσει τιμή πριν ολοκληρωθεί η συνάρτηση

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

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

Συναρτήσεις Δήλωση της πρόθεσης ( ) Στις δηλώσεις των παραμέτρων ενός υποπρογράμματος καλό είναι να ενημερώνουμε το μεταγλωττιστή για το πώς πρόκειται να χρησιμοποιήσουμε κάθε όρισμα Αν η δήλωση συμπληρωθεί με INTENT (in) η τιμή του ορίσματος δεν πρόκειται να αλλάξει στο υποπρόγραμμα, μόνο θα χρησιμοποιηθεί

Δήλωση της πρόθεσης ( ) Στις δηλώσεις των παραμέτρων ενός υποπρογράμματος καλό είναι να ενημερώνουμε το μεταγλωττιστή για το πώς πρόκειται να χρησιμοποιήσουμε κάθε όρισμα Αν η δήλωση συμπληρωθεί με INTENT (in) η τιμή του ορίσματος δεν πρόκειται να αλλάξει στο υποπρόγραμμα, μόνο θα χρησιμοποιηθεί INTENT (out) η αρχική τιμή του ορίσματος δεν πρόκειται να χρησιμοποιηθεί στο υποπρόγραμμα Το όρισμα θα αποκτήσει τιμή

Δήλωση της πρόθεσης ( ) Στις δηλώσεις των παραμέτρων ενός υποπρογράμματος καλό είναι να ενημερώνουμε το μεταγλωττιστή για το πώς πρόκειται να χρησιμοποιήσουμε κάθε όρισμα Αν η δήλωση συμπληρωθεί με INTENT (in) η τιμή του ορίσματος δεν πρόκειται να αλλάξει στο υποπρόγραμμα, μόνο θα χρησιμοποιηθεί INTENT (out) η αρχική τιμή του ορίσματος δεν πρόκειται να χρησιμοποιηθεί στο υποπρόγραμμα Το όρισμα θα αποκτήσει τιμή INTENT (inout) η αρχική τιμή του ορίσματος θα χρησιμοποιηθεί στο υποπρόγραμμα και το όρισμα θα πάρει άλλη τιμή

Δήλωση της πρόθεσης ( ) Στις δηλώσεις των παραμέτρων ενός υποπρογράμματος καλό είναι να ενημερώνουμε το μεταγλωττιστή για το πώς πρόκειται να χρησιμοποιήσουμε κάθε όρισμα Αν η δήλωση συμπληρωθεί με INTENT (in) η τιμή του ορίσματος δεν πρόκειται να αλλάξει στο υποπρόγραμμα, μόνο θα χρησιμοποιηθεί INTENT (out) η αρχική τιμή του ορίσματος δεν πρόκειται να χρησιμοποιηθεί στο υποπρόγραμμα Το όρισμα θα αποκτήσει τιμή INTENT (inout) η αρχική τιμή του ορίσματος θα χρησιμοποιηθεί στο υποπρόγραμμα και το όρισμα θα πάρει άλλη τιμή Στις δύο τελευταίες περιπτώσεις, προφανώς, το όρισμα πρέπει να είναι μεταβλητή και όχι σταθερή τιμή

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

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

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

Συναρτήσεις Γενική μορφή δήλωσης συνάρτησης όνομα(παράμετροςα, παράμετροςβ, ) τύπος_παραμέτρου_α, (xxx) :: παράμετροςα τύπος_παραμέτρου_β, (yyy) :: παράμετροςβ τύπος_επιστρεφόμενης_ποσότητας :: όνομα όνομα

Συναρτήσεις Γενική μορφή δήλωσης υπορουτίνας όνομα(παράμετροςα, παράμετροςβ, ) τύπος_παραμέτρου_α, (xxx) :: παράμετροςα τύπος_παραμέτρου_β, (yyy) :: παράμετροςβ όνομα

Συναρτήσεις Κλήση συνάρτησης Στο σημείο του κώδικα που επιθυμούμε να εκτελεστούν οι εντολές της συνάρτησης γράφουμε το όνομα και, εντός παρενθέσεων, παραθέτουμε ποσότητες με ίδια σειρά, ίδιο πλήθος και ίδιο τύπο με τις παραμέτρους Αυτές λέγονται ορίσματα

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

Κλήση συνάρτησης Στο σημείο του κώδικα που επιθυμούμε να εκτελεστούν οι εντολές της συνάρτησης γράφουμε το όνομα και, εντός παρενθέσεων, παραθέτουμε ποσότητες με ίδια σειρά, ίδιο πλήθος και ίδιο τύπο με τις παραμέτρους Αυτές λέγονται ορίσματα Η παραπάνω έκφραση έχει τιμή που πρέπει να χρησιμοποιηθεί (να αποθηκευτεί σε μεταβλητή, να τυπωθεί, να συμμετάσχει σε έκφραση, κλπ) Όταν κληθεί η συνάρτηση, εκτελούνται οι εντολές στο σώμα της Κατόπιν, επιστρέφει η ροή εκτέλεσης εντολών στο σημείο της κλήσης Το όνομα της συνάρτησης έχει αποκτήσει τιμή

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

Συναρτήσεις Κλήση υπορουτίνας Στο σημείο του κώδικα που επιθυμούμε να εκτελεστούν οι εντολές της υπορουτίνας γράφουμε, το όνομα και, εντός παρενθέσεων, παραθέτουμε τα ορίσματα Όταν κληθεί η υπορουτίνα εκτελούνται οι εντολές στο σώμα της Κατόπιν, επιστρέφει η ροή εκτέλεσης εντολών στο σημείο της κλήσης

Συναρτήσεις Άλλα παραδείγματα (1/2) Έστω ότι χρειαζόμαστε να επαναλάβουμε σε κώδικα τον υπολογισμό x 2 + 5x + 3 για διάφορα πραγματικά x

Άλλα παραδείγματα (1/2) Έστω ότι χρειαζόμαστε να επαναλάβουμε σε κώδικα τον υπολογισμό x 2 + 5x + 3 για διάφορα πραγματικά x Ορισμός

Άλλα παραδείγματα (1/2) Έστω ότι χρειαζόμαστε να επαναλάβουμε σε κώδικα τον υπολογισμό x 2 + 5x + 3 για διάφορα πραγματικά x Ορισμός Δήλωση

Άλλα παραδείγματα (1/2) Έστω ότι χρειαζόμαστε να επαναλάβουμε σε κώδικα τον υπολογισμό x 2 + 5x + 3 για διάφορα πραγματικά x Ορισμός Δήλωση Κλήση

Συναρτήσεις Άλλα παραδείγματα (2/2) Ανάγνωση πραγματικής τιμής, εξασφαλίζοντας ότι είναι θετική Αν δεν είναι, επαναλαμβάνουμε την ανάγνωση

Άλλα παραδείγματα (2/2) Ανάγνωση πραγματικής τιμής, εξασφαλίζοντας ότι είναι θετική Αν δεν είναι, επαναλαμβάνουμε την ανάγνωση Ορισμός

Άλλα παραδείγματα (2/2) Ανάγνωση πραγματικής τιμής, εξασφαλίζοντας ότι είναι θετική Αν δεν είναι, επαναλαμβάνουμε την ανάγνωση Ορισμός Δήλωση

Άλλα παραδείγματα (2/2) Ανάγνωση πραγματικής τιμής, εξασφαλίζοντας ότι είναι θετική Αν δεν είναι, επαναλαμβάνουμε την ανάγνωση Ορισμός Δήλωση Κλήση

Όρισμα που είναι διάνυσμα (1/2) Μια παράμετρος σε υποπρόγραμμα μπορεί να είναι διάνυσμα Στην παράθεση των παραμέτρων αναφέρουμε μόνο το όνομα και η δήλωση της παραμέτρου γίνεται: όνομα_συνάρτησης(όνομα, ) τύπος, (xxx) :: όνομα(:) όνομα_συνάρτησης

Συναρτήσεις Όρισμα που είναι διάνυσμα (2/2) Παρατηρήσεις Η δήλωση είναι η ίδια, ανεξάρτητα από τον τρόπο δημιουργίας του ορίσματος (με γνωστό πλήθος στοιχείων κατά τη μεταγλώττιση ή με )

Συναρτήσεις Όρισμα που είναι διάνυσμα (2/2) Παρατηρήσεις Η δήλωση είναι η ίδια, ανεξάρτητα από τον τρόπο δημιουργίας του ορίσματος (με γνωστό πλήθος στοιχείων κατά τη μεταγλώττιση ή με ) Η αρίθμηση των θέσεων του διανύσματος (με την παραπάνω δήλωση) μέσα στο υποπρόγραμμα αρχίζει από το 1, ανεξάρτητα από το πώς αριθμήθηκαν αυτές κατά τη δημιουργία του

Παράδειγμα (1/2) Συνάρτηση που μετρά τα άρτια στοιχεία ενός διανύσματος ακεραίων:

Δήλωση Παράδειγμα (2/2) Κλήση

Συναρτήσεις Ειδικές περιπτώσεις (1/3) Αν επιθυμούμε να αλλάξουμε την αρχή αρίθμησης των θέσεων σε όρισμα που είναι διάνυσμα γράφουμε τη δήλωση τύπος, (xxx) :: όνομα(αρχή:)

Ειδικές περιπτώσεις (1/3) Αν επιθυμούμε να αλλάξουμε την αρχή αρίθμησης των θέσεων σε όρισμα που είναι διάνυσμα γράφουμε τη δήλωση τύπος, (xxx) :: όνομα(αρχή:) Παράδειγμα

Συναρτήσεις Ειδικές περιπτώσεις (2/3) Αν ένα υποπρόγραμμα δρα σε διανύσματα συγκεκριμένου, γνωστού, πλήθους στοιχείων, έστω, η δήλωση μπορεί να γίνει τύπος, (xxx) :: όνομα(n)

Ειδικές περιπτώσεις (2/3) Αν ένα υποπρόγραμμα δρα σε διανύσματα συγκεκριμένου, γνωστού, πλήθους στοιχείων, έστω, η δήλωση μπορεί να γίνει τύπος, (xxx) :: όνομα(n) Παράδειγμα

Συναρτήσεις Ειδικές περιπτώσεις (3/3) Μια παράμετρος που είναι διάνυσμα μπορεί να δηλωθεί ως και να δημιουργηθεί σε υποπρόγραμμα Προφανώς έχει τύπος, όνομα(:)

Ειδικές περιπτώσεις (3/3) Μια παράμετρος που είναι διάνυσμα μπορεί να δηλωθεί ως και να δημιουργηθεί σε υποπρόγραμμα Προφανώς έχει τύπος, όνομα(:) Παράδειγμα