Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Γ΄ Λυκείου => Τμηματικός προγραμματισμός => Μήνυμα ξεκίνησε από: evry στις 19 Απρ 2007, 06:45:54 ΜΜ

Τίτλος: Εντόλες Εισόδου σε συνάρτηση
Αποστολή από: evry στις 19 Απρ 2007, 06:45:54 ΜΜ

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


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

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

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

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

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

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

Τίτλος: Απ: Εντόλες Εισόδου σε συνάρτηση
Αποστολή από: petrosp13 στις 19 Απρ 2007, 07:18:02 ΜΜ
Επειδή ο προγραμματισμός είναι ευελιξία, εξηγούμε στα παιδιά τι ισχύει για τις συναρτήσεις και τους αφήνουμε την ελευθερία να επιλέξουν
Τίτλος: Απ: Εντόλες Εισόδου σε συνάρτηση
Αποστολή από: evry στις 19 Απρ 2007, 09:37:07 ΜΜ

Το θέμα δεν το έθεσα υπό τη σκοπιά τι είναι σωστό από ακαδημαϊκή πλευρά, αλλά με βάση το άγχος που έχουν οι μαθητές για τις εξετάσεις. Δηλαδή ο μαθητής δεν θα καταλάβει τίποτα για ευελιξία περί προγραμματισμού, θα σε ρωτήσει "αν πέσει αυτή η ερώτηση στις εξετάσεις" (κλασσική δυστυχώς ατάκα) εγώ τι θα απαντήσω; Και περιμένει από σένα μια υπεύθυνη απάντηση. Γιατί δε νομίζω ότι ο βαθμολογητής που ενδεχομένως να μην έχει γράψει ούτε μια γραμμή κώδικα στη ζωή του, θα αξιολογήσει την ελευθερία του μαθητή να επιλέξει.
    Θα κοιτάξει τις απαντήσεις που του έχει δώσει ο επόπτης και το μόνο που θα αξιολογεί θα είναι τα Σ και τα Λ .
Τίτλος: Απ: Εντόλες Εισόδου σε συνάρτηση
Αποστολή από: Laertis στις 19 Απρ 2007, 11:32:39 ΜΜ
Το βιβλίο μπορεί να μην αποκλείει ρητά τη χρήση εντολής εισόδου σε μια συνάρτηση αλλά προφανώς θεωρεί κακό Ευρυπίδη να υπάρχει Διάβασε σε Συνάρτηση. Κι αυτό γιατί δεν επιλέγει να το υλοποιήσει ποτέ και σε κανένα παράδειγμα π.χ. στο παράδειγμα του βιβλίου σελ.211 την εισαγωγή ενός δεδομένου και την επιστροφή αυτού (ακτίνα κύκλου) την κάνει με διαδικασία.
Δε νομίζω ότι το κάνει τυχαία ...

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

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

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


