Εντόλες Εισόδου σε συνάρτηση

Ξεκίνησε από evry, 19 Απρ 2007, 06:45:54 ΜΜ

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

evry


Το πρόβλημα είναι ότι όπως ανέφερα μερικά μηνύματα και 2 χρόνια πριν στο ίδιο Thread είχαν το θράσος να βάλουν τέτοια ερώτηση στις εξετάσεις σαν σωστό λάθος!!!
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

P.Tsiotakis

Είχαν το "θράσος" να βάλουν άσκηση απο το τετράδιο μαθητή!

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

Μπορούμε να συζητάμε ξανά και ξανά για τις διαδικασίες/συναρτήσεις, για το αν η Για είναι προσανατολισμένη για σταθερό πλήθος επαναλήψεων ή όχι, για τη στατικότητα ή όχι των πινάκων και της ουράς/στοίβας, αλλά αυτό δε σημαίνει οτι δε θα έπρεπε

να έχει διαμορφωθεί κοινή στάση για αυτά μετά απο ΔΕΚΑ χρόνια διδασκαλίας του μαθήματος.

evry


  Δεν μπορούν να βάζουν ένα θέμα για το οποίο οι μισοί καθηγητές έχουν άλλη άποψη από τους άλλους μισούς (άρα τις έχουν μεταφέρει και στους μαθητές τους) και για το οποίο ακόμα και το βιβλίο καθηγητή είχε λάθος απάντηση.
  Αυτό για μένα σημαίνει 2 πράγματα, ή θράσος ή πλήρη άγνοια του μαθήματος.

Μακάρι μετά από 10 χρόνια να έχει διαμορφωθεί κοινή στάση διδασκαλίας. Παρεπιπτόντως αυτό δεν θα έπρεπε να ξεκινήσει από τους σχολικούς συμβούλους? Φαντάζομαι ότι μια εισήγηση από αυτούς θα ληφθεί πολύ πιο σοβαρά από το υπουργείο από ότι από εμάς.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

lp

Το ότι συζητάμε για ένα πολύ σημαντικό θέμα της θεωρίας δεν νομίζω να είναι λάθος και δεν νομίζω ότι επειδή συζητήθηκε πριν 2 χρόνια δεν πρέπει να το συζητήσουμε ξανά. Απλά μου κάνει εντύπωση ότι ενώ πρέπει να μάθουν τα παιδιά μέσω του μαθήματος κάτι γενικό σχετικά με τον προγραμματισμό πάνε και ειδικεύουν τόσο πολύ τις συναρτήσεις. Φυσικά μπορούμε όλοι να δεχτούμε το βιβλίο και να μην ξαναμιλήσουμε για οποιοδήποτε πιθανό λάθος.
Λέων Προκόπης
2ο ΓΕΛ Ναυπλίου

P.Tsiotakis

Δεν βλέπω τίποτα το ειδικό στις συναρτήσεις.

Δέχονται τιμές, κάνουν υπολογισμούς, επιστρέφουν ΜΙΑ τιμή.

Η παραπάνω απο αυτό συζήτηση είναι η περιττή εξειδίκευση, σε αυτό συμφωνούμε.

gpapargi

Εδώ που φτάσαμε... καλύτερα να το πάμε το θέμα μέχρι τέλους.

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

ΠΡΟΓΡΑΜΜΑ είσοδος
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: χ, dummy1
ΑΡΧΗ
  χ <- συν_εισόδου(dummy1)
  ΓΡΑΨΕ χ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΣΥΝΑΡΤΗΣΗ συν_εισόδου(dummy2): ΑΚΕΡΑΙΑ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ψ, dummy2
ΑΡΧΗ
  ΚΑΛΕΣΕ Ανάγνωση (ψ)
  συν_εισόδου <- ψ
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

ΔΙΑΔΙΚΑΣΙΑ Ανάγνωση (α)
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: α
ΑΡΧΗ
  ΔΙΑΒΑΣΕ α
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

Το βιβλίο επιτρέπει την κλήση υποπρογράμματος από άλλο υποπρόγραμμα χωρίς να θέτει περιορισμούς; Που είναι το λάθος;

Αν δεν υπάρχει λάθος τότε υπάρχει πρόβλημα στη νοοτροπία της συνάρτησης. Υποτίθεται είναι για να κάνει απλώς υπολογισμούς και να γυρίζει τιμή και όχι για είσοδο/έξοδο. Εδώ όμως χαλάω αυτή τη νοοτροπία.

Αν θέλουμε να έχουμε συνεπείς απόψεις που να δένουν μεταξύ τους υπάρχουν 2 λύσεις:

1) Να απαγορευτεί η "Διάβασε" η "Γράψε" μέσα σε συνάρτηση αλλά και η κλήση άλλης διαδικασίας. Μόνο συναρτήσεις πρέπει να καλεί η συνάρτηση.
2) Να επιτρέπονται όλα και η είσοδος μέσα σε συνάρτηση.

Διαφορετικά κόβουμε κάτι αλλά επιτρέπουμε κάτι άλλο με την ίδια νοοτροπία.

P.Tsiotakis

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

gpapargi

Δε διαφωνώ στο θέμα της φιλοσοφίας. Όμως άλλο πράγμα είναι να λέμε ότι κάτι δεν γίνεται και άλλο πράγμα να λέμε ότι γίνεται αλλά είναι κακή τεχνική.
Το θέμα των εξετάσεων ρώταγε αν γίνεται ή όχι. 

