Αποστολέας Θέμα: ΕΡΩΤΗΣΕΙΣ ΣΧΕΤΙΚΑ ΜΕ ΠΑΡΑΜΕΤΡΟΥΣ  (Αναγνώστηκε 2773 φορές)

mbathas

  • Βετεράνος
  • ****
  • Μηνύματα: 88
    • blogs.sch.gr/mbathas
ΕΡΩΤΗΣΕΙΣ ΣΧΕΤΙΚΑ ΜΕ ΠΑΡΑΜΕΤΡΟΥΣ
« στις: 19 Απρ 2004, 10:25:18 πμ »
Συνάδελφοι,
Επειδή πιστεύω ότι κάποιο θέμα φέτος θα αναφέρεται στο 10ο Κεφάλαιο θα ήθελα να συνοψίσω τη δικιά μου τοποθέτηση στα παιδιά σε ότι αφορά τις παραμέτρους.
Όσον αφορά τις διαδικασίες δηλώνονται όλες οι παράμετροι και αν κάποια παράμετρος αλλάξει κατά τη διάρκεια εκτέλεσης της διαδικασίας η αλλαγμένη τιμή μεταφέρεται στο κ.πρόγραμμα.
Π.χ.
ΠΡΟΓΡΑΜΜΑ ΕΝΑ
Β<--3
ΚΑΛΕΣΕ Δ(Α,Β)
ΓΡΑΨΕ Α
....
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΔΙΑΔΙΚΑΣΙΑ Δ(Χ,Υ)
.....
Υ<--Υ+2
ΓΡΑΨΕ Υ
Χ<-- 4
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

ΑΠΑΝΤΗΣH: Το παραπάνω πρόγραμμα θα τυπώσει
5,4
Όσο για τις συναρτήσεις δηλώνονται οι παράμετροι εισόδου των οποίων η τιμή αν αλλάξει κατά την εκτέλεση της συνάρτησης η αλλαγή ΔΕΝ μεταφέρεται στο κ.πρόγραμμα.

Π.χ.

ΠΡΟΓΡΑΜΜΑ ΔΥΟ
............
Α<--2
Β<--3
Γ<-- ΣΥΝ(Α,Β)
ΓΡΑΨΕ Α,Β
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΣΥΝΑΡΤΗΣΗ ΣΥΝ(X,Y):AΚΕΡΑΙΗ
.......
Χ<--10
Υ<-- 20
......
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

Απάντηση: Το παραπάνω πρόγραμμα θα τυπώσει
2,3

Θα ήθελα τυχόν συμφωνίες ή διαφωνίες πάνω στα δύο αυτά παραδείγματα.
Ευχαριστώ
 
Μιχάλης Μπάθας
Μηχανικός Η/Υ Συστημάτων
Καθηγητής Πληροφορικής

xaidi

  • Ομάδα διαγωνισμάτων 2009
  • *
  • Μηνύματα: 111
  • who is WHO!!!!!!
Re: ΕΡΩΤΗΣΕΙΣ ΣΧΕΤΙΚΑ ΜΕ ΠΑΡΑΜΕΤΡΟΥΣ
« Απάντηση #1 στις: 19 Απρ 2004, 11:09:46 πμ »
ΕΓΩ ΣΕ ΠΑΡΑΠΕΜΠΩ ΣΤΟ ΘΕΜΑ "ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ".  :whip:
::)ΒΕΒΑΙΑ ΣΤΙΣ ΣΥΝΑΡΤΗΣΕΙΣ ΔΗΛΩΝΟΥΜΕ ΤΙΣ ΜΕΤΑΒΛΗΤΕς ΕΙΣΟΔΟΥ ΚΑΙ Η ΕΠΙΣΤΡΟΦΗ ΓΙΝΕΤΑΙ ΣΤΟ ΟΝΟΜΑ ΤΗΣ ΣΥΝΑΡΤΗΣΗΣ.
ΣΤΙΣ ΔΙΑΔΙΚΑΣΙΕΣ ΔΗΛΩΝΟΥΜΕ ΜΕΤΑΒΛΗΤΕΣ ΕΙΣΟΔΟΥ ΚΑΙ ΑΝ ΕΧΟΥΜΕ ΕΠΙΣΤΡΟΦΗ ΣΤΟ ΚΥΡΙΩΣ ΠΡΟΓΡΑΜΜΑ ΜΕΣΩ ΚΑΠΟΙΑΣ\ΩΝ ΜΕΤΑΒΛΗΤΗΣ ΤΟΤΕ ΔΗΛΩΝΟΥΜΕ ΚΑΙ ΑΥΤΗ\ΕΣ. ;)
ΣΤΗΝ ΣΥΝΑΡΤΗΣΗ ΠΟΥ ΠΑΡΑΘΕΤΕΙΣ ΑΝ ΚΑΤΑΛΑΒΑΙΝΩ ΣΩΣΤΑ ΔΕΝ ΕΧΕΙΣ ΟΥΣΙΑΣΤΙΚΑ ΚΑΝΕΝΑ ΥΠΟΛΟΓΙΣΜΟ ΓΙΑΤΙ ΤΑ Χ ΚΑΙ Υ ΣΙΓΟΥΡΑ ΔΕΝ ΜΠΟΡΟΥΝ ΝΑ ΑΦΟΡΟΥΝ ΤΗΝ ΕΞΟΔΟ. ΔΕΝ ΜΠΟΡΕΙΣ ΝΑ ΕΧΕΙΣ ΔΙΠΛΗ ΕΞΟΔΟ ΣΤΗΝ ΣΥΝΑΡΤΗΣΗ!! ΔΕΝ ΚΑΤΑΝΟΩ ΤΗΝ ΛΟΓΙΚΗ ΤΟΥ ΠΑΡΑΔΕΙΓΜΑΤΟΣ ΣΟΥ. ΠΕΣ ΜΟΥ ΕΤΣΙ ΠΟΥ ΤΟ ΓΡΑΦΕΙΣ ΤΙ ΤΙΜΗ ΕΧΕΙ ΤΟ Υ?
Ευχαριστώ,

