Αποστολέας Θέμα: Παράμετροι : Τιμές και μεταβλητές  (Αναγνώστηκε 7731 φορές)

Γιάννης Σ.

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 146
Παράμετροι : Τιμές και μεταβλητές
« στις: 13 Μάρ 2010, 11:17:43 μμ »
Μήπως ξέρει κάποιος αν μπορώ να καλέσω ένα υποπρόγραμμα στέλνοντας τιμές στη θέση των πραγματικών παραμέτρων και μεταβλητέςστη θέση των ορισμάτων πχ.

ΚΑΛΕΣΕ Υπολ(1, 'Γιάννης')
......
...
ΔΙΑΔΙΚΑΣΙΑ Υπολ(Χ, Όνομα)
....
Εάν ναι, πως επιστρεφεται η τιμή;
Επίσης, Όλες οι παράμετροι επιστρέφουν τιμή;

Laertis

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 1467
  • Δεν αντέχω την (συμ)-πίεσηηη .......
    • ΑΣΚΗΣΕΙΣ-ΘΕΜΑΤΑ ΑΕΠΠ
Απ: Παράμετροι : Τιμές και μεταβλητές
« Απάντηση #1 στις: 13 Μάρ 2010, 11:53:06 μμ »
Δεν μπορείς να χρησιμοποιοήσεις σταθερές στην κλήση διαδικασίας. Μόνο μεταβλητές ως παραμέτρους.
Η επιστροφή τιμής έχει νόημα όταν μεταβάλλεται η μεταβλητή παράμετρος μέσα στην διαδικασία. Ναι όλες οι παράμετροι επιστρέφουν τιμές
Νικολακάκης Γιώργος
Μηχανικός Η/Υ Συστημάτων
Καθηγητής Πληροφορικής
http://users.sch.gr/gnikola

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 5208
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Παράμετροι : Τιμές και μεταβλητές
« Απάντηση #2 στις: 14 Μάρ 2010, 12:03:37 πμ »
Οι απόψεις διίστανται :)

Σύμφωνα με το βιβλίο, γίνεται αντιγραφή των τιμών των παραμέτρων στη στοίβα, δεν μεταβιβάζονται οι διεύθυνσεις τους.
Επομένως μπορείς κάλλιστα να περάσεις τιμές σε διαδικασίες.
Υπάρχει και παράδειγμα στο σχολικό βιβλίο, οι Πύργοι του Ανόι. Άρα, όσο υπάρχει αυτό το παράδειγμα στο βιβλίο, κανείς δεν μπορεί να θεωρήσει λάθος την μεταβίβαση σταθερών σε διαδικασίες.
Σύμφωνα και με έναν από τους συγγραφείς του βιβλίου, αν κάποιος θέλει να περάσει μεταβλητή *με τιμή* σε διαδικασία, την κάνει έκφραση βάζοντάς την π.χ. σε παρένθεση (πωπω πάνε 7-8 χρόνια από τότε που τους έπαιρνα τηλέφωνο για να μου πουν τι ισχύει για να υλοποιήσω το Διερμηνευτή, και ακόμα δεν έχουμε κοινή αντιμετώπιση σε πολλά θέματα... έλεος με αυτές τις ασάφειες  :()
https://alkisg.mysch.gr/ΓΛΩΣΣΑ/Μεταβίβαση_παραμέτρων

Laertis

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 1467
  • Δεν αντέχω την (συμ)-πίεσηηη .......
    • ΑΣΚΗΣΕΙΣ-ΘΕΜΑΤΑ ΑΕΠΠ
Απ: Παράμετροι : Τιμές και μεταβλητές
« Απάντηση #3 στις: 14 Μάρ 2010, 01:47:22 μμ »
Έχει δίκιο ο Άλκης. Υπάρχει διχογνωμία για το πέρασμα σταθερών στα υποπρογράμματα κάτι που δεν ξεκαθαρίζει σαφώς το βιβλίο. Στο βιβλίο αναφέρεται ρητά ότι οι λίστες παραμέτρων στις διαδικασίες είναι μια λίστα μεταβλητών , των οποίων οι τιμές κλπ (σελ 214).
Στο τετράδιο όμως υπάρχει το παράδειγμα που αναφέρει ο Άλκης που αναιρεί ότι ισχυρίζεται το βιβλίο.
Νικολακάκης Γιώργος
Μηχανικός Η/Υ Συστημάτων
Καθηγητής Πληροφορικής
http://users.sch.gr/gnikola

Παναγιώτης Τσιωτάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3228
  • I love you more than 3000
    • Panagiotis Tsiotakis
Απ: Παράμετροι : Τιμές και μεταβλητές
« Απάντηση #4 στις: 14 Μάρ 2010, 07:58:39 μμ »
άρα το τετράδιο μαθητή έχει λάθος στο παράδειγμα 2 (Ανόι) και πρέπει να αλλάξει

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3171
  • to Iterate is human to Recurse divine
Απ: Παράμετροι : Τιμές και μεταβλητές
« Απάντηση #5 στις: 14 Μάρ 2010, 08:27:46 μμ »
ή το βιβλίο έχει λάθος και πρέπει να αλλάξει  :D
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Γιάννης Σ.

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 146
Απ: Παράμετροι : Τιμές και μεταβλητές
« Απάντηση #6 στις: 15 Μάρ 2010, 12:59:43 πμ »
Το λέω γιατί σε όλα τα βοηθήματα που έχω δει θεωρούν ότι δεν γίνεται.
 :)