Τίτλος: Απ: Εντόλες Εισόδου σε συνάρτηση
Αποστολή από: Vangelis στις 06 Μαΐου 2008, 05:52:59 ΜΜ
Στην κλασική ερώτηση "αν θα πέσει αυτή η ερώτηση τι απαντάω" απαντάμε και εμείς με την "κλασική" απάντηση "Δεν πέφτουν τέτοιες αμφίσημες ερωτήσεις".  Ας έχουμε λίγη εμπιστοσύνη σε 4-5 έμπειρους συναδέλφους που  έχουν διδάξει για πολλά χρόνια το μάθημα και επιλέγουν τα θέματα. Τώρα αν υπάρχουν βαθμολογητές που δεν έχουν γράψει γραμμή κώδικα είναι  μια άλλη (συχνά πικρή) ιστορία.  Είναι σίγουρο όμως ότι έχουν διδάξει το μάθημα άρα τουλάχιστον (στη χειρότερη περίπτωση) έχουν διαβάσει το βιβλίο του μαθητή. Συνεπώς συμφωνώ με τον Laerti - ακολουθούμε τον ποιό κοινό δρόμο και δεν πειραματιζόμαστε.
Το  ανωτέρω πρόβλημα των συναδέλφων δεν επηρεάζει τόσο τις ερωτησεις τυποποιημένης απάντησης ή σωστού - λάθους γιατί εκεί υπάρχει επίσημος  "μπούσουλας" όσο στην κατανόηση λύσεων που ξεφεύγουν απο τα τυποποιημένα (κυρίως στο 3ο - 4ο θέμα).
Τίτλος: Απ: Εντόλες Εισόδου σε συνάρτηση
Αποστολή από: evry στις 06 Μαΐου 2008, 08:14:21 ΜΜ

  Βαγγέλη δε μπορούμε να απαντήσουμε πλέον "δεν πέφτουν τέτοια θέματα" γιατί το θέμα αυτό έπεσε πέρυσι. Για αυτό ακριβώς το πόσταρα τότε πριν τις εξετάσεις στο στέκι, γιατί επειδή ήταν άσκηση στο τετράδιο μαθητή φοβήθηκα ότι θα πέσει. Φυσικά το έβαλαν με λίγο διαφορετική μορφή. Υπήρχε μόνο το "Εισαγωγή ενός δεδομένου" και όχι των 3 δεδομένων. Έλα όμως που στο βιβλίο καθηγητή η σωστή απάντηση ήταν συνάρτηση. Υπήρχε φυσικά διόρθωση που έλεγε διαδικασία αλλά πόσοι καθηγητές ήξεραν για αυτή την διόρθωση και πόσοι το είπαν στα παιδιά ή πόσοι το είπαν λάθος στηριζόμενοι στο μη διορθωμένο βιβλίο καθηγητή. Προσωπικά πιστεύω ότι το συγκεκριμένο ήταν φάουλ της επιτροπής.
Στο δικό μου βαθμολογικό συμφωνήσαμε με τον επόπτη να μην μετρήσουμε την απάντηση για τους παραπάνω λόγους, δηλαδή ότι και να απάνταγαν οι μαθητές το παίρναμε σωστό.
Τίτλος: Απ: Εντόλες Εισόδου σε συνάρτηση
Αποστολή από: klitos στις 08 Μαΐου 2008, 03:03:27 ΜΜ
Εισαγωγή δεδομένων = ΔΙΑΔΙΚΑΣΙΑ
Επειδή εχει ενα λάθος στο βιβλίο του καθηγητή πρεπει να ταλαιπωρουμαστε ?

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

Κώδικας [Επιλογή]

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

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

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

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

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



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

Κώδικας [Επιλογή]


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

Τίτλος: Απ: Εντόλες Εισόδου σε συνάρτηση
Αποστολή από: P.Tsiotakis στις 26 Φεβ 2009, 11:49:14 ΠΜ
OXI, μια συνάρτηση ΔΕΝ επικοινωνεί με το χρήστη (με εντολές εισόδου εξόδου). Όπως και οι ενσωματωμένες συναρτήσεις της ΓΛΩΣΣΑΣ δέχεται τιμές, υπολογίζει και επιστρέφει μόνο μια τιμή.
Τίτλος: Απ: Εντόλες Εισόδου σε συνάρτηση
Αποστολή από: lykos στις 26 Φεβ 2009, 09:36:27 ΜΜ
Παράθεση
Επειδή εχει ενα λάθος στο βιβλίο του καθηγητή πρεπει να ταλαιπωρουμαστε ?

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

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

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

Βασίλης Λυκοστράτης
Τίτλος: Απ: Εντόλες Εισόδου σε συνάρτηση
Αποστολή από: Καρκαμάνης Γεώργιος στις 27 Φεβ 2009, 12:22:27 ΠΜ
Παράθεση από: evry στις 06 Μαΐου 2008, 08:14:21 ΜΜ

  Βαγγέλη δε μπορούμε να απαντήσουμε πλέον "δεν πέφτουν τέτοια θέματα" γιατί το θέμα αυτό έπεσε πέρυσι.