Καρκαμάνης Γεώργιος

Παράθεση από: gpapargi στις 03 Μαρ 2009, 03:14:50 ΜΜ
Δε διαφωνώ στο θέμα της φιλοσοφίας. Όμως άλλο πράγμα είναι να λέμε ότι κάτι δεν γίνεται και άλλο πράγμα να λέμε ότι γίνεται αλλά είναι κακή τεχνική.
Το θέμα των εξετάσεων ρώταγε αν γίνεται ή όχι.
Γιώργο στο παράδειγμα που αναφέρεις δεν βλέπω κάποια λανθασμένη φιλοσοφία καθώς χρησιμοποιείς  δυο ιδιαιτερότητες μαζί: δεν έχεις εντολή ΔΙΑΒΑΣΕ ή ΓΡΑΨΕ μέσα στην συνάρτηση και επίσης καλής ένα άλλο υποπρόγραμμα. Άρα ικανοποιήσεις όλα όσα αναφέρει το βιβλίο.

Το θέμα των εξετάσεων ρωτούσε εάν γίνεται το διάβασμα (μάλλον με άμεσο τρόπο) δηλαδή να υπάρχει εντολή ΔΙΑΒΑΣΕ μέσα στην συνάρτηση χωρίς να προέρχεται από κλήση άλλου υποπρογράμματος.

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

ntzios kostas

Καλημέρα συνάδελφοι,

Αν έχουμε μία συνάρτηση f(x,y) σημαίνει ότι η τιμή της ποσότητας f είναι συναρτήσει των παραμέτρων x και y και αν δώσουμε τιμές στο x και στο y τότε μπορούμε να μάθουμε και την f, αν βεβαία ο τύπος της είναι γνωστός. Όταν λέμε τύπο μπορούμε να πούμε τον μαθηματικό τύπο και εμείς στον προγραμματισμό τις εντολές της. Αν, λοιπόν μέσα στις εντολές υπάρχει και η εντολή διάβασε τότε η τιμή της f δεν είναι συναρτήσει μόνο αυτών των παραμέτρων, αλλά και άλλων που δεν έχουμε βάλει στην παρένθεση. 

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

Με αυτό το σκεπτικό θα μπορούσε μία συνάρτηση να καλεί διαδικασία, αλλά αυτή να μην περιέχει διάβασε. Γιατί τότε έμμεσα το περιέχει η συνάρτηση.

Και πάλι καλημέρα.
Το μάθημα Ανάπτυξη Εφαρμογών δεν έχει σαν στόχο την εκμάθηση κάποιου συγκεκριμένου προγραμματιστικού περιβάλλοντος ούτε την καλλιέργεια προγραμματιστικών δεξιοτήτων από τη μεριά των μαθητών. Δεν αποσκοπεί στη λεπτομερειακή εξέταση της δομής, του ρεπερτορίου και των συντακτικων κανόνων κάποιας γλώσσας...

gpapargi

Παράθεση από: ntzios kostas στις 04 Μαρ 2009, 10:11:47 ΠΜ
Αν υπάρχει τώρα το διάβασε μέσα στη συνάρτηση δεν είναι συντακτικό λάθος, δεν θα μπορούσα να το πω και λογικό λάθος. Θα το έλεγα ένα λάθος που μου χαλάει την έννοια συνάρτησης.

Με αυτό το σκεπτικό θα μπορούσε μία συνάρτηση να καλεί διαδικασία, αλλά αυτή να μην περιέχει διάβασε. Γιατί τότε έμμεσα το περιέχει η συνάρτηση.

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

Πως φαίνεται από τη σκοπιά αυτού που φτιάχνει το κυρίως πρόγραμμα το παράδειγμα που ανέφερα; Απλά καλεί μια συνάρτηση που κάνει είσοδο. Η συνάρτηση για αυτόν είναι μαύρο κουτί. Δεν τον ενδιαφέρει τι κάνει μέσα (αν έχει Διάβασε ή καλεί διαδικασία που περιέχει Διάβασε). Αυτός λοιπόν απλά καλεί μια συνάρτηση η οποία κάνει είσοδο.
Άρα υπάρχει λάθος στη φιλοσοφία.

Αν λοιπόν θέλουμε να ορίσουμε το συντακτικό έτσι ώστε να έρχεται σε συμφωνία με τη φιλοσοφία «Οι συναρτήσεις κάνουν μόνο υπολογισμούς και όχι είσοδο έξοδο» θα πρέπει να έχουμε ένα ενιαίο συντακτικό κανόνα που να κόβει όχι μόνο την άμεση χρήση Διάβασε/Γράψε, αλλά και τις διαδικασίες που περιέχουν είσοδο έξοδο.

Καρκαμάνης Γεώργιος

Πρώτα πρέπει εμείς να συμφωνήσουμε ότι δεν χρησιμοποιείται η εντολή ΔΙΑΒΑΣΕ ή η εντολή ΓΡΑΨΕ μέσα στην συνάρτηση καθώς και ότι δεν είναι σωστό μια συνάρτηση να καλεί μια διαδικασία που περιέχει τις παραπάνω εντολές.

Αυτό θα βοηθήσει να έχουμε μια κοινή γραμμή και μια κοινή στάση στο όλο ζήτημα.

Στην συνέχεια θα πρέπει να περάσουμε και το παραπάνω "μήνυμα" στους μαθητές