Laertis

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 1467
  • Δεν αντέχω την (συμ)-πίεσηηη .......
    • ΑΣΚΗΣΕΙΣ-ΘΕΜΑΤΑ ΑΕΠΠ
Απ: Παράμετροι : Τιμές και μεταβλητές
« Απάντηση #7 στις: 15 Μάρ 2010, 10:15:20 πμ »
Απλά για τις εξετάσεις κράτα αυτό που σου είπα.
Νικολακάκης Γιώργος
Μηχανικός Η/Υ Συστημάτων
Καθηγητής Πληροφορικής
http://users.sch.gr/gnikola

ntzios kostas

  • Καθηγητής Πληροφορικής
  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 600
    • Ανάπτυξη Εφαρμογών
Απ: Παράμετροι : Τιμές και μεταβλητές
« Απάντηση #8 στις: 15 Μάρ 2010, 11:22:54 πμ »
Όχι όμως την αναίρεση του τετραδίου μαθητή.  :)
Το μάθημα Ανάπτυξη Εφαρμογών δεν έχει σαν στόχο την εκμάθηση κάποιου συγκεκριμένου προγραμματιστικού περιβάλλοντος ούτε την καλλιέργεια προγραμματιστικών δεξιοτήτων από τη μεριά των μαθητών. Δεν αποσκοπεί στη λεπτομερειακή εξέταση της δομής, του ρεπερτορίου και των συντακτικων κανόνων κάποιας γλώσσας...

Laertis

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 1467
  • Δεν αντέχω την (συμ)-πίεσηηη .......
    • ΑΣΚΗΣΕΙΣ-ΘΕΜΑΤΑ ΑΕΠΠ
Απ: Παράμετροι : Τιμές και μεταβλητές
« Απάντηση #9 στις: 15 Μάρ 2010, 11:43:24 πμ »
Όχι όμως την αναίρεση του τετραδίου μαθητή.  :)

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

Γιάννης Αναγνωστάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 817
Απ: Παράμετροι : Τιμές και μεταβλητές
« Απάντηση #10 στις: 15 Μάρ 2010, 02:06:39 μμ »
Tελικά τι από τα δύο θα λέμε στους μαθητές; Μπορούν ή δεν μπορούν να στέλνουν  στις συναρτήσεις ως παραμέτρους
σταθερές τιμές?

Παναγιώτης Τσιωτάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3228
  • I love you more than 3000
    • Panagiotis Tsiotakis
Απ: Παράμετροι : Τιμές και μεταβλητές
« Απάντηση #11 στις: 15 Μάρ 2010, 03:19:11 μμ »
στις συναρτήσεις ναι, στις διαδικασίες όχι

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 5208
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Παράμετροι : Τιμές και μεταβλητές
« Απάντηση #12 στις: 15 Μάρ 2010, 03:37:25 μμ »
Tελικά τι από τα δύο θα λέμε στους μαθητές; Μπορούν ή δεν μπορούν να στέλνουν  στις συναρτήσεις ως παραμέτρους
σταθερές τιμές?

Σύμφωνα και με τους συγγραφείς και με το διδακτικό πακέτο, και στις συναρτήσεις και στις διαδικασίες ναι.

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

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

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

