Γενικό Λύκειο > Συναρτήσεις

περισσότερες από μία καταχωρήσεις στη μεταβλητή με το όνομα της συνάρτησης

(1/6) > >>

annastasios:
στο εσωτερικό μιας συνάρτησης μπορούν να γίνουν περισσότερες από μία καταχωρήσεις στη μεταβλητή με το όνομα της συνάρτησης
! για ποιο λόγο οι πιο πολοί το αποφεύγουν και κάνουν μια μόνο καταχώρηση στην τελευταία εντολή της συναρτησης
! η επόμενη συνάρτηση είναι σωστή?
! αν ναι γιατί δεν τρέχει στην ΓΛΩΣΣΑ
! ΕΥΧΑΡΙΣΤΩ


ΣΥΝΑΡΤΗΣΗ min(α,β,γ,δ):ΑΚΕΡΑΙΑ

ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: α, β, γ, δ

ΑΡΧΗ


  min <-- α
  ΑΝ β < min ΤΟΤΕ
    min <-- β
  ΤΕΛΟΣ_ΑΝ
  ΑΝ γ<min ΤΟΤΕ
    min <-- γ
  ΤΕΛΟΣ_ΑΝ
  ΑΝ δ<min ΤΟΤΕ
    min <-- δ
  ΤΕΛΟΣ_ΑΝ

ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ 

alkisg:
Εκχωρήσεις τιμής μπορούν να γίνουν οσεσδήποτε.
Όμως όταν το min χρησιμοποιείται κάπου αλλού (π.χ. ΑΝ β < min ΤΟΤΕ) τότε γίνεται αναδρομή, δηλαδή ξανακαλείς τη min με νέες παραμέτρους. Δες το παράδειγμα του βιβλίου που υπολογίζει αναδρομικά το Ν παραγοντικό με συνάρτηση.

Όμως όταν χρησιμοποιείς το min έτσι, είναι συντακτικό λάθος. Εφόσον καλείς τη συνάρτηση, θα έπρεπε να της βάλεις και παραμέτρους. Π.χ. μια σωστή συντακτικά φράση θα ήταν
ΑΝ β < min(1,2,3,4) ΤΟΤΕ
...
αν και φυσικά δεν θα έκανε αυτό που ήθελες...

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

annastasios:
ευχαριστώ Άλκη

lsourtzo:

--- Παράθεση από: alkisg στις 05 Απρ 2006, 09:32:40 μμ ---Όμως όταν το min χρησιμοποιείται κάπου αλλού (π.χ. ΑΝ β < min ΤΟΤΕ) τότε γίνεται αναδρομή, δηλαδή ξανακαλείς τη min με νέες παραμέτρους.

--- Τέλος παράθεσης ---

Σωστός !!!!!!

vassilis:
Νομίζω ότι θα πρέπει να μην είμαστε ιδιαίτερα σχολαστικοί με τέτοια θέματα. Επισημαίνω ότι στη Visual Basic, η παρακάτω συνάρτηση είναι σωστή:

Function min(x As Integer, y As Integer) As Integer

  min = x
 
  If y < min Then min = y
 

End Function


Αν ένας μαθητής λοιπόν γράψει κάτι ανάλογο στη ΓΛΩΣΣΑ, γιατί να θεωρηθεί εσφαλμένο;

Ούτως ή άλλως, όπως έχει επισημανθεί επανειλημμένα στο forum, ο τρόπος με τον οποίο παρουσιάζεται η ΓΛΩΣΣΑ στο σχολικό εγχειρίδιο αφήνει αρκετά θέματα αδιευκρίνιστα. Ούτε τα συντακτικά διαγράμματα της ΓΛΩΣΣΑΣ δίνονται ούτε κάποια πρότυπη υλοποίηση. Και τα παραδείγματα μάλλον δεν επαρκούν για να καλύψουν όλες τις δυνατές περιπτώσεις χρήσης.

Η γνώμη μου είναι ότι θα πρέπει να μη θεωρηθεί σφάλμα η ύπαρξη περισσότερων της μιας εντολών εκχώρησης στο όνομα της συνάρτησης, ούτε όμως και η χρήση του ονόματος της συνάρτησης όπως στην παραπάνω περίπτωση.

Άλλωστε, τέτοια θέματα μάλλον είναι συντακτικές λεπτομέρειες των γλωσσών, ενώ υποτίθεται ότι οι μαθητές εξετάζονται στην ικανότητα διατύπωσης αλγορίθμων.

Πλοήγηση

[0] Λίστα μηνυμάτων

[#] Επόμενη σελίδα

Μετάβαση στην πλήρη έκδοση