5 ΜΕΘΟΔΟΙ - ΠΑΡΑΜΕΤΡΟΙ

Σχετικά έγγραφα
1 ΕΙΣΑΓΩΓΗ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

3 ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ ( while, do while )

9 ΕΞΑΙΡΕΕΙ - EXCEPTIONS

Δείκτεσ Διαχείριςθ Μνιμθσ. Βαγγζλθσ Οικονόμου Διάλεξθ 8

ΕΡΓΑΣΗΡΙΑΚΗ ΑΚΗΗ 4.1

2 ΕΝΤΟΛΕΣ ΕΛΕΓΧΟΥ. Η πιο απλι μορφι ςφγκριςθσ εντολισ ελζγχου ζχει τθ μορφι : if (<ζπλζήθε>) εληνιή; if(<ζπλζήθε>){ block εληνιώλ; }

16. Πίνακεσ και Συναρτήςεισ

8 ΥΜΒΟΛΟΕΙΡΕ - STRINGS

Δομθμζνοσ Προγραμματιςμόσ. Βαγγζλθσ Οικονόμου Εργαςτιριο 9

Αλγορικμικι & Ρρογραμματιςμόσ με Java

4 ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ - for

ΠΡΟΓΡΑΜΜΑΣΙΜΌ ΤΠΟΛΟΓΙΣΏΝ. Κεφάλαιο 8 Η γλϊςςα Pascal

17. Πολυδιάςτατοι πίνακεσ

Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων. Διαφάνειεσ: Βαςικζσ Αρχζσ Προγραμματιςμοφ Α.Π.Θ. Δθμιτρθσ Βράκασ

Δομζσ Αφαιρετικότθτα ςτα Δεδομζνα

Στα προθγοφμενα δφο εργαςτιρια είδαμε τθ δομι απόφαςθσ (ι επιλογισ ι ελζγχου ροισ). Ασ κυμθκοφμε:

ΥΡΟΝΣΙΣΗΡΙΟ Μ. Ε. ΚΑΙ ΚΕΝΣΡΟ ΙΔΙΑΙΣΕΡΩΝ ΜΑΘΗΜΑΣΩΝ «ΚΤΡΙΣΗ» ΔΙΑΓΩΝΙΜΑ ΘΕΜΑΣΑ Β ΛΤΚΕΙΟΤ ΥΕΒΡΟΤΑΡΙΟ 2018 ΑΕΠΠ

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

ΟΝΟΜΑΣΟΛΟΓΙΑ ΠΑΡΑΜΕΣΡΩΝ ΓΙΑ ΠΡΟΑΡΜΟΜΕΝΕ ΑΝΑΦΟΡΕ. παραμζτρου> (Εμφανίηεται ςαν Caption ςτθν φόρμα των φίλτρων).

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

Οντοκεντρικόσ Προγραμματιςμόσ

Ειςαγωγι ςτθν Επιςτιμθ Υπολογιςτϊν. Ειςαγωγι ςτθν Python

ΡΟΓΑΜΜΑΤΙΣΤΙΚΟ ΡΕΙΒΑΛΛΟΝ MICRO WORLDS PRO

ΑΝΑΠΣΤΞΘ ΕΦΑΡΜΟΓΩΝ Ε ΠΡΟΓΡΑΜΜΑΣΙΣΙΚΟ ΠΕΡΙΒΑΛΛΟΝ 3 ο ΓΕΝΙΚΟ ΛΤΚΕΙΟ Ν. ΜΤΡΝΘ- ΕΠΙΜΕΛΕΙΑ: ΠΤΡΙΔΑΚΘ Λ.

Οντοκεντρικόσ Προγραμματιςμόσ

Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων. 15. Πίνακεσ ΙI. Ιωάννθσ Κατάκθσ. ΕΠΛ 032: Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων

10 ΕΙΣΟΔΟΣ ΕΞΟΔΟΣ ΔΕΔΟΜΕΝΩΝ

