ΣΥΝΑΡΤΗΣΗ ΧΩΡΙΣ ΠΑΡΑΜΕΤΡΟΥΣ

Ξεκίνησε από summer, 11 Μαρ 2009, 02:46:53 ΠΜ

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

klitos

#15
Παράθεση από: klitos - evry στις 08 Μαΐου 2009, 10:56:26 ΠΜ
Δεν υπαρχει συναρτηση χωρις παραμετρους... μονο διαδικασια
Αυτό πάντως δεν το λέει κάπου στο βιβλίο ρητά. Μπορούμε να το εξάγουμε σαν συμπέρασμα αν υποθέσουμε ότι είναι λάθος οι εντολές εισόδου/εξόδου σε συνάρτηση
Το λεει πολυ ξεκάθαρα στο σημειο που αναφέρει οτι( σελ 214  κιτρινο πλαισιο) ότι η λίστα παραμέτρων δεν ειναι υποχρεωτική στη διαδικασία. Δηλαδή το οτι δεν το αναφέρει στη συναρτηση ειναι παράλειψη ? . Νομίζω οτι σε καθε περιγραφή αναφέρει το τι κανει καθε εντολή η διαδικασία ή συναρτηση και οχι τι ΔΕΝ κανει. 

Παράθεση
οι περισσοτεροι πληροφορικοι εχουν αποψη η οποια στηριζεται σε γνωσεις και εμπειριες απο γλωσσες προγραμματισμου που ομως δεν εχουν σχεση με την ΓΛΩΣΣΑ

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

alkisg

Παράθεση από: klitos στις 14 Μαΐου 2009, 08:45:17 ΠΜ
Δες σελίδα 218 "Μετά την εκτέλεση των εντολών της διαδικασίας οταν εκτελεστεί η εντολή ΤΕΛΟΣ ΔΙΑΔΙΚΑΣΙΑΣ, οι μετεβλητες της διαδικασίας δινουν τις τιμές που περιέχουν στις αντίστοιχες μεταβλητές ..." , επισης δες και το σχεδιάγραμμα της ιδιας σελίδας.
Νομίζω οτι ειναι ξεκαθαρο πως λειτουργεί η μεταφορα των τιμών απο τις τυπικές στις πραγματικες παραμέτρους

Δες σελίδα 106 τετραδίου μαθητή:

Κώδικας: ΓΛΩΣΣΑ
ΠΡΟΓΡΑΜΜΑ Πύργοι_του_Ανόι
ΣΤΑΘΕΡΕΣ
   Στύλος1=’Α’
   Στύλος2=’Β’
   Στύλος3=’Γ’
...
   ΚΑΛΕΣΕ Μετακίνησε(Ν, Στύλος1, Στύλος2, Στύλος3)
...
   ΚΑΛΕΣΕ Μετακινησε(Ν-1, ΣτύλοςΑ, ΣτύλοςΓ,ΣτύλοςΒ)
...
   ΚΑΛΕΣΕ Μετακίνησε(Ν-1, ΣτύλοςΒ, ΣτύλοςΑ, ΣτύλοςΓ)
...


Επιτρέπονται να περαστούν όχι μόνο σταθερές (Στύλος1), αλλά και εκφράσεις (Ν-1).

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

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

evry

Παράθεση από: klitos στις 14 Μαΐου 2009, 09:02:04 ΠΜ
Το λεει πολυ ξεκάθαρα στο σημειο που αναφέρει οτι( σελ 214  κιτρινο πλαισιο) ότι η λίστα παραμέτρων δεν ειναι υποχρεωτική στη διαδικασία. Δηλαδή το οτι δεν το αναφέρει στη συναρτηση ειναι παράλειψη ? . 
Ναι είναι παράλειψη!!! Τόσα λάθη και τόσες ασυνέπειες έχει το βιβλίο. Γιατί αυτό να μην αποτελεί μια από αυτές? Πως είσαι τόσο σίγουρος ότι δεν είναι παράλειψη? Δεν είσαι, απλά το υποθέτεις.
Να μου έλεγες ότι επειδή η συνάρτηση έχει οπωσδήποτε κάποια είσοδο και δεδομένου ότι δεν έχει διάβασε πρέπει να έχει τουλάχιστον μια παράμετρο είναι ένας συλλογισμός που μπορώ να δεχτώ.
   Αλλά δεν είναι δυνατόν να θεωρήσω τον παρακάτω συλλογισμό

  Η διαδικασία μπορεί να μην έχει λίστα παραμέτρων ==> η συνάρτηση έχει οπωσδήποτε λίστα παραμέτρων.

Δεν νομίζεις ότι είναι αρκετά μεγάλο λογικό άλμα?

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

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