mbathas

  • Βετεράνος
  • ****
  • Μηνύματα: 88
    • blogs.sch.gr/mbathas
Re: ΕΡΩΤΗΣΕΙΣ ΣΧΕΤΙΚΑ ΜΕ ΠΑΡΑΜΕΤΡΟΥΣ
« Απάντηση #2 στις: 19 Απρ 2004, 12:09:36 μμ »
ΦΙΛΗ xaidi,
ΣΤΗ ΣΥΝΑΡΤΗΣΗ ΠΟΥ ΕΓΡΑΨΑ ΠΡΟΧΕΙΡΑ ΕΧΩ ΒΑΛΕΙ ΤΕΛΙΤΣΕΣ ΧΑΡΙΝ ΣΥΝΤΟΜΙΑΣ...ΕΝΝΟΕΙΤΑΙ ΟΤΙ ΟΤΙ ΚΑΠΟΥ ΥΠΑΡΧΕΙ ΕΝΤΟΛΗ ΕΚΧΩΡΗΣΗΣ ΤΙΜΗΣ ΣΤΟ ΟΝΟΜΑ ΤΗΣ ΣΥΝΑΡΤΗΣΗΣ.ΤΟ ΘΕΜΑ ΠΟΥ ΘΕΛΩ ΝΑ ΞΕΚΑΘΑΡΙΣΩ ΕΙΝΑΙ ΤΟ ΕΞΗΣ:ΣΕ ΜΙΑ ΣΥΝΑΡΤΗΣΗ AN  ΤΡΟΠΟΠΟΙΗΘΟΥΝ ΟΙ ΠΑΡΑΜΕΤΡΟΙ ΕΙΣΟΔΟΥ ΟΙ ΑΛΛΑΓΕΣ ΑΥΤΕΣ ΔΕΝ ΕΠΙΣΤΡΕΦΟΥΝ ΣΤΟ ΚΥΡΙΩΣ ΠΡΟΓΡΑΜΜΑ ΚΑΘΩΣ Η ΣΥΝΑΡΤΗΣΗ ΕΠΙΣΤΡΕΦΕΙ ΜΟΝΟ ΜΙΑ ΤΙΜΗ ΜΕ ΤΟ ΟΝΟΜΑ ΤΗΣ , ΣΥΜΦΩΝΕΙΣ?
Μιχάλης Μπάθας
Μηχανικός Η/Υ Συστημάτων
Καθηγητής Πληροφορικής

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 5658
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Re: ΕΡΩΤΗΣΕΙΣ ΣΧΕΤΙΚΑ ΜΕ ΠΑΡΑΜΕΤΡΟΥΣ
« Απάντηση #3 στις: 19 Απρ 2004, 12:48:42 μμ »
Χρόνια πολλά σε όλους,
στο ψητό: στον Διερμηνευτή αυτή τη στιγμή οι συναρτήσεις συμπεριφέρονται όπως και οι διαδικασίες, δηλαδή αν αλλάξει τιμή σε μία παράμετρο και ΑΝ αυτή μπορεί να επιστραφεί στο κυρίως πρόγραμμα (δηλαδή η πραγματική παράμετρος ήταν μεταβλητή) τότε ΕΠΙΣΤΡΕΦΕΤΑΙ. Μετά όμως από αντίθετες παρατηρήσεις πολλών συναδέλφων διάβασα προσεκτικά το βιβλίο + τετράδιο μαθητή και του καθηγητή, και τα προσωπικά μου συμπεράσματα είναι:
  • Πουθενά δεν υπάρχει παράδειγμα συνάρτησης στο οποίο να γίνεται αλλαγή σε κάποια μεταβλητή της. Καλύτερα λοιπόν να ακολουθούμε το ίδιο σκεπτικό και να μην φτιάχνουμε συναρτήσεις οι οποίες να αλλάζουν την τιμή των παραμέτρων. Όταν χρειάζεται κάτι σχετικό μπορούμε να χρησιμοποιούμε προσωρινές μεταβλητές.
  • Για το τυπικό της υπόθεσης, σε πάρα πολλά σημεία αναφέρει ότι οι συναρτήσεις μπορούν να επιστρέφουν μόνο μία τιμή. Π.χ. σελίδες 210, 211, 227 του βιβλίου μαθητή αλλά και στο τετράδιο μαθητή έχει ακριβώς την συγκεκριμένη ερώτηση για homework. Ακόμα στην σελίδα 213 του βιβλίου μαθητή λέει ότι οι τιμές της λίστας παραμέτρων στις συναρτήσεις ΜΕΤΑΒΙΒΑΖΕΤΑΙ στην συνάρτηση, ενώ στις διαδικασίας λέει ότι ΜΕΤΑΒΙΒΑΖΟΝΤΑΙ Η/ΚΑΙ ΕΠΙΣΤΡΕΦΟΝΤΑΙ. Όλα αυτά είναι «έμμεσα», νομίζω όμως ότι δεν αφήνουν αμφιβολίες για το πνεύμα του βιβλίου σχετικά με την μεταβίβαση παραμέτρων σε συναρτήσεις.
  • Βέβαια καμία από τις γνωστές γλώσσες προγραμματισμού δεν κάνει κάτι παρόμοιο, και δεν είναι λογικό να περνιέται π.χ. ένας πίνακας 1000 θέσεων με τιμή. Για παράδειγμα αν φτιάχναμε μια αναδρομική συνάρτηση Μέγιστος η οποία να επιστρέφει τον μεγαλύτερο ενός πίνακα, ακόμα και αν την καλούσαμε με σχετικά μικρά μεγέθη πινάκων θα εξαντούταν η διαθέσιμη RAM του υπολογιστή.