Εργαςτιριο Πικανοτιτων Σθμειϊςεισ προγραμματιςμοφ: βαςικζσ γνϊςεισ ανάπτυξθσ εφαρμογϊν. Κϊςτασ Αρβανιτάκθσ

343 Ειςαγωγι ςτον Προγραμματιςμό

Εργαςτθριακζσ Αςκιςεισ Αρικμθτικισ Ανάλυςθσ

ΛΕΙΤΟΥΓΙΚΆ ΣΥΣΤΉΜΑΤΑ. 5 ο Εργαςτιριο Ειςαγωγι ςτθ Γραμμι Εντολϊν

ΘΥ101: Ειςαγωγι ςτθν Πλθροφορικι

Η θεωρία τησ ςτατιςτικήσ ςε ερωτήςεισ-απαντήςεισ Μέροσ 1 ον (έωσ ομαδοποίηςη δεδομένων)

x n D 2 ENCODER m - σε n (m 2 n ) x 1 Παραδείγματα κωδικοποιθτϊν είναι ο κωδικοποιθτισ οκταδικοφ ςε δυαδικό και ο κωδικοποιθτισ BCD ςε δυαδικό.

ΔΟΜΗ ΑΠΛΗΣ ΕΠΙΛΟΓΗΣ Αςκήςεισ με ψευδογλώςςα/ διάγραμμα ροήσ. Αντώνης Μαϊργιώτης

ΕΦΑΡΜΟΓΖσ ΒΆΕΩΝ ΔΕΔΟΜΖΝΩΝ ΚΑΙ ΔΙΑΔΙΚΣΥΟΤ. Ειρινθ Φιλιοποφλου

Visual C Express - Οδηγός Χρήσης

Βαγγζλθσ Οικονόμου Διάλεξθ 7. Συναρτιςεισ Μζροσ 2ο

ςυςτιματα γραμμικϊν εξιςϊςεων

343 Ειςαγωγι ςτον Προγραμματιςμό

Ονοματεπϊνυμο.. ΔΙΑΓΩΝΙΣΜΑ ΑΕΠΠ

Σ ΤΑΤ Ι Σ Τ Ι Κ Η. Statisticum collegium V

Εισαγωγή στη γλώσσα προγραμματισμού C++ Αρχή. Γιάβασε Α, Β Α > Β. Δομή Διακλάδωσης. Τύπωσε Α. Τύπωσε Β. Τέλος Άριστος Πασιάς

ΥΡΟΝΣΙ ΣΗΡΙΟ Μ. Ε. ΚΑΙ ΚΕΝΣΡΟ ΙΔΙΑΙΣΕΡΩΝ ΜΑΘΗΜΑΣΩΝ «ΚΤΡΙΣ Η» ΔΙΑΓΩΝΙ ΜΑ ΑΕΠΠ

Πωσ δθμιουργώ φακζλουσ;

Αςφάλεια και Προςταςία Δεδομζνων

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο τησ Αριθμογραμμήσ

Γομέρ Γεδομένων (Data Structures) Χαπμανδάπηρ Δςάγγελορ, Τμήμα Δθαπμοζμένων Μαθημαηικών, Δαπινό Δξάμηνο 2010/11. Διζαγωγή: Σύνηομη Δπιζκόπηζη ηηρ C++

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο του Άβακα

Οντοκεντρικόσ Ρρογραμματιςμόσ

ΕΦΑΡΜΟΓΕ ΒΑΕΩΝ ΔΕΔΟΜΕΝΩΝ ΣΗ ΝΟΗΛΕΤΣΙΚΗ. Φιλιοποφλου Ειρινθ

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

Διαδικαςία Διαχείριςθσ Στθλϊν Βιβλίου Εςόδων - Εξόδων. (v.1.0.7)

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων

ΜΑΘΗΜΑΤΙΚΑ Α Γυμνασίου

Οντοκεντρικόσ Προγραμματιςμόσ

(Α3 1 ) Σασ δίνεται το παρακάτω αλγορικμικό τμιμα

Ακροιςτικι μζκοδοσ υπολογιςμοφ του λιμματοσ