Laertis

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 1467
  • Δεν αντέχω την (συμ)-πίεσηηη .......
    • ΑΣΚΗΣΕΙΣ-ΘΕΜΑΤΑ ΑΕΠΠ
Απ: Παράμετροι : Τιμές και μεταβλητές
« Απάντηση #13 στις: 15 Μάρ 2010, 04:05:22 μμ »
Και θεωρείς Άλκη ότι αυτό είναι δουλειά του κάθε εκπαιδευτικού να αποστέλει ερωτήματα προς το Υπουργείο που αφορά παρερμηνείες ή ασάφειες; Το βιβλίο υπάρχει εδώ και 11 χρόνια ...
Οι σύμβουλοι τι δουλειά κάνουν ;
Νικολακάκης Γιώργος
Μηχανικός Η/Υ Συστημάτων
Καθηγητής Πληροφορικής
http://users.sch.gr/gnikola

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3171
  • to Iterate is human to Recurse divine
Απ: Παράμετροι : Τιμές και μεταβλητές
« Απάντηση #14 στις: 15 Μάρ 2010, 04:24:01 μμ »

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

Παναγιώτης Τσιωτάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3228
  • I love you more than 3000
    • Panagiotis Tsiotakis
Απ: Παράμετροι : Τιμές και μεταβλητές
« Απάντηση #15 στις: 15 Μάρ 2010, 05:30:39 μμ »
εγώ αν βαθμολογούσα θα του έκοβα, γιατί απλά δεν έχει καταλάβει οτι οι τιμές των τυπικών παραμέτρων μεταβιβάζονται στις πραγματικές.
Είναι το ίδιο με το να προσπαθεί ο μαθητής να αλλάζει τιμή σε συμβολική σταθερά στη ΓΛΩΣΣΑ.

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

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

ntzios kostas

  • Καθηγητής Πληροφορικής
  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 600
    • Ανάπτυξη Εφαρμογών
Απ: Παράμετροι : Τιμές και μεταβλητές
« Απάντηση #16 στις: 15 Μάρ 2010, 08:08:46 μμ »
Και εγώ να συμφωνήσω με τον Παναγιώτη ότι αν το έβλεπα στις εξετάσεις θα του έκοβα κάποια μόρια. Στις σελίδες 217 και 218 του σχολικού περιγράφεται αναλυτικά το πέρασμα τιμών.

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

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 5208
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Παράμετροι : Τιμές και μεταβλητές
« Απάντηση #17 στις: 18 Μάρ 2010, 08:43:56 πμ »
Αν στείλουμε την απορία στους συμβούλους από εκεί να πάει στο ΠΙ, τότε  τέλος_αν.
Δεν ξέρω έχει νόημα η δομή επιλογής χωρίς να περιλαμβάνει στο εσωτερικό της εντολές;


Μέσα στο τότε μπαίνει «θα σταματήσουν οι μισοί καθηγητές να τα διδάσκουν λάθος και να κόβουν μονάδες γι' αυτά που διδάσκουν οι άλλοι μισοί» - είτε οι μεν είτε οι δε...


Anyway, να πω ένα άλλο παράδειγμα:
Παράθεση από: Σελίδα 213
Το όνομα της συνάρτησης είναι οποιοδήποτε έγκυρο όνομα της ΓΛΩΣΣΑΣ. Η λίστα παραμέτρων είναι μια λίστα μεταβλητών...

Αυτό το θεωρείτε ορισμό, και από αυτό καταλαβαίνετε ότι δεν επιτρέπονται τιμές/σταθερές/εκφράσεις;
Γιατί λίγο παρακάτω, έχει:
Παράθεση από: Σελίδα 223
Παραγοντικό <- Ν*Παραγοντικό(Ν-1)

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

Και είναι να απορεί κανείς πως έχει εντυπωθεί η pascal στο DNA μας.
Η μεταβίβαση παραμέτρων έχει επιρροές από Basic, όχι από Pascal. :)

