καλεσμα συναρτησης - διαδικασιας

Ξεκίνησε από kiro, 03 Απρ 2006, 12:38:29 ΜΜ

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

kiro

Γεια σας,

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

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

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

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

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

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

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

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

andreas_p

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

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

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

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

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

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

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



Christos

Αυτό που φαντάζομαι οτι εννοούσε το βοήθημα είναι οτι στην κλήση της συνάρτησης δεν χρειάζεται να χρησιμοποιηθεί η δεσμευμένη λέξη ΚΑΛΕΣΕ όπως γίνεται στην διαδικασία.

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

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

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

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

nekis

Αγαπητέ kiro
Η ΓΛΩΣΣΑ θα επιστρέψει λάθος στη γραμμή κώδικα που θα περιέχει μια εντολή του τύπου α<-β όπου το β δεν θα έχει δηλωθεί στο τμήμα δηλώσεων. Ο ορισμός της συνάρτησης στο κεφ 10 είναι σαφής: α<-β(Λ.Π.) Δηλαδή είναι απαραίτητοι οι δεσμευμένοι χαρακτήρες '(' και ')'. Εξ άλλου , όπως πολύ σωστά περιέχεται σε αντίστοιχο θέμα του στεκιού, εφόσον δεν μπορούμε να υπολογίζουμε π.χ. την ώρα του συστήματος δεν έχει νόημα να έχουμε συναρτήσεις χωρίς παραμέτρους (εισόδου)
ΝΚυριακου

kiro