Εν τέλει εγώ συμφωνώ με τον συνάδελφο mbathas, θα αλλάξω την υλοποίηση των συναρτήσεων στην επόμενη έκδοση του Διερμηνευτή.

(Υ.Γ. στα forum τα ΚΕΦΑΛΑΙΑ είναι όταν «φωνάζει» κάποιος, καλύτερα να μην γίνεται κατάχρηση).

xaidi

  • Ομάδα διαγωνισμάτων 2009
  • *
  • Μηνύματα: 111
  • who is WHO!!!!!!
Re: ΕΡΩΤΗΣΕΙΣ ΣΧΕΤΙΚΑ ΜΕ ΠΑΡΑΜΕΤΡΟΥΣ
« Απάντηση #4 στις: 19 Απρ 2004, 01:17:26 μμ »
συμφωνώ! η συνάρτηση επιστρέφει μόνο μια τιμή στο όνομα και οι αλλαγές των παραμέτρων εισόδου αν έδιναν δεν μεταβιβάζονται στο κυρίως πρόγραμμα
Αυτό για τα κεφαλαία δεν το ήξερα. αλλά επειδή ταυτόχρονα δουλεύω και στο pc άλλα πράγματα δεν πρόσεχα τις αλλάγές.  :-[
Ευχαριστώ,

P.Tsiotakis

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3304
  • agent romanoff you miss me?
    • P.Tsiotakis
Re: ΕΡΩΤΗΣΕΙΣ ΣΧΕΤΙΚΑ ΜΕ ΠΑΡΑΜΕΤΡΟΥΣ
« Απάντηση #5 στις: 19 Απρ 2004, 01:40:22 μμ »
Αγαπητέ mbathas,

Τα έθεσες πολύ όμορφα στην πρώτη σου τοποθέτηση και συμφωνώ απολύτως. Ο Άλκης απλά είπε οτι αφού δεν επιστρέφεται η τροποποιημένη τιμή των παραμέτρων συναρτήσεων τότε ΑΣ ΜΗΝ ΤΙΣ ΤΡΟΠΟΠΟΙΟΥΜΕ ώστε να μην αναδεικνύουμε το κενό αυτό. Και λέω κενό γιατί καθόμαστε να διαβάσουμε όλα τα παραδείγματα του βιβλίου για να δούμε πως συμπεριφέρονται οι συναρτήσεις ενώ θα έπρεπε η θεωρία να ξεκαθαρίζει όλα τα προβλήματα...

Δηλαδή, αυτό που έγραψες στο παράδειγμα της συνάρτησης είναι σωστό αλλά ας το αποφεύγουμε

Αν είδατε σέ άλλη θεματική ενότητα, δημοσιεύματα θέλουν το μάθημα να κόβεται, οπότε ας μελετήσουμε ακόμη περισσότερο το βιβλίο γιατί μετά θα μελετάμε την Χημεία...

Με εκτίμηση,