klitos

Παράθεση
  Να μου έλεγες ότι επειδή η συνάρτηση έχει οπωσδήποτε κάποια είσοδο και δεδομένου ότι δεν έχει διάβασε πρέπει να έχει τουλάχιστον μια παράμετρο είναι ένας συλλογισμός που μπορώ να δεχτώ.
  Αλλά δεν είναι δυνατόν να θεωρήσω τον παρακάτω συλλογισμό
  Η διαδικασία μπορεί να μην έχει λίστα παραμέτρων ==> η συνάρτηση έχει οπωσδήποτε λίστα παραμέτρων.
Δεν νομίζεις ότι είναι αρκετά μεγάλο λογικό άλμα?
Νομιζω οτι επιασες ακριβως το νοημα μου... προφανως δεν ισχυει η συνεπαγωγη που αναφερεις αλλα ισχυει ομως το οτι η συναρτηση δεν εχει διαβασε αρα πρεπει να παρει τιμες ( εχω τοποθετηθει και παλιοτερα)
Οσον αφορα τωρα τα στραβα ματια , εμεις διορθωνουμε τα γραπτα των παιδιων στα οποια διδασκουμε τι ? Αν διδαξουμε αυτα που λεει στο βιβλιο ( τα λαθη ) τοτε πως θα διορθωσουμε ? " Παυλος κυκλος " που ελεγε και ενας φιλος ... Αρα ναχαμε να λεγαμε ...
κλητος χατζηγεωργιου

klitos

Παράθεση
Κώδικας: ΓΛΩΣΣΑ
ΠΡΟΓΡΑΜΜΑ Πύργοι_του_Ανόι
ΣΤΑΘΕΡΕΣ
   Στύλος1=’Α’
   Στύλος2=’Β’
   Στύλος3=’Γ’
...
   ΚΑΛΕΣΕ Μετακίνησε(Ν, Στύλος1, Στύλος2, Στύλος3)
...
   ΚΑΛΕΣΕ Μετακινησε(Ν-1, ΣτύλοςΑ, ΣτύλοςΓ,ΣτύλοςΒ)
...
   ΚΑΛΕΣΕ Μετακίνησε(Ν-1, ΣτύλοςΒ, ΣτύλοςΑ, ΣτύλοςΓ)
...


Επιτρέπονται να περαστούν όχι μόνο σταθερές (Στύλος1), αλλά και εκφράσεις (Ν-1).

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

Εφόσον υπάρχει ξεκάθαρο παράδειγμα στο σχολικό εγχειρίδιο, θα ήταν κατακριτέο να θεωρήσει κάποιος λανθασμένη την πρόταση "ναι, επιτρέπεται να περαστούν σταθερές σε διαδικασίες". Και ακόμα πιο κατακριτέο να μπει σχετικό θέμα, δεδομένων των διαφωνιών που υπάρχουν.
Σιγουρα υπαρχουν λοιπον διαφωνιες ( αλλα λεει η θεωρια και αλλα το τετραδιο του μαθητη).
Η αποψή σου ειναι οτι μπορουμε να χρησιμοποιήσουμε σταθερες στην κληση των διαδικασιων?. Αν ναι τοτε πως διακιολογεις την επιστροφη των τιμων μετα το περας της διαδικασιας ? Εχουν μπει και θεματα παννεληνιων με πινακα τιμων ( προγραμμα και διαδικασια )
κλητος χατζηγεωργιου

alkisg

Παράθεση από: klitos στις 14 Μαΐου 2009, 01:48:01 ΜΜ
Η αποψή σου ειναι οτι μπορουμε να χρησιμοποιήσουμε σταθερες στην κληση των διαδικασιων?. Αν ναι τοτε πως διακιολογεις την επιστροφη των τιμων μετα το περας της διαδικασιας ? Εχουν μπει και θεματα παννεληνιων με πινακα τιμων ( προγραμμα και διαδικασια )

Η άποψή μου είναι διατυπωμένη αναλυτικά εδώ: https://alkisg.mysch.gr/ΓΛΩΣΣΑ/Μεταβίβαση_παραμέτρων και είχε προκύψει μετά από επικοινωνία με τη συγγραφική ομάδα το 2003 αν θυμάμαι καλά (το "κόλπο" που αναφέρω με τις παρενθέσεις, π.χ. ΚΑΛΕΣΕ ΜιαΔιαδικασία(Χ, (Ψ)) για όταν δεν είναι επιθυμητή η αλλαγή τιμών μου το πρότειναν οι ίδιοι, δεν ήταν δική μου ιδέα).
Φυσικά δεν στέκομαι στο τι είπαν οι συγγραφείς εκτός του βιβλίου - όμως το "αντιπαράδειγμα" που έχει το τετράδιο μαθητή είναι μια καλή απόδειξη ότι επιτρέπονται σταθερές σαν παράμετροι.

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