Τπολογιςτζσ Ι. Ε. Νιςταηάκθσ Αναπλ. Κακθγθτισ Σμιματοσ Φυςικισ

Παράςταςη ακεραίων ςτο ςυςτημα ςυμπλήρωμα ωσ προσ 2

Γεωργικός Πειραματισμός ΙΙ

Ραραμετροποίθςθ ειςαγωγισ δεδομζνων περιόδων

Μονάδες 6. Μονάδες ΓΑΨΕ Δεν υπάρχει ρίηα 2. ΑΝ Α>0 ΤΟΤΕ 3. ΤΕΛΟΣ_ΑΝ 4. ΑΛΛΙΩΣ 5. ίηα Τ_(Α)

Εργαςτιριο Βάςεων Δεδομζνων

Οντοκεντρικός Προγραμματισμός ΙΙ (C++)

TIM Εικονικό Περιβάλλον Συνεργασίας Οδθγίεσ Χριςθσ

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό

Εφδοξοσ+ Συνδεκείτε ςτθν Εφαρμογι Φοιτθτϊν και μεταβείτε ςτθ ςελίδα «Ανταλλαγι Βιβλίων (Εφδοξοσ+)».

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 6/12/07

Ειςαγωγι ςτο Δομθμζνο Προγραμματιςμό. Βαγγζλθσ Οικονόμου

Ειςαγωγή ςτισ Συναρτήςεισ τησ PHP

Επιχειρηςιακή Ζρευνα και εφαρμογζσ με την χρήςη του λογιςμικοφ R

1 ο ΜΑΘΗΜΑ Κεφάλαιο 1, Παράγραφοι 1.1, 1.2 ΕΙΣΑΓΩΓΗ ΣΤΗ ΣΤΑΤΙΣΤΙΚΗ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

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

Ρρογραμματιςμόσ Μεκόδων Επίλυςθσ Ρροβλθμάτων. 18. Αλφαριθμητικά. Ιωάννθσ Κατάκθσ. ΕΡΛ 032: Ρρογραμματιςμόσ Μεκόδων Επίλυςθσ Ρροβλθμάτων

1 ο Διαγώνιςμα για το Α.Ε.Π.Π.

Διαχείριςθ του φακζλου "public_html" ςτο ΠΣΔ

ΘΕΜΑ Α / Αν μια μεταβλθτι ζχει τθν τιμι 47.0 τότε ο τφποσ τθσ μεταβλθτισ είναι ακζραιοσ.

Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων. 19. Αλφαριθμητικά II. Ιωάννθσ Κατάκθσ. ΕΠΛ 032: Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων

1. Κατέβαςμα του VirtueMart

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

Διαχείριςη Αριθμοδεικτών (v.1.0.7)

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

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ

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

Πειραματικι Ψυχολογία (ΨΧ66)

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 3 ο Εργαςτιριο υγχρονιςμόσ Διεργαςιϊν

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 4/3/2008

Θεςιακά ςυςτιματα αρίκμθςθσ

Α) Ενδεικτικϋσ απαντόςεισ των θεμϊτων

Οντοκεντρικός Προγραμματισμός

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

ΕΦΑΡΜΟΓΖσ ΒΆΕΩΝ ΔΕΔΟΜΖΝΩΝ ΚΑΙ ΔΙΑΔΙΚΣΥΟΤ. Ειρινθ Φιλιοποφλου

Ψθφιακά Ηλεκτρονικά. Ενότθτα 5 : Ανάλυςθ κυκλώματοσ με D και JK FLIP- FLOP Φώτιοσ Βαρτηιώτθσ

Οδηγύεσ Εφαρμογόσ Ηλεκτρονικόσ Κοςτολόγηςησ

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Προχωρθμζνα Θζματα Συςτθμάτων Ελζγχου

Περιοριςμοί μιασ Β.Δ. ςτθν Access(1/3)

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα

Transcript:

