Συνάρτηση ή Διαδικασία;

Ξεκίνησε από fcandreas, 01 Απρ 2009, 03:46:04 ΠΜ

« προηγούμενο - επόμενο »

fcandreas

Ενώ ξέρω να χρησημοποιώ και τη συνάρτηση και τη διαδικασία έχω λίγο μπερδευτεί πότε χρησιμοποιήται το ένα και πότε το άλλο....Αν μπορείτε να με βοηθήσετε με ένα παράδειγμα....έχω ένα βοήθημα αλλά μάλλον με μπέρδεψε περισσότερο... :o Αυτό που κατάλαβα είναι ότι όταν θέλω να υπολογίσω έναν τύπο πχ. το δείκτη μάζας σώματος κλπ χρησιμοποιώ συνάρτηση....τη διαδικασία πότε τη χρησιμοποιώ;

ntzios kostas

Γενικότερα την διαδικασία μπορείς να την χρησιμοποιείς για την δημιουργία οποιουδήποτε υποπρογράμματος. Είσαι όμως αναγκασμένος να την χρησιμοποιείς όταν το υποπρόγραμμα διαβάζει ή εμφανίζει τιμές ή όταν επιστρέφει καμία ή παραπάνω από μία τιμές. Άρα την συνάρτηση την χρησιμοποιούμε μόνο όταν το υποπρόγραμμα επιστρέφει μία τιμή.

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

Για παράδειγμα έστω ότι έχουμε φτιάξει την συνάρτηση Σ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

Σ'ευχαριστώ....Τ κατάλαβα καλύτερα....μου είχε μείνει απορία από τότε που μπήκαμε στα υποπρογράμματα... 8)