Παράμετροι Συνάρτησης

Ξεκίνησε από xara_pap, 02 Μαΐου 2010, 04:53:38 ΜΜ

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

xara_pap

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

Τη γνώμη μου αυτή επίσης πιστεύω την ενισχύει το σχολικό βιβλίο στο κεφάλαιο 2 που αναφέρει τα κριτήρια αλγορίθμου που στο είσοδος αναφέρει ¨" καμία, μία ή πολλές τιμές μπορούν να χρησιμοποιηθούν ως είσοδο στον αλγόριθμο" και αναφέρει κάτι και για τις συναρτήσεις rand().

Ευχαριστώ.

zwoula

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

tom

Μεγάλη πληγή ξύσατε... ;D

Δεν υπάρχει ξεκάθαρη απάντηση στο σχολικό, οπότε μιλάμε για ασάφεια.

Δείτε αυτή τη συζήτηση:

https://alkisg.mysch.gr/steki/index.php?topic=1839.0
Θωμάς Σκυλογιάννης

- Ζήσε σα να' ταν να πεθάνεις αύριο. Μάθε σα να' ταν να ζεις για πάντα.
                                                                                     Μαχάτμα Γκάντι

zwoula

ειχα την ιδια απορια και ρωτησα τον καθηγητη μου και μου ειπε οτι σε ερωτηση σωστου-λαθους θα εχω στο νου μου πως η λιστα παραμετρων ΜΠΟΡΕΙ να ειναι κενη.τον εμπιστευομαι απολυτα!
Κάποτε είχαμε χρόνο για τον εαυτό μας.
Σήμερα δεν έχουμε χρόνο για κανένα....
Αυτό το «Κάποτε», το έλεγαν ζωή..

tom

Παράθεση από: zwoula στις 02 Μαΐου 2010, 05:22:33 ΜΜ
ειχα την ιδια απορια και ρωτησα τον καθηγητη μου και μου ειπε οτι σε ερωτηση σωστου-λαθους θα εχω στο νου μου πως η λιστα παραμετρων ΜΠΟΡΕΙ να ειναι κενη.τον εμπιστευομαι απολυτα!

Καταλαβαίνω ότι μάλλον δίνεις πανελλήνιες, οπότε σέβομαι την ανάγκη σου να εμπιστεύεσαι κάποιον απόλυτα, ειδικά αυτές τις ώρες. Παρ' όλα αυτά πάντα στη ζωή σου πρέπει να το ψάχνεις και να μην εμπιστεύεσαι κανέναν απόλυτα!

Υ.Γ. Αν ο καθηγητής σου είναι μέλος της συγγραφικής ομάδας no problem  ;)
Θωμάς Σκυλογιάννης

- Ζήσε σα να' ταν να πεθάνεις αύριο. Μάθε σα να' ταν να ζεις για πάντα.
                                                                                     Μαχάτμα Γκάντι

zwoula

δεν ειναι μελος της συγγραφικης ομαδας αλλα ευτυχως ειναι ανθρωπος που εχει ανοιχτο μυαλο και ψαχνετε γενικως.οποτε  ξερω πως οτι και να μου πει το εχει ψαξει αρκετα για να μου απαντησει!
Κάποτε είχαμε χρόνο για τον εαυτό μας.
Σήμερα δεν έχουμε χρόνο για κανένα....
Αυτό το «Κάποτε», το έλεγαν ζωή..

tom

Μπορείς να σκεφτείς κάποιο παράδειγμα χρήσης συνάρτησης χωρίς παραμέτρους;
Θωμάς Σκυλογιάννης

- Ζήσε σα να' ταν να πεθάνεις αύριο. Μάθε σα να' ταν να ζεις για πάντα.
                                                                                     Μαχάτμα Γκάντι

zwoula

Μια σταθερη συναρτηση δεν εχει λογους υπαρξης παραμετρων....
Κάποτε είχαμε χρόνο για τον εαυτό μας.
Σήμερα δεν έχουμε χρόνο για κανένα....
Αυτό το «Κάποτε», το έλεγαν ζωή..

xara_pap

Σίγουρα όσοι από εμάς δεν είμαστε μαθητές ξέρουμε ότι μπορούμε να έχουμε συνάρτηση χωρίς είσοδο. Για παραδειγμα η συνάρτηση rand() σε όλες τις γλώσσες προγραμματισμού παραέγι ψευδοτυχαίες τιμές σε διάστημα 0-1. Συγκεκριμένα επίσης το βιβλίο αναφέρει ότι υπάρχουν αυτές οι συναρτήσεις. Τώρα αν φτιάξω μία συνάρτηση με λίστα παραμέτρων κενή, σίγουρα θα επιστρέφει πάντα μία σταθερή τιμή. Αυτό είναι μεν pointless, αλλά δεν είναι λάθος.

Ο κυριος Τσιωτάκης μου απάντησε σε προσωπικό mail ότι πρόκειται για ασάφεια του βιβλίου άρα ας θεωρήσουμε ότι αυτό δεν πρόκειται να ζητηθεί.

Εγώ πάντως στους μαθητές μου είπα ότι και η συνάρτηση και η διαδικασία μπορεί να είναι με κενή λίστα παραμέτρων. Για τη διαδικασία το αναφέρει ξεκάθαρα και το βιβλίο για τη συνάρτηση όχι.
Ο θεός βοηθός να μην ζητηθεί!

evry

