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

Ξεκίνησε από 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 αποσπάσματα:
"Μέχρι σήμερα, δεν υπάρχει κάποια επίσημη διευκρίνηση από το ΥΠΕΠΘ σχετικά με τα παρακάτω θέματα και γι αυτό το λόγο αναμένεται είτε να μην εξεταστούν ποτέ, είτε σε περίπτωση που εξεταστούν να γίνουν αποδεκτές όλες οι απόψεις."

&

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

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

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 ΠΜ
Αν υπάρχει τώρα το διάβασε μέσα στη συνάρτηση δεν είναι συντακτικό λάθος, δεν θα μπορούσα να το πω και λογικό λάθος. Θα το έλεγα ένα λάθος που μου χαλάει την έννοια συνάρτησης.

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

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

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

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

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

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

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

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