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

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

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

evry


  Με αφορμή το δημοψήφισμα που έβγαλε ο Άλκης για τις εντολές εισόδου/εξόδου μέσα σε συνάρτηση θυμήθηκα μια άσκηση στο τετράδιο μαθητή που λέει (σελίδα 109 Τετράδιο Μαθητή)


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

Α) Εισαγωγή τριών δεδομένων
Β) Εισαγωγή ενός δεδομένου

Στο βιβλίο καθηγητή στη σελίδα 203 δίνει τις παρακάτω απαντήσεις

Α) Διαδικασία
Β) Συνάρτηση

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

Το ερώτημα λοιπόν είναι τι λέμε στους μαθητές μας; Διαδικασία ή Συνάρτηση;

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

petrosp13

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

evry


Το θέμα δεν το έθεσα υπό τη σκοπιά τι είναι σωστό από ακαδημαϊκή πλευρά, αλλά με βάση το άγχος που έχουν οι μαθητές για τις εξετάσεις. Δηλαδή ο μαθητής δεν θα καταλάβει τίποτα για ευελιξία περί προγραμματισμού, θα σε ρωτήσει "αν πέσει αυτή η ερώτηση στις εξετάσεις" (κλασσική δυστυχώς ατάκα) εγώ τι θα απαντήσω; Και περιμένει από σένα μια υπεύθυνη απάντηση. Γιατί δε νομίζω ότι ο βαθμολογητής που ενδεχομένως να μην έχει γράψει ούτε μια γραμμή κώδικα στη ζωή του, θα αξιολογήσει την ελευθερία του μαθητή να επιλέξει.
    Θα κοιτάξει τις απαντήσεις που του έχει δώσει ο επόπτης και το μόνο που θα αξιολογεί θα είναι τα Σ και τα Λ .
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Laertis

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

Οπότε για να απαντήσω στο ερώτημά σου. Στους μαθητές λέω Διαδικασία όταν θέλουν να κάνουν χρήση της Διάβασε. Γιατί ; ...γιατί έτσι κάνει το βιβλίο.

Απορία. Δεν έχω καταλάβει κάτι ή κάτι μου διαφεύγει στη σκέψη. Θεωρητικά το βιβλίο υπονοεί ότι εισαγωγή ενός δεδομένου επιτρέπεται σε Συνάρτηση (ΔΤ1. Β όπως εύστοχα παρατήρησε ο Ευρυπίδης) όταν ταυτόχρονα επιστρέφεται η ίδια εισηγμένη τιμή, ή μια άλλη που μπορεί να υπολογίζεται παρακάτω;
Γιατί αν επιτρέπεται να επιστρέφεται άλλη τιμή απο την εισηγμένη, γιατί στο ερώτημα της εισαγωγής 3 δεδομένων (ΔΤ1. Α) απαγορεύει τη Συνάρτηση ;  Επιτρέπεται να εισάγω 1 αλλά όχι παραπάνω δεδομένα ; Μα αυτό ισχύει για την έξοδο της Συνάρτησης.

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


Νικολακάκης Γιώργος
Μηχανικός Η/Υ Συστημάτων
Καθηγητής Πληροφορικής
http://users.sch.gr/gnikola

Vangelis

Στην κλασική ερώτηση "αν θα πέσει αυτή η ερώτηση τι απαντάω" απαντάμε και εμείς με την "κλασική" απάντηση "Δεν πέφτουν τέτοιες αμφίσημες ερωτήσεις".  Ας έχουμε λίγη εμπιστοσύνη σε 4-5 έμπειρους συναδέλφους που  έχουν διδάξει για πολλά χρόνια το μάθημα και επιλέγουν τα θέματα. Τώρα αν υπάρχουν βαθμολογητές που δεν έχουν γράψει γραμμή κώδικα είναι  μια άλλη (συχνά πικρή) ιστορία.  Είναι σίγουρο όμως ότι έχουν διδάξει το μάθημα άρα τουλάχιστον (στη χειρότερη περίπτωση) έχουν διαβάσει το βιβλίο του μαθητή. Συνεπώς συμφωνώ με τον Laerti - ακολουθούμε τον ποιό κοινό δρόμο και δεν πειραματιζόμαστε.
Το  ανωτέρω πρόβλημα των συναδέλφων δεν επηρεάζει τόσο τις ερωτησεις τυποποιημένης απάντησης ή σωστού - λάθους γιατί εκεί υπάρχει επίσημος  "μπούσουλας" όσο στην κατανόηση λύσεων που ξεφεύγουν απο τα τυποποιημένα (κυρίως στο 3ο - 4ο θέμα).

evry


  Βαγγέλη δε μπορούμε να απαντήσουμε πλέον "δεν πέφτουν τέτοια θέματα" γιατί το θέμα αυτό έπεσε πέρυσι. Για αυτό ακριβώς το πόσταρα τότε πριν τις εξετάσεις στο στέκι, γιατί επειδή ήταν άσκηση στο τετράδιο μαθητή φοβήθηκα ότι θα πέσει. Φυσικά το έβαλαν με λίγο διαφορετική μορφή. Υπήρχε μόνο το "Εισαγωγή ενός δεδομένου" και όχι των 3 δεδομένων. Έλα όμως που στο βιβλίο καθηγητή η σωστή απάντηση ήταν συνάρτηση. Υπήρχε φυσικά διόρθωση που έλεγε διαδικασία αλλά πόσοι καθηγητές ήξεραν για αυτή την διόρθωση και πόσοι το είπαν στα παιδιά ή πόσοι το είπαν λάθος στηριζόμενοι στο μη διορθωμένο βιβλίο καθηγητή. Προσωπικά πιστεύω ότι το συγκεκριμένο ήταν φάουλ της επιτροπής.