5 ΜΕΘΟΔΟΙ - ΠΑΡΑΜΕΤΡΟΙ Να γραφεί πρόγραμμα, το οποίο κα δίνει τισ τιμζσ 5 και 6 ςε δφο μεταβλθτζσ a και b και κα υπολογίηει και κα εμφανίηει το άκροιςμά τουσ sum. ΛΟΓΙΚΟ ΔΙΑΓΡΑΜΜΑ a 5 b 6 sum a+b sum ΑΛΓΟΡΙΘΜΟ 1. Δίνω τθν τιμι 5 ςτο a ( a 5 ) 2. Δίνω τθν τιμι 6 ςτο b ( b 6 ) 3. Βρίςκω το άκροιςμα ( sum a+b ) 4. Εμφανίηω τθν τιμι του sum ΠΡΟΓΡΑΜΜΑ public class SumB { /* Πρόγρακκα ποσ δίλεη ηης ηηκές 5 θαη 6 ζε 2 αθέραηες κεηαβιεηές θαη βρίζθεη θαη εκθαλίδεη ηο άζροηζκά ηοσς*/ // Δήιωζε-Αλάζεζε ηωλ ηηκώλ 5, 6 ζηης αθέραηες κεηαβιεηές a, b int a = 5, b = 6; // Δήιωζε - Τποιογηζκός ηοσ αζροίζκαηος sum int sum = a + b; // Eκθάληζε ηοσ αζροίζκαηος sum System.out.println("Άζροηζκα = " + sum); Άζροηζκα = 11 Αλγορικμικι και Προγραμματιςμόσ Μζκοδοι - Παράμετροι Γουλιάνασ Κϊςτασ ελίδα 1

5. 1 ΜΕΘΟΔΟΙ Θα μποροφςαμε να καλζςουμε μια μζκοδο add(), θ οποία να δίνει τισ τιμζσ ςτισ μεταβλθτζσ a, b και να υπολογίηει και να εμφανίηει το άκροιςμα sum και θ μζκοδοσ main() απλϊσ να τθν καλεί. αυτι τθν περίπτωςθ το λογικό διάγραμμα και ο αλγόρικμοσ τθσ main()και τθσ μεκόδου add()κα γινόταν : ΛΟΓΙΚΟ ΔΙΑΓΡΑΜΜΑ main() Κλιςθ Μεκόδου add() ΑΛΓΟΡΙΘΜΟ main() 1. Κλιςθ Μεκόδου add() ΛΟΓΙΚΟ ΔΙΑΓΡΑΜΜΑ ΜΕΘΟΔΟΥ add() a 5 b 6 sum a+b sum ΑΛΓΟΡΙΘΜΟ ΜΕΘΟΔΟΥ add() 1. Δίνω τθν τιμι 5 ςτο a ( a 5 ) 2. Δίνω τθν τιμι 6 ςτο b ( b 6 ) 3. Βρίςκω το άκροιςμα sum ( sum a+b ) 4. Εμφανίηω τθν τιμι του sum Αλγορικμικι και Προγραμματιςμόσ Μζκοδοι - Παράμετροι Γουλιάνασ Κϊςτασ ελίδα 2

Οι Μζκοδοι είναι αυτοτελι τμιματα κϊδικα που εκτελοφν κάποιεσ εργαςίεσ και περιζχουν ότι και θ μζκοδοσ main() δθλϊςεισ μεταβλθτϊν και εντολζσ. Μια μορφι μεκόδου ζχει τθν παρακάτω ςφνταξθ : static void <όλοκα_κεζόδοσ>(){ εληοιές; ΠΡΟΓΡΑΜΜΑ public class Methodsdd { /* Πρόγρακκα ποσ θαιεί ηε κέζοδο add(), ε οποία δίλεη ηης ηηκές 5 θαη 6 ζε 2 αθέραηες κεηαβιεηές θαη βρίζθεη θαη εκθαλίδεη ηο άζροηζκά ηοσς */ static void add() { // Δήιωζε-Αλάζεζε ηωλ ηηκώλ 5, 6 ζηης αθέραηες κεηαβιεηές a, b int a = 5, b = 6; // Δήιωζε - Τποιογηζκός ηοσ αζροίζκαηος sum int sum = a + b; // Eκθάληζε ηοσ αζροίζκαηος sum System.out.println("Άζροηζκα κε θιήζε ηες add() = " + sum); // Κιήζε Μεζόδοσ add() add(); Άζροηζκα κε θιήζε ηες add() = 11 Παρατθριςεισ Η μζκοδοσ add()δεν παίρνει καμία πλθροφορία από τθν main(). Δεν ςτζλνει καμιά πλθροφορία ςτθν main(), γι αυτό και δθλϊνεται τφπου void. o static χρειάηεται, γιατί δεν είναι μζκοδοσ κλάςθσ αντικειμζνων. Ο κϊδικασ τθσ μεκόδου add() βρίςκεται ςτθν ίδια κλάςθ με τθ μζκοδο main() και θ κλιςθ τθσ γίνεται χρθςιμοποιϊντασ απλϊσ το όνομά τθσ. Οι μεταβλθτϊν τθσ μεκόδου λζγονται τοπικζσ μεταβλθτζσ, δθμιουργοφνται όταν καλείται θ μζκοδοσ, δεν είναι ορατζσ ςτθν καλοφςα μζκοδο και παφουν να υπάρχουν, όταν ολοκλθρωκεί θ εκτζλεςθ των εντολϊν τθσ μεκόδου. Αλγορικμικι και Προγραμματιςμόσ Μζκοδοι - Παράμετροι Γουλιάνασ Κϊςτασ ελίδα 3

5.1.1 Μέθοδοσ που Δέχεται Παραμέτρουσ από τη main() Η προθγοφμενθ μζκοδοσ κάνει μια πολφ ςυγκεκριμμζνθ δουλειά. Τπολογίηει το άκροιςμα των μεταβλθτϊν a και b για τισ ςυγκεκριμμζνεσ τιμζσ 5 και 6. Αν κζλουμε να υπολογίηει και να εμφανίηει το άκροιςμα οποιονδιποτε 2 αρικμϊν a και b που κα παίρνουν τιμζσ ςτθν main() κα πρζπει να περάςουμε τισ τιμζσ των μεταβλθτϊν a και b ςαν παραμζτρουσ ςτθ μζκοδο. Αυτό γίνεται ςτθ διλωςθ τθσ μεκόδου, οπότε θ γενικι τθσ ςφνταξθ κα είναι : static void <όλοκα_κεζόδοσ>(<ιίζηα_παρακέηρωλ>){ εληοιές; όπου θ <ιίζηα_παρακέηρωλ> περιλαμβάνει δθλϊςεισ μεταβλθτϊν χωριςμζνεσ με κόμμα, μζςω των οποίων περνάμε ςτθ μζκοδο τισ τιμζσ τθσ μεκόδου που τθν καλεί. ΛΟΓΙΚΟ ΔΙΑΓΡΑΜΜΑ main() a 5 b 6 Κλιςθ Μεκόδου add(a,b) ΑΛΓΟΡΙΘΜΟ main() 1. Δίνω τθν τιμι 5 ςτο a ( a 5 ) 2. Δίνω τθν τιμι 6 ςτο b ( b 6 ) 3. Κλιςθ Μεκόδου add(a, b) ΛΟΓΙΚΟ ΔΙΑΓΡΑΜΜΑ ΜΕΘΟΔΟΥ add(a, b) sum a+b sum ΑΛΓΟΡΙΘΜΟ ΜΕΘΟΔΟΥ add(a,b) 1. Βρίςκω το άκροιςμα ( sum a+b ) 2. Εμφανίηω τθν τιμι του sum Αλγορικμικι και Προγραμματιςμόσ Μζκοδοι - Παράμετροι Γουλιάνασ Κϊςτασ ελίδα 4

ΠΡΟΓΡΑΜΜΑ public class MethodsddB { /* Πρόγρακκα ποσ θαιεί ηε κέζοδο add(), ε οποία δίλεη ηης ηηκές 5 θαη 6 ζε 2 αθέραηες κεηαβιεηές θαη βρίζθεη θαη εκθαλίδεη ηο άζροηζκά ηοσς */ static void add(int a, int b) { // Δήιωζε - Τποιογηζκός ηοσ αζροίζκαηος sum int sum = a + b; // Eκθάληζε ηοσ αζροίζκαηος sum System.out.println("Άζροηζκα κε θιήζε ηες add(a, b) = " + sum); // Δήιωζε-Αλάζεζε ηωλ ηηκώλ 5, 6 ζηης αθέραηες κεηαβιεηές a, b int a = 5, b = 6; // Κιήζε Μεζόδοσ add() add(a, b); Άζροηζκα κε θιήζε ηες add(a, b) = 11 Παρατθριςεισ Οι πλθροφορίεσ περνάνε ςτθ μζκοδο μζςω των μεταβλθτϊν a και b ςτθ διλωςθ. Οι μεταβλθτζσ a και b ςτθ διλωςθ τθσ μεκόδου λζγονται παράμετροι και μποροφν να ζχουν διαφορετικά ονόματα από τισ μεταβλθτζσ τθσ main()). Μπορεί να χρθςιμοποιθκεί οποιοδιποτε όνομα για τισ παραμζτρουσ, αρκεί να χρθςιμοποιοφνται τα ίδια ονόματα και μζςα ςτθ μζκοδο. Πρζπει να ςυμφωνεί ο αρικμόσ, θ ςειρά και ο τφποσ των οριςμάτων (μεταβλθτϊν τθσ καλοφςασ μεκόδου) και των παραμζτρων τθσ μεκόδου. τθν κλιςθ τθσ μεκόδου δε χρειάηονται οι τφποι των μεταβλθτϊν- οριςμάτων. τθν κλιςθ τθσ μεκόδου τα ονόματα των παραμζτρων αντικακίςτανται από τα ονόματα των μεταβλθτϊν τθσ καλοφςασ μεκόδου. Οι τιμζσ των μεταβλθτϊν ( ορίςματα ) περνάνε ςτθν μζκοδο. Η μζκοδοσ τελειϊνει όταν εκτελεςτοφν όλεσ οι εντολζσ ι αν υπάρχει θ εντολι return. Μπορεί να μθ χρθςιμοποιθκεί θ τοπικι μεταβλθτι sum. αυτι τθν περίπτωςθ, ο κϊδικασ τθσ μεκόδου κα γίνει : static void add(int a, int b) { // Τποιογηζκός - Eκθάληζε ηοσ αζροίζκαηος (a + b) System.out.println("Άζροηζκα = " + (a + b); Αλγορικμικι και Προγραμματιςμόσ Μζκοδοι - Παράμετροι Γουλιάνασ Κϊςτασ ελίδα 5

5.1.2 Μέθοδοσ που Επιςτρέφει και το Άθροιςμα ςτη main() Να γραφεί πρόγραμμα, το οποίο κα δίνει τισ τιμζσ 5 και 6 ςε δφο μεταβλθτζσ a και b και κα καλεί τθ μζκοδο add(), θ οποία υπολογίηει και επιςτρζφει ςτθ main()τθν τιμι του ακροίςματοσ sum, τθν οποία και κα εμφανίηει. Μετά το πρόγραμμα κα υπολογίηει και κα εμφανίηει και το μζςο όρο mo. ΛΟΓΙΚΟ ΔΙΑΓΡΑΜΜΑ main() a 5 b 6 Κλιςθ Μεκόδου add(a,b) ΑΛΓΟΡΙΘΜΟ main() 1. Δίνω τθν τιμι 5 ςτο a ( a 5 ) 2. Δίνω τθν τιμι 6 ςτο b ( b 6 ) 3. Κλιςθ Μεκόδου add(a, b) 4. Τπολογιςμόσ Μζςου Όρου ( mo sum/2 ) 5. Εμφάνιςθ Μζςου Όρου mo mo sum/2 mο ΑΛΓΟΡΙΘΜΟ ΜΕΘΟΔΟΥ add(a,b) 1. Βρίςκω το άκροιςμα ( sum a+b ) 2. Επιςτρζφω το άκροιςμα sum ΛΟΓΙΚΟ ΔΙΑΓΡΑΜΜΑ ΜΕΘΟΔΟΥ add(a, b) sum a+b Επιςτροφι sum Αλγορικμικι και Προγραμματιςμόσ Μζκοδοι - Παράμετροι Γουλιάνασ Κϊςτασ ελίδα 6

Για να μπορζςει μια μζκοδοσ να επιςτρζψει μια τιμι ςτθν καλοφςα μζκοδο, κα πρζπει : Να δθλωκεί ςτθν επικεφαλίδα τθσ μεκόδου ο τφποσ τθσ τιμισ που κα επιςτραφεί. Να υπάρχει μζςα ςτον κϊδικα τθσ μεκόδου θ εντολι return με τθν οποία κα επιςτραφεί αυτι θ τιμι. Η ςφνταξθ τθσ διλωςθσ τθσ μεκόδου κα ζχει τθ μορφι : static <τύπος_επιστρουής> <όλοκα_κεζόδοσ> (<ιίζηα_παρακέηρωλ>){ εληοιές; return <έθθραζε_ηύποσ_επηζηροθής>; ΠΡΟΓΡΑΜΜΑ public class MethodsIntddB { /* Πρόγρακκα ηο οποίο δίλεη ηης ηηκές 5 θαη 6 ζε δύο κεηαβιεηές a θαη b θαη θαιεί ηε κέζοδο add(), ε οποία σποιογίδεη θαη επιστρέυει ζηε main()ηελ ηηκή ηοσ αζροίζκαηος sum, ηελ οποία θαη εκθαλίδεη. Μεηά ηο πρόγρακκα σποιογίδεη θαη εκθαλίδεη θαη ηο κέζο όρο mo. */ static int add(int a, int b) { // Δήιωζε - Τποιογηζκός ηοσ αζροίζκαηος sum int sum = a + b; // Επηζηροθή Σηκής Αζροίζκαηος sum return sum; // Δήιωζε-Αλάζεζε ηωλ ηηκώλ 5, 6 ζηης αθέραηες κεηαβιεηές a, b int a = 5, b = 6; // Κιήζε Μεζόδοσ add() int sum = add(a, b); // Δήιωζε - Τποιογηζκός ηοσ Μέζοσ Όροσ mo double mo = (double) sum/2; // Eκθάληζε ηοσ αζροίζκαηος sum θαη ηοσ Μέζοσ Όροσ mo System.out.println("Άζροηζκα = " + sum + " Μέζος Όρος = " + mo ); run: Άζροηζκα = 11 Μέζος Όρος = 5.5 BUILD SUCCESSFUL (total time: 0 seconds) Αλγορικμικι και Προγραμματιςμόσ Μζκοδοι Παράμετροι Γουλιάνασ Κϊςτασ ελίδα 7

Παρατθριςεισ Όταν επιςτρζφει θ τιμι μιασ μεταβλθτισ από κάποια μζκοδο πρζπει να δθλϊνεται ο τφποσ τθσ. Ο τφποσ τθσ μεκόδου πρζπει να είναι ίδιοσ με τον τφπο τθσ μεταβλθτισ που επιςτρζφει. Η κλιςθ τθσ μεκόδου χρθςιμοποιείται ςτθν καλοφςα μζκοδο ςαν μια οποιαδιποτε μεταβλθτι ςε εντολζσ εκχϊρθςθσ, ελζγχου, εμφάνιςθσ κ.λ.π.. Η μζκοδοσ επιςτρζφει μόνο μια τιμι για μεταβλθτζσ, εκφράςεισ απλοφ τφπου. Μπορεί να υπάρχουν ςτθ μζκοδο περιςςότερεσ από μία εντολζσ return. Μπορεί να μθ χρθςιμοποιθκεί θ τοπικι μεταβλθτι sum και να επιςτρζψει θ ζκφραςθ υπολογιςμοφ του. αυτι τθν περίπτωςθ ο κϊδικασ τθσ μεκόδου κα είναι : static int add(int a, int b) { // Τποιογηζκός - Επηζηροθή Σηκής Αζροίζκαηος (a + b) return (a + b); Μπορεί να μθν χρθςιμοποιθκεί θ μεταβλθτι sum ςτθ main() και να χρθςιμοποιθκεί το όνομα τθσ μεκόδου με τισ παραμζτρουσ. Αντί των εντολϊν : // Κιήζε Μεζόδοσ add() int sum = add(a, b); // Δήιωζε - Τποιογηζκός ηοσ Μέζοσ Όροσ mo double mo = (double) sum/2; κα μποροφςαμε να γράψουμε : // Δήιωζε - Τποιογηζκός ηοσ Μέζοσ Όροσ mo - Κιήζε Μεζόδοσ add() double mo = (double) (add(a, b))/2; Ο τφποσ επιςτροφισ μιασ μεκόδου μπορεί να είναι οποιοςδιποτε από τουσ απλοφσ τφπουσ, ακζραιοσ ( byte, short, int, long ), κινθτισ υποδιαςτολισ ( float, double ), χαρακτιρασ ( char ), ι λογικόσ ( boolean ) που επιςτρζφει τισ τιμζσ true ι false, όπωσ ςτο επόμενο παράδειγμα : Αλγορικμικι και Προγραμματιςμόσ Μζκοδοι Παράμετροι Γουλιάνασ Κϊςτασ ελίδα 8

5.1.2 Μέθοδοσ που Επιςτρέφει Αποτέλεςμα Τύπου boolean Να γραφεί πρόγραμμα, το οποίο κα δθμιουργεί ζναν τυχαίο ακζραιο a ςτο *1, 10+, κα καλεί μια μζκοδο, θ οποία κα βρίςκει αν ο αρικμόσ είναι ΑΡΣΙΟ ι ΠΕΡΙΣΣΟ και κα εμφανίηει το κατάλλθλο μινυμα. ΠΡΟΓΡΑΜΜΑ public class Booleanrtios { /* Πρόγρακκα, ηο οποίο ζα δεκηοσργεί έλαλ ησταίο αθέραηο a ζηο [1, 10], θαιεί κηα κέζοδο, ε οποία βρίζθεη αλ ο αρηζκός είλαη ΑΡΣΙΟ ή ΠΕΡΙΣΣΟ θαη εκθαλίδεη ηο θαηάιιειο κήλσκα */ static boolean isrtios(int a){ boolean artios = false; // Αρτηθή ηηκή false if ( a%2 == 0) // O a δηαηρείηαη αθρηβώς κε ηο 2 artios = true; // Είλαη ΑΡΣΙΟ return artios; // Επιστρουή Boolean τιμής int a = (int)(math.random()*10) + 1; // Σσταίος Αθέραηος if (isrtios(a)) // Είναι άρτιος??? System.out.println("Ο αρηζκός " + a + " είλαη ΑΡΣΙΟ"); else System.out.println("Ο αρηζκός " + a + " είλαη ΠΕΡΙΣΣΟ"); run: Ο αρηζκός 6 είλαη ΑΡΣΙΟ BUILD SUCCESSFUL (total time: 0 seconds) run: Ο αρηζκός 9 είλαη ΠΕΡΙΣΣΟ BUILD SUCCESSFUL (total time: 0 seconds) Παρατιρθςθ Δε χρειάηεται να ελζγξουμε αν θ τιμι που επιςτρζφει θ μζκοδοσ isrtios(a) είναι true ι false, δθλαδι θ εντολι if (isrtios(a)) να γίνει : if (isrtios(a)) == true) Αλγορικμικι και Προγραμματιςμόσ Μζκοδοι Παράμετροι Γουλιάνασ Κϊςτασ ελίδα 9