Στο δικό μου βαθμολογικό συμφωνήσαμε με τον επόπτη να μην μετρήσουμε την απάντηση για τους παραπάνω λόγους, δηλαδή ότι και να απάνταγαν οι μαθητές το παίρναμε σωστό.
Και στο δικό μου βαθμολογικό συμφωνήσαμε οποιαδήποτε απάντηση των μαθητών να θεωρηθεί ως σωστή λόγο αυτού του μπερδέματος που υπήρχε στο βιβλίο καθηγητή
Τίτλος: Απ: Εντόλες Εισόδου σε συνάρτηση
Αποστολή από: Καρκαμάνης Γεώργιος στις 27 Φεβ 2009, 12:28:11 ΠΜ
Παράθεση από: ggfiogos στις 26 Φεβ 2009, 10:11:18 ΠΜ
Επανέρχομαι στο θέμα της συνάρτησης και της εισαγωγής. Δεν είναι σωστός αυτός ο κώδικας:

Κώδικας [Επιλογή]

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

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

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

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

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



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

Κώδικας [Επιλογή]


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


Όπως και ο Παναγιώτης, έτσι και εγώ θεωρώ λανθασμένη την χρήση της εντολής ΔΙΑΒΑΣΕ μέσα σε συνάρτηση καθώς "η χρήση τους είναι όμοια με τη χρήση των ενσωματωμένων συναρτήσεων που υποστηρίζει η ΓΛΩΣΣΑ"
Τίτλος: Απ: Εντόλες Εισόδου σε συνάρτηση
Αποστολή από: lp στις 27 Φεβ 2009, 09:41:41 ΠΜ
Αρα δεν είναι σωστό γιατί έτσι θέλει το βιβλίο, όχι ότι συμβαίνει στις γλώσσες προγραμματισμού...
Τίτλος: Απ: Εντόλες Εισόδου σε συνάρτηση
Αποστολή από: P.Tsiotakis στις 27 Φεβ 2009, 11:36:17 ΠΜ
το βιβλίο εξετάζονται, όχι τις γλώσσες προγραμματισμού.
το πιο απλό και ασφαλές και για τα παιδιά είναι αυτό...
Τίτλος: Απ: Εντόλες Εισόδου σε συνάρτηση
Αποστολή από: gpapargi στις 27 Φεβ 2009, 12:33:42 ΜΜ
ggfiogos είχε συζητηθεί το θέμα παλιά. Θυμάμαι ότι είχε αναφερθεί ότι ακόμα κι αν απαγορέψεις το Γράψε/Διάβασε μέσα σε συνάρτηση μπορείς μέσα στη συνάρτηση να καλέσεις διαδικασία που έχει Διάβασε και Γράψε και άρα να κάνεις "ντρίμπλα". Πουθενά δεν απαγορεύεται κάτι τέτοιο αφού ένα υποπρόγραμμα μπορεί να καλέσει άλλο υποπρόγραμμα. Εϊναι ένα θέμα που το υπουργεί οφείλει να πάρει καθαρή θέση. Ή θα απαγορέψεις κλήση διαδικασίας μέσα από συνάρτηση (καθώς και Γράψε/Διάβασε) ή θα επιτρέπονται όλα.

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

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

&

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

Θα ήθελα να τους θέσω το ερώτημα αν επιτρέπεται μέσα σε συνάρτηση να υπάρχει διαδικασία που έχει διάβασε/γράψε... αλλά ας πούμε πως καλύπτομαι από τη φράση "αναμένεται είτε να μην εξεταστούν ποτέ, είτε σε περίπτωση που εξεταστούν να γίνουν αποδεκτές όλες οι απόψεις"
Τίτλος: Απ: Εντόλες Εισόδου σε συνάρτηση
Αποστολή από: evry στις 27 Φεβ 2009, 01:07:15 ΜΜ

Το πρόβλημα είναι ότι όπως ανέφερα μερικά μηνύματα και 2 χρόνια πριν στο ίδιο Thread είχαν το θράσος να βάλουν τέτοια ερώτηση στις εξετάσεις σαν σωστό λάθος!!!
Τίτλος: Απ: Εντόλες Εισόδου σε συνάρτηση
Αποστολή από: P.Tsiotakis στις 27 Φεβ 2009, 08:23:08 ΜΜ
Είχαν το "θράσος" να βάλουν άσκηση απο το τετράδιο μαθητή!

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

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