evry

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

Δ <- 1
ΚΑΛΕΣΕ Παράδοξο(Δ, Δ)
ΓΡΑΨΕ Δ
...........

ΔΙΑΔΙΚΑΣΙΑ Παράδοξο(Α, Β)
ΜΕΤΑΒΛΗΤΕΣ
    ΑΚΕΡΑΙΕΣ: Α, Β
ΑΡΧΗ
     Β <- Β + 2
     Α <- Α + 2009
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ


Απλά θέλω να ξέρω αν μπορεί να δοθεί μονοσήμαντη απάντηση για το παραπάνω με βάση μόνο το βιβλίο.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

sstergou

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

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

evry

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

bagelis

Μία συνάρτηση είναι ένα αλγόριθμος --> Ένα αλγόριθμος μπορεί να μην έχει είσοδο

Άρα

μία συνάρτηση μπορεί να μην έχει είσοδο.

Τεκμηριωμένο με βάση το σχολικό εγχειρίδιο...

evry

Δεν το κατάλαβα, μήπως έχεις βάλει κάτι σε λάθος σειρά?

Παράθεση από: bagelis στις 23 Μαΐου 2009, 09:19:38 ΜΜ
Μία συνάρτηση είναι ένα αλγόριθμος --> Ένα αλγόριθμος μπορεί να μην έχει είσοδο

Άρα

μία συνάρτηση μπορεί να μην έχει είσοδο.

Τεκμηριωμένο με βάση το σχολικό εγχειρίδιο...
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

P.Tsiotakis

Ένα αλγόριθμος πρέπει απαραίτητα να εκλπηρώνει το κριτήριο της εισόδου

bagelis

1) Ένας αλγόριθμος μπορεί να έχει καμία μία ή περισσότερες εισόδους
2) Ένα υποπρόγραμμα είναι ένας αλγόριθμος και αυτός
3) Μία συνάρτηση είναι ένα υποπρόγραμμα

3--> 2 --> 1
Άρα:
Μία συνάρτηση μπορείς να έχει καμμία μία ή περισσότερες εισόδους (είσοδο στην συνάρτηση εννοούμε τη λίστα τυπικών παραμέτρων)

@Παναγιώτης: Παναγιώτη μου αν το υποστηρίξεις αυτό που γράφεις μόνο του τότε δεν στέκει η πρόταση (1) μολονότι την αναφέρει το σχολικό.

P.Tsiotakis

Δε λέει οτι μπορεί να μην έχει καμια είσοδο.
Γράφει οτι μπορεί να μην εισάγεται καμια τιμή.

Πιο συγκεκριμένα Βαγγέλη, γράφει: "Είσοδος (input). Καμία, μία ή περισσότερες τιμές δεδομένων πρέπει να δίνονται ως είσοδοι στον αλγόριθμο. Η περίπτωση που δεν δίνονται τιμές δεδομένων εμφανίζεται, όταν ο αλγόριθμος δημιουργεί και επεξεργάζεται κάποιες πρωτογενείς τιμές με τη βοήθεια συναρτήσεων παραγωγής τυχαίων αριθμών ή με τη βοήθεια άλλων απλών εντολών."

ΠΑΝΤΑ υπάρχει είσοδος στον αλγόριθμο.

Αυτό που μπορεί να μην υπάρχει είναι οι εντολές Διάβασε, Δεδομένα γιατί μπορεί η είσοδος να πραγματοποιείται με άλλον τρόπο.

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

alkisg

Κώδικας: ΓΛΩΣΣΑ
ΔΙΑΔΙΚΑΣΙΑ ΔιάβασεΈνανΑριθμό(Χ)
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: Χ
ΑΡΧΗ
  ΓΡΑΨΕ "Δώσε έναν αριθμό: "
  ΔΙΑΒΑΣΕ χ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

ΣΥΝΑΡΤΗΣΗ ΧωρίςΠαραμέτρους
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: Χ
ΑΡΧΗ
  ΚΑΛΕΣΕ ΔιάβασεΈνανΑριθμό(Χ)
  ΧωρίςΠαραμέτρους <- Χ
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ


Δεν προτείνεται, αλλά δεν απαγορεύεται κιόλας από πουθενά στο βιβλίο. Και είσοδο έχει και δεν περιέχει εντολές ΔΙΑΒΑΣΕ.  ;D
(αυτό που εννοώ είναι ότι είσοδος δεν είναι μόνο οι παράμετροι)