Αποστολέας Θέμα: Συνάρτηση  (Αναγνώστηκε 2325 φορές)

andreas_p

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 1009
Συνάρτηση
« στις: 30 Μάρ 2006, 01:23:23 μμ »
Συνάδελφοι, νομίζω ότι οι περισσότεροι  συμφωνούμε για το παρακάτω :

Σε μια διαδικασία μπορεί η λίστα παραμέτρων (πραγματικές  στο σημείο κλήσης και τυπικές στην επικεφαλίδα του υποπρογράμματος) να είναι το κενό σύνολο.

Ερώτημα : Ισχύει το παραπάνω και για συνάρτηση ;

Αν ναι,  έχει νόημα μια τέτοια συνάρτηση ;

Vangelis

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 784
  • Για ακούτε και κανένα μεγαλύτερο!!!
Απ: Συνάρτηση
« Απάντηση #1 στις: 30 Μάρ 2006, 07:22:56 μμ »
Πιστεύω ότι θα είχε νόημα αν υπολόγιζε μια τιμή που δεν έχει σχέση με τους παραμέτρους του κύριου προγράμματος.  Για παράδειγμα αν επέστρεφε την ώρα του συστήματος (του στύλ time() ) . Πρακτικά στό μάθημά μας δεν νομίζω ότι έχει κάποιο νόημα.

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 4820
    • alkisg@im.sch.gr
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Συνάρτηση
« Απάντηση #2 στις: 30 Μάρ 2006, 10:11:55 μμ »
Η ΓΛΩΣΣΑ έχει αρκετά περιορισμένες δυνατότητες. Από τις συναρτήσεις που "κυκλοφορούν" σε άλλες γλώσσες και που δε δέχονται καμία παράμετρο, ελάχιστες είναι αυτές που θα μπορούσαν να υλοποιηθούν σε ΓΛΩΣΣΑ, δεδομένου ότι ούτε πρόσβαση στο ρολόι του συστήματος (του στυλ time() που ανέφερε ο Βαγγέλης) έχουμε, ούτε καν δυνατότητα απομνημόνευσης της κατάστασης (state), αφού δεν υποστηρίζονται static ή global μεταβλητές. Έτσι ακόμα κι αν θέλαμε να υλοποιήσουμε μια π.χ. Random, η οποία βασίζεται αναγκαστικά στο προηγούμενο state για να δώσει τον επόμενο τυχαίο αριθμό, αυτό είναι αδύνατο σε ΓΛΩΣΣΑ.

Δηλαδή στη ΓΛΩΣΣΑ οι συναρτήσεις χωρίς παραμέτρους θα επιστρέφουν σναγκαστικά ΠΑΝΤΑ την ίδια τιμή.

Ένα από τα λίγα που μου έρχονται στο μυαλό τα οποία θα μπορούσαν να "σταθούν" σαν ανεξάρτητη συνάρτηση είναι ο υπολογισμός του αριθμού π με συγκεκριμένο αριθμό ψηφίων σαν ακρίβεια (δηλωμένος σαν σταθερά στη συνάρτηση).

andreas_p

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 1009
Απ: Συνάρτηση
« Απάντηση #3 στις: 31 Μάρ 2006, 09:28:14 πμ »
Ευχαριστώ.