να έχει διαμορφωθεί κοινή στάση για αυτά μετά απο ΔΕΚΑ χρόνια διδασκαλίας του μαθήματος.
Τίτλος: Απ: Εντόλες Εισόδου σε συνάρτηση
Αποστολή από: evry στις 28 Φεβ 2009, 11:00:55 ΠΜ

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

Μακάρι μετά από 10 χρόνια να έχει διαμορφωθεί κοινή στάση διδασκαλίας. Παρεπιπτόντως αυτό δεν θα έπρεπε να ξεκινήσει από τους σχολικούς συμβούλους? Φαντάζομαι ότι μια εισήγηση από αυτούς θα ληφθεί πολύ πιο σοβαρά από το υπουργείο από ότι από εμάς.
Τίτλος: Απ: Εντόλες Εισόδου σε συνάρτηση
Αποστολή από: lp στις 02 Μαρ 2009, 02:11:39 ΜΜ
Το ότι συζητάμε για ένα πολύ σημαντικό θέμα της θεωρίας δεν νομίζω να είναι λάθος και δεν νομίζω ότι επειδή συζητήθηκε πριν 2 χρόνια δεν πρέπει να το συζητήσουμε ξανά. Απλά μου κάνει εντύπωση ότι ενώ πρέπει να μάθουν τα παιδιά μέσω του μαθήματος κάτι γενικό σχετικά με τον προγραμματισμό πάνε και ειδικεύουν τόσο πολύ τις συναρτήσεις. Φυσικά μπορούμε όλοι να δεχτούμε το βιβλίο και να μην ξαναμιλήσουμε για οποιοδήποτε πιθανό λάθος.
Τίτλος: Απ: Εντόλες Εισόδου σε συνάρτηση
Αποστολή από: P.Tsiotakis στις 02 Μαρ 2009, 06:01:37 ΜΜ
Δεν βλέπω τίποτα το ειδικό στις συναρτήσεις.

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

Η παραπάνω απο αυτό συζήτηση είναι η περιττή εξειδίκευση, σε αυτό συμφωνούμε.
Τίτλος: Απ: Εντόλες Εισόδου σε συνάρτηση
Αποστολή από: gpapargi στις 03 Μαρ 2009, 11:13:25 ΠΜ
Εδώ που φτάσαμε... καλύτερα να το πάμε το θέμα μέχρι τέλους.

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

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

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

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

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

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

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

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

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

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

Από την στιγμή που ένα υποπρόγραμμα μπορεί να καλέσει ένα άλλο τότε ναι, μια συνάρτηση με έμμεσο τρόπο μπορεί να διαβάσει και μια μεταβλητή
Τίτλος: Απ: Εντόλες Εισόδου σε συνάρτηση
Αποστολή από: ntzios kostas στις 04 Μαρ 2009, 10:11:47 ΠΜ
Καλημέρα συνάδελφοι,

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

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

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

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

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

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

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

Αν λοιπόν θέλουμε να ορίσουμε το συντακτικό έτσι ώστε να έρχεται σε συμφωνία με τη φιλοσοφία «Οι συναρτήσεις κάνουν μόνο υπολογισμούς και όχι είσοδο έξοδο» θα πρέπει να έχουμε ένα ενιαίο συντακτικό κανόνα που να κόβει όχι μόνο την άμεση χρήση Διάβασε/Γράψε, αλλά και τις διαδικασίες που περιέχουν είσοδο έξοδο.
Τίτλος: Απ: Εντόλες Εισόδου σε συνάρτηση
Αποστολή από: Καρκαμάνης Γεώργιος στις 05 Μαρ 2009, 12:10:35 ΠΜ
Πρώτα πρέπει εμείς να συμφωνήσουμε ότι δεν χρησιμοποιείται η εντολή ΔΙΑΒΑΣΕ ή η εντολή ΓΡΑΨΕ μέσα στην συνάρτηση καθώς και ότι δεν είναι σωστό μια συνάρτηση να καλεί μια διαδικασία που περιέχει τις παραπάνω εντολές.

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

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