Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Γ΄ Λυκείου => Τμηματικός προγραμματισμός => Μήνυμα ξεκίνησε από: fcandreas στις 01 Απρ 2009, 03:46:04 ΠΜ

Τίτλος: Συνάρτηση ή Διαδικασία;
Αποστολή από: fcandreas στις 01 Απρ 2009, 03:46:04 ΠΜ
Ενώ ξέρω να χρησημοποιώ και τη συνάρτηση και τη διαδικασία έχω λίγο μπερδευτεί πότε χρησιμοποιήται το ένα και πότε το άλλο....Αν μπορείτε να με βοηθήσετε με ένα παράδειγμα....έχω ένα βοήθημα αλλά μάλλον με μπέρδεψε περισσότερο... :o Αυτό που κατάλαβα είναι ότι όταν θέλω να υπολογίσω έναν τύπο πχ. το δείκτη μάζας σώματος κλπ χρησιμοποιώ συνάρτηση....τη διαδικασία πότε τη χρησιμοποιώ;
Τίτλος: Απ: Συνάρτηση ή Διαδικασία;
Αποστολή από: ntzios kostas στις 01 Απρ 2009, 08:27:26 ΠΜ
Γενικότερα την διαδικασία μπορείς να την χρησιμοποιείς για την δημιουργία οποιουδήποτε υποπρογράμματος. Είσαι όμως αναγκασμένος να την χρησιμοποιείς όταν το υποπρόγραμμα διαβάζει ή εμφανίζει τιμές ή όταν επιστρέφει καμία ή παραπάνω από μία τιμές. Άρα την συνάρτηση την χρησιμοποιούμε μόνο όταν το υποπρόγραμμα επιστρέφει μία τιμή.

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

Για παράδειγμα έστω ότι έχουμε φτιάξει την συνάρτηση ΣMyA_T(x) και την διαδικάσία ΔMyA_T(x,ατ) τα οποία επιστρέφουν την απόλυτη τιμή ενός αριθμου, και θέλουμε να υπολογίσουμε με την βοήθειά τους την μαθηματική παράσταση,
Υ=|χ-1|+|χ-3|
Με την βοήθεια της συνάρτησης θα γράφαμε:
...
διάβασε χ
Υ<-ΣΜyA_T(x-1)+ΣΜyA_T(x-3)
γράψε Υ

Ενώ με την βοήθεια της διαδικασίας
...
διάβασε χ
π1 <- χ-1
κάλεσε ΔΜyA_T(π1,ατ1)
π2<- χ-3
κάλεσε ΔΜyA_T(π2,ατ2)
Υ<- ατ1+ατ2
γράψε Υ

Νομίζω ότι τα πλεονεκτήματα της συνάρτησης, όταν βέβαια μπορεί να γίνει, γίνονται φανερά.

Ελπίζω κάπως να σε βοήθησα.
Τίτλος: Απ: Συνάρτηση ή Διαδικασία;
Αποστολή από: fcandreas στις 01 Απρ 2009, 01:15:55 ΜΜ
Σ'ευχαριστώ....Τ κατάλαβα καλύτερα....μου είχε μείνει απορία από τότε που μπήκαμε στα υποπρογράμματα... 8)