Στο δικό μου βαθμολογικό συμφωνήσαμε με τον επόπτη να μην μετρήσουμε την απάντηση για τους παραπάνω λόγους, δηλαδή ότι και να απάνταγαν οι μαθητές το παίρναμε σωστό.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

klitos

Εισαγωγή δεδομένων = ΔΙΑΔΙΚΑΣΙΑ
Επειδή εχει ενα λάθος στο βιβλίο του καθηγητή πρεπει να ταλαιπωρουμαστε ?

κλητος χατζηγεωργιου

lp

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

Συνάρτηση Διάβασε_Βαθμό(): Ακέραια  ! Ουσιαστικά η συνάρτηση διαβάζει και κάνει έλεγχο τιμών

Μεταβλητές
    Ακέραιες: Βαθμός

Αρχή
   
    Αρχή_Επανάληψης
        Διάβασε Βαθμός
    Μέχρις_Οτου Βαθμός > 0 και Βαθμός <= 20 

   Διάβασε_Βαθμό <-- Βαθμός

Τέλος_Συνάρτησης


και στο κύριο πρόγραμμα καλούμε ως εξής

    β <-- Διάβασε_Βαθμό()
Λέων Προκόπης
2ο ΓΕΛ Ναυπλίου

P.Tsiotakis

OXI, μια συνάρτηση ΔΕΝ επικοινωνεί με το χρήστη (με εντολές εισόδου εξόδου). Όπως και οι ενσωματωμένες συναρτήσεις της ΓΛΩΣΣΑΣ δέχεται τιμές, υπολογίζει και επιστρέφει μόνο μια τιμή.

lykos

Παράθεση
Επειδή εχει ενα λάθος στο βιβλίο του καθηγητή πρεπει να ταλαιπωρουμαστε ?

Ένα έχει??
Αν αυτό είναι βιβλίο για να διδάξουμε Αλγορίθμους - και Προγραμματισμό ! -,
εγώ είμαι ...
Αυτοί που το έγραψαν/έλεγξαν/αξιολόγησαν/... και οι άλλοι, που δεν κάνουν τον κόπο να το αλλάξουν, λέτε να είχαν/έχουν σαν πρώτιστο σκοπό το: "Να μάθουν τα παιδιά μας γράμματα"?  Ή σταναχωριούνται όπως εμείς?

Μόνο εμείς, συζητάμε -έστω- για το "φταίξιμό" μας...  (βλ. θέμα "ΕΛΕΟΣ")

Δε λέω άλλα... Καλό βράδυ!

Βασίλης Λυκοστράτης

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

Παράθεση από: evry στις 06 Μαΐου 2008, 08:14:21 ΜΜ

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

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

Παράθεση από: ggfiogos στις 26 Φεβ 2009, 10:11:18 ΠΜ
Επανέρχομαι στο θέμα της συνάρτησης και της εισαγωγής. Δεν είναι σωστός αυτός ο κώδικας:

Συνάρτηση Διάβασε_Βαθμό(): Ακέραια  ! Ουσιαστικά η συνάρτηση διαβάζει και κάνει έλεγχο τιμών

Μεταβλητές
    Ακέραιες: Βαθμός

Αρχή
   
    Αρχή_Επανάληψης
        Διάβασε Βαθμός
    Μέχρις_Οτου Βαθμός > 0 και Βαθμός <= 20 

   Διάβασε_Βαθμό <-- Βαθμός

Τέλος_Συνάρτησης


και στο κύριο πρόγραμμα καλούμε ως εξής

    β <-- Διάβασε_Βαθμό()

Όπως και ο Παναγιώτης, έτσι και εγώ θεωρώ λανθασμένη την χρήση της εντολής ΔΙΑΒΑΣΕ μέσα σε συνάρτηση καθώς "η χρήση τους είναι όμοια με τη χρήση των ενσωματωμένων συναρτήσεων που υποστηρίζει η ΓΛΩΣΣΑ"

lp

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

P.Tsiotakis

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

gpapargi

ggfiogos είχε συζητηθεί το θέμα παλιά. Θυμάμαι ότι είχε αναφερθεί ότι ακόμα κι αν απαγορέψεις το Γράψε/Διάβασε μέσα σε συνάρτηση μπορείς μέσα στη συνάρτηση να καλέσεις διαδικασία που έχει Διάβασε και Γράψε και άρα να κάνεις "ντρίμπλα". Πουθενά δεν απαγορεύεται κάτι τέτοιο αφού ένα υποπρόγραμμα μπορεί να καλέσει άλλο υποπρόγραμμα. Εϊναι ένα θέμα που το υπουργεί οφείλει να πάρει καθαρή θέση. Ή θα απαγορέψεις κλήση διαδικασίας μέσα από συνάρτηση (καθώς και Γράψε/Διάβασε) ή θα επιτρέπονται όλα.

Τελικά δόθηκε το παρακάτω κείμενο επιμόρφωσης
https://alkisg.mysch.gr/steki/index.php?topic=912.msg8645#msg8645

Αναφέρω 2 αποσπάσματα:
"Μέχρι σήμερα, δεν υπάρχει κάποια επίσημη διευκρίνηση από το ΥΠΕΠΘ σχετικά με τα παρακάτω θέματα και γι αυτό το λόγο αναμένεται είτε να μην εξεταστούν ποτέ, είτε σε περίπτωση που εξεταστούν να γίνουν αποδεκτές όλες οι απόψεις."

&

"Να μην επιτρέπονται οι εντολές ΓΡΑΨΕ και ΔΙΑΒΑΣΕ στο εσωτερικό συναρτήσεων. "

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