gthal

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 900
Απ: Παράμετροι : Τιμές και μεταβλητές
« Απάντηση #18 στις: 18 Μάρ 2010, 09:40:04 πμ »
Η μεταβίβαση παραμέτρων έχει επιρροές από Basic, όχι από Pascal. :)
Ναι αλλά μάλλον ο Παναγιώτης εννοεί ότι θα θέλαμε να έχει επιρροές από  Pascal. 
Και εγώ συμφωνώ, και ως τώρα έτσι τις έβλεπα και τις δίδασκα. Δεν είχα καν παρατηρήσει τη λεπτομέρεια που λέτε. (άρα έχω την Pascal στο DNA μου)
Αλήθεια, από ποια basic υπήρξαν συναρτήσεις και διαδικασίες ως υποπρογράμματα? εγώ θυμάμαι μόνο routines και subroutines, που ... ας μη μιλήσουμε για τη μεταβίβαση παραμέτρων τους  :D
Φιλικά,
Γιώργος Θαλασσινός

Νίκος Αδαμόπουλος

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2788
  • Πύργος Ηλείας
Απ: Παράμετροι : Τιμές και μεταβλητές
« Απάντηση #19 στις: 18 Μάρ 2010, 09:47:27 πμ »
VB! Οι συγγραφείς αυτήν πρέπει να είχαν στο μυαλό τους. Π.χ., όπως έχουμε πει, η Για...από...μέχρι...με_βήμα βασίζεται στην For...to...step

ntzios kostas

  • Καθηγητής Πληροφορικής
  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 600
    • Ανάπτυξη Εφαρμογών
Απ: Παράμετροι : Τιμές και μεταβλητές
« Απάντηση #20 στις: 18 Μάρ 2010, 10:56:52 πμ »
Παράθεση
Παράθεση από: ntzios kostas στις 15 Μαρ 2010, 08:08:46 pm<blockquote>Αν στείλουμε την απορία στους συμβούλους από εκεί να πάει στο ΠΙ, τότε  τέλος_αν.
Δεν ξέρω έχει νόημα η δομή επιλογής χωρίς να περιλαμβάνει στο εσωτερικό της εντολές;

</blockquote>

Μέσα στο τότε μπαίνει «θα σταματήσουν οι μισοί καθηγητές να τα διδάσκουν λάθος και να κόβουν μονάδες γι' αυτά που διδάσκουν οι άλλοι μισοί» - είτε οι μεν είτε οι δε...

Στο τότε πρέπει να μπει αρχικά ότι το ΠΙ θα σου απαντήσει και στη συνέχεια θα συμβεί αυτό που λες.


Παράθεση
Anyway, να πω ένα άλλο παράδειγμα:
Παράθεση από: Σελίδα 213<blockquote>Το όνομα της συνάρτησης είναι οποιοδήποτε έγκυρο όνομα της ΓΛΩΣΣΑΣ. Η λίστα παραμέτρων είναι μια λίστα μεταβλητών...</blockquote>

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

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

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 5208
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Παράμετροι : Τιμές και μεταβλητές
« Απάντηση #21 στις: 18 Μάρ 2010, 12:48:44 μμ »
Άλκη έχεις δίκιο για την συνάρτηση. Σε αυτό το σημείο είναι φανερό πάλι ότι το βιβλίο δεν γράφει ακριβώς τα πράγματα όπως είναι. Αλλά είναι απλά μία παράληψη κάποιων λέξεων. Στη διαδικασία δεν είναι το ίδιο πράγμα έχει ολόκληρη ανάλυση δύο σελίδων.
Με δεδομένο ότι έχω την απάντηση των συγγραφέων ότι επιτρέπονται εκφράσεις ως παράμετροι σε διαδικασίες, και επομένως προσωπικά είμαι σίγουρος ότι δεν παρερμηνεύω το βιβλίο,
θεωρώ ότι είναι ακριβώς η ίδια περίπτωση, απλά πιο μεγάλη:
σε 2 σελίδες αναλύουν πώς περνιούνται οι μεταβλητές, αλλά δεν λένε τίποτα για τις εκφράσεις. Ούτε ότι επιτρέπονται ούτε ότι απαγορεύονται. Απλά επικεντρώθηκαν να εξηγήσουν τον μηχανισμό, δεν ασχολήθηκαν να αναλύσουν όλες τις περιπτώσεις...

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

gthal

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 900
Απ: Παράμετροι : Τιμές και μεταβλητές
« Απάντηση #22 στις: 18 Μάρ 2010, 02:00:35 μμ »
χμμμ
Δηλαδή η by reference μεταβίβαση δεν υφίσταται, σύμφωνα με το βιβλίο ...
Το ότι πίστευα ότι υφίσταται (όπως και άλλοι συνάδελφοι που ξέρω) οφείλεται σε κεκτημένη ταχύτητα.
(και πάλι επειδή στο DNA μας είναι η Pascal :) )
Φιλικά,
Γιώργος Θαλασσινός

