Αποστολέας Θέμα: καλεσμα συναρτησης - διαδικασιας  (Αναγνώστηκε 2479 φορές)

kiro

  • Βετεράνος
  • ****
  • Μηνύματα: 52
  • Γράψτε το προσωπικό σας σλόγκαν!
καλεσμα συναρτησης - διαδικασιας
« στις: 03 Απρ 2006, 12:38:29 μμ »
Γεια σας,

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

Μεγιστος_Αριθμος<- Μεγιστος

Αντι για Μεγιστος_Αριθμος<- Μεγιστος(α,β)

Επίσης μια διαδικασία πρέπει να την καλούμε μέσω των παράμερων τις, σε ένα παράδειγμα βρήκα

ΔΙΑΔΙΚΑΣΙΑ Εκτύπωση (Αποτέλεσμα)
ΜΕΤΑΒΛΗΤΕΣ
  ΠΡΑΓΜΑΤΙΚΕΣ : Αποτέλεσμα
ΑΡΧΗ
  ΓΡΑΨΕ ‘Το εμβαδόν του κύκλου είναι :’, Αποτέλεσμα
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

 Εδώ  το  αρχικοποιει στη διαδικασια Εκτύπωση (Αποτέλεσμα) και μετά στο πρόγραμμα το καλεί Εκτύπωση(Ε).  Μπορούμε να αλλάζουμε δηλ τα ονόματα των παραμέτρων όταν καλούμε διαδικασία η συνάρτηση ?

ΠΡΟΓΡΑΜΜΑ Υπολογισμός_Εμβαδού2
ΜΕΤΑΒΛΗΤΕΣ
  ΠΡΑΓΜΑΤΙΚΕΣ : R, E
ΑΡΧΗ
  ΚΑΛΕΣΕ Είσοδος_δεδομένων(R)
  Ε <- Εμβαδό_κύκλου(R)
  ΚΑΛΕΣΕ Εκτύπωση(Ε)
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ευχαριστω...

andreas_p

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 1052
Απ: καλεσμα συναρτησης - διαδικασιας
« Απάντηση #1 στις: 03 Απρ 2006, 01:33:52 μμ »
Επειδή μ έχει μπερδέψει λίγο ο τρόπος που καλούμε μια συνάρτηση ή μια διαδικασία,  όταν έχουμε  συνάρτηση την καλούμε μέσω του ονόματος της μόνο (το έχω βρει σε ένα βοήθημα) ενώ μια διαδικασία μέσω ονόματος και παραμέτρων. Θα μπορουσαμε δηλ. σε ένα πρόγραμμα να καλέσουμε μια συνάρτηση

Μεγιστος_Αριθμος<- Μεγιστος

Μην εμπιστεύεσαι το όποιο βοήθημα. Να είσαι επιφυλακτικός και ό,τι διαβάζεις να μη το δέχεσαι αξιωματικά. Να το ψάχνεις. Ξαναδίνω το παραπάνω κείμενο διορθωμένο :

Επειδή μ έχει μπερδέψει λίγο ο τρόπος που καλούμε μια συνάρτηση ή μια διαδικασία,    ...
 
όταν έχουμε  συνάρτηση την καλούμε μέσω του ονόματος της  ακολουθούμενο από τη λίστα των πραγματικών παραμέτρων ενώ μια διαδικασία μέσω της ειδικής εντολής  ΚΑΛΕΣΕ και παραμέτρων. ( που μπορεί και να μην υπάρχουν, οι παρενθέσεις όμως ΔΕΝ θα λείπουν).  ΔΕΝ θα μπορούσαμε δηλ. σε ένα πρόγραμμα να καλέσουμε μια συνάρτηση

Μεγιστος_Αριθμος<- Μεγιστος

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



Christos

  • Θαμώνας
  • ***
  • Μηνύματα: 24
Απ: καλεσμα συναρτησης - διαδικασιας
« Απάντηση #2 στις: 04 Απρ 2006, 12:03:57 πμ »
Αυτό που φαντάζομαι οτι εννοούσε το βοήθημα είναι οτι στην κλήση της συνάρτησης δεν χρειάζεται να χρησιμοποιηθεί η δεσμευμένη λέξη ΚΑΛΕΣΕ όπως γίνεται στην διαδικασία.

Φυσικά και μπορούμε να αλλάξουμε τις παραμέτρους μια συνάρτησης ή διαδικασίας. Άλλη η τυπική παράμετρος που δίνουμε όταν γράφεται το υποπρόγραμμα

π.χ.ΔΙΑΔΙΚΑΣΙΑ Εκτύπωση (Αποτέλεσμα)   !Η μεταβλητή Αποτέλεσμα είναι τυπική παράμετρος

και άλλη η πραγματική παράμετρος (μεταβλητή του κύριου προγράμματος) που δίνουμε όταν καλούμε το υποπρόγραμμα

π.χ   ΚΑΛΕΣΕ Εκτύπωση(Ε) !Η μεταβλητή Ε είναι πραγματική παράμετρος

nekis

  • Βετεράνος
  • ****
  • Μηνύματα: 76
  • U R NT A #
Απ: καλεσμα συναρτησης - διαδικασιας
« Απάντηση #3 στις: 04 Απρ 2006, 08:50:58 πμ »
Αγαπητέ kiro
Η ΓΛΩΣΣΑ θα επιστρέψει λάθος στη γραμμή κώδικα που θα περιέχει μια εντολή του τύπου α<-β όπου το β δεν θα έχει δηλωθεί στο τμήμα δηλώσεων. Ο ορισμός της συνάρτησης στο κεφ 10 είναι σαφής: α<-β(Λ.Π.) Δηλαδή είναι απαραίτητοι οι δεσμευμένοι χαρακτήρες '(' και ')'. Εξ άλλου , όπως πολύ σωστά περιέχεται σε αντίστοιχο θέμα του στεκιού, εφόσον δεν μπορούμε να υπολογίζουμε π.χ. την ώρα του συστήματος δεν έχει νόημα να έχουμε συναρτήσεις χωρίς παραμέτρους (εισόδου)
ΝΚυριακου

kiro

  • Βετεράνος
  • ****
  • Μηνύματα: 52
  • Γράψτε το προσωπικό σας σλόγκαν!
Απ: καλεσμα συναρτησης - διαδικασιας
« Απάντηση #4 στις: 04 Απρ 2006, 03:46:23 μμ »
Sas eyxaristw!