Τα πράγματα δεν είναι τόσο απλά. Μια συνάρτηση που δεν έχει παραμέτρους δεν έχει είσοδο, άρα υλοποιεί κάποιον αλγόριθμο?
Δηλαδή κάθε φορά που θα την καλούμε θα μας επιστρέφει το ίδιο?
Η συνάρτηση δεν μπορει να έχει είσοδο από πουθενά αλλού παρά μόνο από τη λίστα παραμέτρων.
Αυτός είναι και ο λόγος που η διαδικασία μπορεί να έχει κενή λίστα παραμέτρων, διότι εκεί η είσοδος και η έξοδος μπορούν να γίνουν με εντολές ΓΡΑΨΕ/ΔΙΑΒΑΣΕ που απαγορεύονται στη Συνάρτηση.

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

Επίσης δεν κατάλαβα τι είναι η σταθερή συνάρτηση στον προγραμματισμό και τι νόημα έχει. Δεν μπορούμε αντί για συνάρτηση να χρησιμοποιήσουμε μια ΣΤΑΘΕΡΑ ;

Πάντως και εγώ πιστεύω ότι το σημείο αυτό είναι αρκετά ασαφές ώστε να μην ζητηθεί στις εξετάσεις :)

@xara_pap
Η συνάρτηση rand που αναφέρεις είσαι σίγουρη ότι δεν έχει είσοδο? δεν έχει κάποιο seed?
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

tom

Παράθεση από: evry στις 02 Μαΐου 2010, 06:56:48 ΜΜ
@xara_pap
Η συνάρτηση rand που αναφέρεις είσαι σίγουρη ότι δεν έχει είσοδο? δεν έχει κάποιο seed?
Φυσικά και πρέπει να έχει seed, το οποίο καθορίζει το εύρος τιμών κλπ.

Στα υπόλοιπα συμφωνώ με τον evry.
Θωμάς Σκυλογιάννης

- Ζήσε σα να' ταν να πεθάνεις αύριο. Μάθε σα να' ταν να ζεις για πάντα.
                                                                                     Μαχάτμα Γκάντι

xara_pap

seed αν δεν έχουμε ορίσει νομίζω παίρνει το current date. Ομως νομίζω ότι μιας και μιλάμε για ΑΕΠΠ στο 2 κεφάλαιο μας λέει ότι καμία, μία και πολλές τιμές μπορούν να χρησιμοποιηθούν ως είσοδος στον αλγόριθμο όπως για παραγωγή ψευδοτυχαίων αριθμών. Βασισμένη σε αυτό απάντησα στους μαθητές ότι έτσι μπορεί και η συνάρτηση να μην πάρει έισοδο. Γιατί όπως και ο αλγοριθμος- πρόγραμμα είναι pointless να μην έχει είσοδο, έτσι και η συνάρτηση μπορεί να μην έχει είσοδο και να επιστρέφει πάντα μία σταθερή τιμή, χωρίς να σημαίνει ότι είναι λάθος.
Εύχομαι μόνο να μην ζητηθεί γιατί είναι λίγο το να ξεχωρίσουμε το "λάθος" και χωρίς λόγο.

evry

Ακριβώς, οπότε σε αυτή την περίπτωση καλεί την τρέχουσα ημερομηνία/ώρα το οποίο στις συναρτήσεις της ΓΛΩΣΣΑΣ δε μου φαίνεται και πολύ επιτρεπτό. Αφού δεν μπορούμε να έχουμε εντολές ΓΡΑΨΕ/ΔΙΑΒΑΣΕ λογικά δεν θα έχουμε και οποιαδήποτε άλλη εντολή θεωρείται είσοδος. Δηλαδή στην συνάρτηση οποιαδήποτε είσοδος πρέπει να φαίνεται στη λίστα παραμέτρων.
  Αυτό φυσικά είναι το ένα σκεπτικό και υπάρχει και αντίλογος.
Τες πα συμφωνούμε νομίζω ότι το θέμα δεν είναι ξεκάθαρο και δεν μπορούμε να είμαστε απόλυτοι προς τη μια ή την άλλη άποψη.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

gthal

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

evry

Θα σου πω που στηρίζεται.
Στη σελίδα 208 όπου αναφέρονται οι ιδιότητες των υποπρογραμμάτων λέει :
Κάθε υποπρόγραμμα έχει μόνο μια είσοδο και μόνο μια έξοδο
Προφανώς δεν εννοεί ότι έχει μόνο μια παράμετρο σαν είσοδο αλλά ότι η είσοδος γίνεται από ένα συγκεκριμένο σημείο στην αρχή.
Από αυτό μπορούμε να εξάγουμε ότι κάθε υποπρόγραμμα έχει σίγουρα κάποια είσοδο?
Αυτό σε συνδιασμό με το γεγονός ότι μια συνάρτηση έχει είσοδο μόνο από τη λίστα των παραμέτρων και από πουθενά αλλού μπορεί να μας οδηγήσει στο συμπέρασμα ότι δεν μπορούμε να έχουμε κενή λίστα παραμέτρων στις συναρτήσεις.

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

Σας επείσα :-\
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

gthal

Εμένα πάντως με πείθει η τελευταία σου παράγραφος. Μάλλον αυτό είναι.

Ένα άλλο επιχείρημα είναι ότι, αφού οι συναρτήσεις είναι σαν μαθηματικές συναρτήσεις (αυτό το λέει το βιβλίο),
τότε παίρνουν πάντα ένα τουλάχιστον όρισμα - δεν υπάρχει μαθηματική συνάρτηση χωρίς όρισμα, ακόμα και η σταθερή. πχ  f(x)=10, για κάθε x "υπολογίζει" και επιστρέφει την τιμή 10.

Αλλά, περίεργο, νόμιζα ότι το έλεγε κάπου ρητά και δεν χρειαζόταν να επιχειρηματολογούμε. Φτου ...  :-\
Φιλικά,
Γιώργος Θαλασσινός