ntzios kostas

  • Καθηγητής Πληροφορικής
  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 600
    • Ανάπτυξη Εφαρμογών
Απ: Παράμετροι : Τιμές και μεταβλητές
« Απάντηση #23 στις: 18 Μάρ 2010, 04:50:58 μμ »
Στις σελίδες 217 και 218 το βιβλίο λέει πεντακάθαρα και με το σχήμα που χρησιμοποιεί, ότι όσες τιμές στέλνει το κύριο πρόγραμμα στη διαδικασία τόσες και οι τιμές που στέλνει η διαδικασία στο κύριο πρόγραμμα, είτε άλλαξαν είτε δεν άλλαξαν τιμή. Που θα στέλνει το υποπρόγραμμα τις τιμές αν για παραμέτρους έχουμε σταθερές ή εκφράσεις;

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

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 5208
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Παράμετροι : Τιμές και μεταβλητές
« Απάντηση #24 στις: 18 Μάρ 2010, 06:00:47 μμ »
Προφανώς οι τιμές που δεν μπορούν να επιστραφούν απορρίπτονται.
Στις συναρτήσεις δηλαδή πώς θα ήταν το σχήμα; Ή, γιατί δεν έχει ξεχωριστό σχήμα για τις συναρτήσεις;

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

Το ίδιο συμβαίνει και σε πολλές άλλες έννοιες, π.χ. στην ΓΡΑΨΕ δεν αναφέρεται ότι επιτρέπονται εκφράσεις - όταν όμως τους είχα πει ότι κάποιοι συνάδελφοι θεωρούν λάθος την ΓΡΑΨΕ χ+1, δεν μπορούσαν να πιστέψουν ότι υπήρχε τέτοια παρανόηση... Τέλος πάντων, δεν νομίζω ότι μπορώ να προσφέρω κάτι άλλο στη συζήτηση, τα έχουμε πει δεκάδες φορές τα τελευταία χρόνια. Απλά καλό θα είναι να ζητηθεί επίσημη διευκρίνηση από κάποιον που διδάσκει φέτος το μάθημα για να μην γίνονται λάθη στις βαθμολογήσεις.

ntzios kostas

  • Καθηγητής Πληροφορικής
  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 600
    • Ανάπτυξη Εφαρμογών
Απ: Παράμετροι : Τιμές και μεταβλητές
« Απάντηση #25 στις: 20 Μάρ 2010, 11:15:09 πμ »
Έστω η διαδικασία:

Διαδικασία Δ(Ν)
...
Αρχή
Ν<-Ν+1
Τέλος_Διαδικασίας

και οι εντολες

Ν<-5
Κάλεσε Δ(Ν)
γράψε Ν
Κάλεσε Δ(Ν-1)
γράψε Ν

Τι λες στους μαθητές σου ότι εμφανίζεται σε αυτή την περίπτωση;

Και γενικότερα τι λες στους μαθητές σου για τις παραμέτρους;

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

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3171
  • to Iterate is human to Recurse divine
Απ: Παράμετροι : Τιμές και μεταβλητές
« Απάντηση #26 στις: 20 Μάρ 2010, 11:24:09 πμ »
  λογικά θα είναι

  Ν' <-- Ν' + 1

όπου Ν' = Ν-1

άρα Ν <- Ν +1 άρα το Ν αυξάνεται κατά 1  :D

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

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

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

Νίκος Αδαμόπουλος

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2788
  • Πύργος Ηλείας
Απ: Παράμετροι : Τιμές και μεταβλητές
« Απάντηση #27 στις: 20 Μάρ 2010, 05:12:30 μμ »
... είναι απλό ο μεταγλωττιστής να έχει υλοποιηθεί έτσι ώστε αν η πραγματική παράμετρος είναι σταθερά ή έκφραση τότε η μεταβίβαση των τιμών να γίνεται προς την μία κατεύθυνση μονάχα, όπως στις συναρτήσεις...

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 5208
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Παράμετροι : Τιμές και μεταβλητές
« Απάντηση #28 στις: 20 Μάρ 2010, 06:54:22 μμ »
... είναι απλό ο μεταγλωττιστής να έχει υλοποιηθεί έτσι ώστε αν η πραγματική παράμετρος είναι σταθερά ή έκφραση τότε η μεταβίβαση των τιμών να γίνεται προς την μία κατεύθυνση μονάχα, όπως στις συναρτήσεις...
Αυτό ακριβώς έχω υλοποιήσει στο Διερμηνευτή, και το έκανα έτσι επειδή έτσι μου είπανε οι συγγραφείς να τον υλοποιήσω... θα μου έπαιρνε πολύ λιγότερο χρόνο και κόπο (και RAM) αν υλοποιούσα αυτό που λένε ο Κώστας κι ο Παναγιώτης, αλλά δεν ήταν αυτό το σκεπτικό τους...

Παναγιώτης Τσιωτάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3228
  • I love you more than 3000
    • Panagiotis Tsiotakis
Απ: Παράμετροι : Τιμές και μεταβλητές
« Απάντηση #29 στις: 20 Μάρ 2010, 07:58:29 μμ »
δεν είχαν παρά να υλοποιήσουν το σκεπτικό τους εντός του διδακτικού πακέτου όταν το έγραφαν.
και βέβαια η συγγραφική ομάδα είναι πολυμελής

αν βγει τροποποίηση απο ΠΙ θα συμφωνήσω Αλκη 100%

axi

  • Θαμώνας
  • ***
  • Μηνύματα: 20
  • There are no Dumb Questions!
Απ: Παράμετροι : Τιμές και μεταβλητές
« Απάντηση #30 στις: 20 Μάρ 2010, 11:48:00 μμ »
Εδώ νομίζω ότι ο Άλκης έχει πέρα για πέρα δίκιο. Απλά τους ξέφυγε.
Εξάλου μέσα στο βιβλίο υπάρχει η αναδρομή.
Θα κάνεις αναδρομή χωρίς να στείλεις έκφραση;
καταντάει βαρετό και ασύμφορο να θέλεις να στείλεις μια τιμή
και να πρέπει να ορίσεις μια μεταβλητή για το λόγο αυτό.

ntzios kostas

  • Καθηγητής Πληροφορικής
  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 600
    • Ανάπτυξη Εφαρμογών
Απ: Παράμετροι : Τιμές και μεταβλητές
« Απάντηση #31 στις: 22 Μάρ 2010, 09:11:16 πμ »
Γιατί πρέπει να έχεις έκφραση για να κάνεις αναδρομή δεν το καταλαβαίνω.

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

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 5208
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Παράμετροι : Τιμές και μεταβλητές
« Απάντηση #32 στις: 22 Μάρ 2010, 10:17:07 πμ »
Δεν έχουμε μεταβίβαση παραμέτρων by reference.

Το βιβλίο μιλάει για αντιγραφή των τιμών των παραμέτρων (και επαναφορά τους κατά το ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ), όχι για μεταβίβαση των διευθύνσεών τους στη RAM.
Για να είχαμε by reference θα έπρεπε να είχαν πει για pointers, και προφανώς αυτό ήταν που ήθελαν να αποφύγουν...

Παράδειγμα:
Κώδικας: [Επιλογή]
Κυρίως πρόγραμμα:
  α <- 1
  ΚΑΛΕΣΕ Διαδικασία1(α)

Διαδικασία1(β)
  β <- 2
  ****ΕΔΩ*****
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

Στο σημείο "ΕΔΩ" της διαδικασίας, η μεταβλητή α του κυρίως προγράμματος ΔΕΝ έχει αλλάξει (μπορείς να το δεις και από την παρακολούθηση μεταβλητών του Διερμηνευτή). Σύμφωνα με το βιβλίο, αλλάζει με το ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ, όχι πιο πριν. Δηλαδή πρόκειται για διαφορετικές μεταβλητές, όπως περιγράφει και το σχήμα του βιβλίου.
Αν ήταν by reference, τότε η "β" θα ήταν η ίδια μεταβλητή με την "α", οπότε στο σημείο "ΕΔΩ" θα άλλαζαν ταυτόχρονα και οι δύο, δεν θα περιμέναμε το ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ...

Να ξαναδώσω το link της βοήθειας του Διερμηνευτή στο οποίο τα περιγράφω αναλυτικά:
https://alkisg.mysch.gr/ΓΛΩΣΣΑ/Μεταβίβαση_παραμέτρων/