συναρτηση μεσα σε συναρτηση?

Ξεκίνησε από thanosgn, 08 Μαΐου 2012, 12:21:46 ΜΜ

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

programmer

Παράθεση από: evry στις 09 Φεβ 2015, 11:24:57 ΠΜ
(Συνάρτηση πολύ πιο μέσα σε συνάρτηση)

Τι εμφανίζει το παρακάτω πρόγραμμα;
Ποια λειτουργία επιτελεί η συνάρτηση;

ΠΡΟΓΡΑΜΜΑ mesa
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: kamia
ΑΡΧΗ 
  ΓΡΑΨΕ S(100) 
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΣΥΝΑΡΤΗΣΗ S(N): ΑΚΕΡΑΙΑ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: N
ΑΡΧΗ
  ΑΝ Ν=0 ΤΟΤΕ
      S <- 0
  ΑΛΛΙΩΣ
      S <- N + Σ(Ν-1)
  ΤΕΛΟΣ_ΑΝ  
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ 

ΣΥΝΑΡΤΗΣΗ Σ(N): ΑΚΕΡΑΙΑ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: N
ΑΡΧΗ
  ΑΝ Ν=0 ΤΟΤΕ
      Σ <- 0
  ΑΛΛΙΩΣ
      Σ = N + S(Ν-1)
  ΤΕΛΟΣ_ΑΝ  
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ 


η παραπάνω άσκηση δείχνει το βαθμό κατανόησης ενός μαθητή όσον αφορά τη γενικότερη λειτουργία των υποπρογραμμάτων
Νομίζω ότι παρουσιάζει ενδιαφέρον


το προγραμμα συτο εμφανιζει το αθροισμα της αριθμητικης προοδου 0+1+2+3+..+100
Η συναρτηση S παιζει το ρολο του αθροιστη ξεκιναει απο το τελευταιο στοιχειο(στην περιπτωση μας τον αριθμο 100) και με τη βοηθεια της Σ υπολογιζει
αναποδα το αποτελεσμα δηλαδη:100+99+98+..+1+0

evry

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

Παράθεση από: sstergou στις 09 Φεβ 2015, 03:32:00 ΜΜ
Για αμοιβαία αναδρομή μου αρέσει αυτό το παράδειγμα:

What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr