Αποστολέας Θέμα: Συνάρτηση ή Διαδικασία;  (Αναγνώστηκε 2308 φορές)

fcandreas

  • Νέος
  • *
  • Μηνύματα: 2
Συνάρτηση ή Διαδικασία;
« στις: 01 Απρ 2009, 03:46:04 πμ »
Ενώ ξέρω να χρησημοποιώ και τη συνάρτηση και τη διαδικασία έχω λίγο μπερδευτεί πότε χρησιμοποιήται το ένα και πότε το άλλο....Αν μπορείτε να με βοηθήσετε με ένα παράδειγμα....έχω ένα βοήθημα αλλά μάλλον με μπέρδεψε περισσότερο... :o Αυτό που κατάλαβα είναι ότι όταν θέλω να υπολογίσω έναν τύπο πχ. το δείκτη μάζας σώματος κλπ χρησιμοποιώ συνάρτηση....τη διαδικασία πότε τη χρησιμοποιώ;

ntzios kostas

  • Καθηγητής Πληροφορικής
  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 599
    • Ανάπτυξη Εφαρμογών
Απ: Συνάρτηση ή Διαδικασία;
« Απάντηση #1 στις: 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

  • Νέος
  • *
  • Μηνύματα: 2
Απ: Συνάρτηση ή Διαδικασία;
« Απάντηση #2 στις: 01 Απρ 2009, 01:15:55 μμ »
Σ'ευχαριστώ....Τ κατάλαβα καλύτερα....μου είχε μείνει απορία από τότε που μπήκαμε στα υποπρογράμματα... 8)