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

Νίκη

  • Νέος
  • *
  • Μηνύματα: 6
Παράμετροι Έκφραση
« στις: 31 Ιαν 2015, 06:05:50 μμ »
Γνωρίζω πως έχει συζητηθεί στο παρελθόν, αλλά θα ήθελα μια πρόσφατη απάντηση στο ερώτημα: "Μπορεί η παράμετρος ή οι παράμετροι στην κλήση μιας διαδικασίας να είναι μια έκφραση;" Π.χ:
.........
α<-5
β<-10
Κάλεσε Δ1(α+1, β)
.........

Ευχαριστώ.

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2205
Απ: Παράμετροι Έκφραση
« Απάντηση #1 στις: 31 Ιαν 2015, 08:29:32 μμ »
Όχι, γιατί δεν μπορεί να γίνει αντιγραφή των παραμέτρων από την διαδικασία προς τα πίσω
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3133
  • to Iterate is human to Recurse divine
Απ: Παράμετροι Έκφραση
« Απάντηση #2 στις: 31 Ιαν 2015, 08:48:45 μμ »
Δεν είναι ξεκάθαρο αν αυτό είναι σωστό ή λάθος.
Από την στιγμή που η ΓΛΩΣΣΑ δεν ορίζεται αυστηρά στο σχολικό βιβλίο μπορούμε να υποθέσουμε ότι θέλουμε. Για παράδειγμα το παρακάτω τρέχει μια χαρά στον διερμηνευτή της ΓΛΩΣΣΑΣ που αν δεν κάνω λάθος ανήκει στο πακέτο Αλγοριθμική που θεωρείται το εγκεκριμένο από το Υπουργείο λογισμικό του μαθήματος

Κώδικας: Pascal
  1. ΠΡΟΓΡΑΜΜΑ τεστ
  2. ΜΕΤΑΒΛΗΤΕΣ
  3.   ΑΚΕΡΑΙΕΣ: Α, Β, Δ
  4. ΑΡΧΗ
  5.   Α <- 10
  6.   Β <- 20
  7.   ΚΑΛΕΣΕ Γ(Α + 4, Β + 5)
  8.   ΓΡΑΨΕ Α, Β
  9.  
  10. ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
  11.  
  12. ΔΙΑΔΙΚΑΣΙΑ Γ(Χ, Υ)
  13. ΜΕΤΑΒΛΗΤΕΣ
  14.   ΑΚΕΡΑΙΕΣ: Χ, Υ
  15. ΑΡΧΗ
  16.   Χ <- 3*Χ
  17.   Υ <- 3*Υ
  18. ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
  19.  

Το μόνο βέβαιο είναι ότι αποκλείεται να κόψει για αυτό βαθμολογητής στις εξετάσεις.
« Τελευταία τροποποίηση: 31 Ιαν 2015, 09:13:54 μμ από evry »
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

sstergou

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 983
  • Program or be Programmed
    • pseudoglossa.gr
Απ: Παράμετροι Έκφραση
« Απάντηση #3 στις: 31 Ιαν 2015, 08:58:57 μμ »
Είναι και το γνωστό παράδειγμα με τους πύργους του Ανόι που αν θυμάμαι καλά χρησιμοποιεί και αυτό σταθερές.
Στάθης Στέργου - sstergouATgmailDOTcom - http://www.pseudoglossa.gr

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 4860
    • alkisg@im.sch.gr
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Παράμετροι Έκφραση
« Απάντηση #4 στις: 31 Ιαν 2015, 09:08:32 μμ »
Και οι πύργοι του Ανόι και το αναδρομικό παραγοντικό χρησιμοποιούν σταθερές/εκφράσεις. Αφού υπάρχουν σχετικά παραδείγματα στο βιβλίο δεν νομίζω ότι τίθεται θέμα.
http://alkisg.mysch.gr/ΓΛΩΣΣΑ/Μεταβίβαση_παραμέτρων/

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3133
  • to Iterate is human to Recurse divine
Απ: Παράμετροι Έκφραση
« Απάντηση #5 στις: 31 Ιαν 2015, 09:14:44 μμ »
κάνετε λάθος και οι δυο.
Αυτά είναι εκτός ύλης!!  :D
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2205
Απ: Παράμετροι Έκφραση
« Απάντηση #6 στις: 31 Ιαν 2015, 09:28:41 μμ »
Άρα η αντιγραφή προς τα πίσω που διδάσκουμε πάει περίπατο;;;;;
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

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

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 813
Απ: Παράμετροι Έκφραση
« Απάντηση #7 στις: 31 Ιαν 2015, 09:53:07 μμ »
παιδιά δεν έχει νόημα να επιστρέφει τιμή σε έκφραση

Δηλαδή να γράψω
a<--5
b<--10
ΚΑΛΕΣΕ Δ1(a+b)


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

ΔΙΑΔΙΚΑΣΙΑ Δ1(χ)
..
χ<--10
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

μου λέτε δηλαδή ότι το a+b θα κάνει 10 μετά;; Και πόσο θα είναι το a και πόσο το b;;;


evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3133
  • to Iterate is human to Recurse divine
Απ: Παράμετροι Έκφραση
« Απάντηση #8 στις: 31 Ιαν 2015, 10:00:18 μμ »
τι εννοείς δεν έχει νόημα;
το παρακάτω παράδειγμα που παραθέτω είναι λάθος;

Κώδικας: Pascal
  1. ΠΡΟΓΡΑΜΜΑ ΠΑΡΑΜΕΤΡΟΙ
  2. ΜΕΤΑΒΛΗΤΕΣ
  3.   ΑΚΕΡΑΙΕΣ: Α, Β, Γ, Δ, Σ
  4. ΑΡΧΗ
  5.   Α <- 5 ,   Β <- 10 ,   Γ <- 15 ,   Δ <- 20
  6.   ΚΑΛΕΣΕ ΑΘΡΟΙΣΜΑ(Α + Β, Γ + Δ, Σ)
  7.   ΓΡΑΨΕ Σ
  8. ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
  9.  
  10. ΔΙΑΔΙΚΑΣΙΑ ΑΘΡΟΙΣΜΑ(Α, Β, Σ)
  11. ΜΕΤΑΒΛΗΤΕΣ
  12.   ΑΚΕΡΑΙΕΣ: Α, Β, Σ
  13. ΑΡΧΗ
  14.   Σ <- Α + Β
  15. ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
  16.  

παιδιά δεν έχει νόημα να επιστρέφει τιμή σε έκφραση
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

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

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 813
Απ: Παράμετροι Έκφραση
« Απάντηση #9 στις: 31 Ιαν 2015, 10:04:16 μμ »
τι εννοείς δεν έχει νόημα;
το παρακάτω παράδειγμα που παραθέτω είναι λάθος;

Κώδικας: Pascal
  1. ΠΡΟΓΡΑΜΜΑ ΠΑΡΑΜΕΤΡΟΙ
  2. ΜΕΤΑΒΛΗΤΕΣ
  3.   ΑΚΕΡΑΙΕΣ: Α, Β, Γ, Δ, Σ
  4. ΑΡΧΗ
  5.   Α <- 5 ,   Β <- 10 ,   Γ <- 15 ,   Δ <- 20
  6.   ΚΑΛΕΣΕ ΑΘΡΟΙΣΜΑ(Α + Β, Γ + Δ, Σ)
  7.   ΓΡΑΨΕ Σ
  8. ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
  9.  
  10. ΔΙΑΔΙΚΑΣΙΑ ΑΘΡΟΙΣΜΑ(Α, Β, Σ)
  11. ΜΕΤΑΒΛΗΤΕΣ
  12.   ΑΚΕΡΑΙΕΣ: Α, Β, Σ
  13. ΑΡΧΗ
  14.   Σ <- Α + Β
  15. ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
  16.  

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

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3133
  • to Iterate is human to Recurse divine
Απ: Παράμετροι Έκφραση
« Απάντηση #10 στις: 31 Ιαν 2015, 10:09:22 μμ »
Δεν ξέρω αν το κατάλαβες, αλλά το δικό σου παράδειγμα επέκτεινα.
Θεωρείς ότι μόνο στη Σ αντιγράφεται πίσω τιμή και όχι στις  παραμέτρους Α και Β?

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

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

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 813
Απ: Παράμετροι Έκφραση
« Απάντηση #11 στις: 31 Ιαν 2015, 10:14:45 μμ »
Δεν ξέρω αν το κατάλαβες, αλλά το δικό σου παράδειγμα επέκτεινα.
Θεωρείς ότι μόνο στη Σ αντιγράφεται πίσω τιμή και όχι στις  παραμέτρους Α και Β?


Άρα συμφωνούμε....

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3133
  • to Iterate is human to Recurse divine
Απ: Παράμετροι Έκφραση
« Απάντηση #12 στις: 31 Ιαν 2015, 10:18:22 μμ »
ναι συμφωνούμε σε δυο πράγματα:
1) όλες οι παραμέτροι αντιγράφονται πίσω
2) μπορείς να περάσεις σταθερές και εκφράσεις ως παραμέτρους σε διαδικασία από τη στιγμή που υπάρχει παράδειγμα στο βιβλίο
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

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

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 813
Απ: Παράμετροι Έκφραση
« Απάντηση #13 στις: 31 Ιαν 2015, 10:20:05 μμ »
ναι συμφωνούμε σε δυο πράγματα:
1) όλες οι παραμέτροι αντιγράφονται πίσω
2) μπορείς να περάσεις σταθερές και εκφράσεις ως παραμέτρους σε διαδικασία από τη στιγμή που υπάρχει παράδειγμα στο βιβλίο

Στο δευτερο διαφωνώ, με βάση το παράδειγμα που σου έφερα πιο πάνω

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3133
  • to Iterate is human to Recurse divine
Απ: Παράμετροι Έκφραση
« Απάντηση #14 στις: 31 Ιαν 2015, 10:39:23 μμ »
Το παράδειγμα που αναφέρεις δεν αποδεικνύει τίποτα, γιατί δεν ξέρουμε πως υλοποιείται ο μηχανισμός μεταβίβασης παραμέτρων στην ΓΛΩΣΣΑ.
Για παράδειγμα μπορείς να πεις τι θα εμφανίσει το παρακάτω πρόγραμμα;
Κώδικας: Pascal
  1. ΠΡΟΓΡΑΜΜΑ ΠΑΡΑΜΕΤΡΟΙ
  2. ΜΕΤΑΒΛΗΤΕΣ
  3.   ΑΚΕΡΑΙΕΣ:  Σ
  4. ΑΡΧΗ
  5.   Σ <- 1
  6.   ΚΑΛΕΣΕ ΛΑΘΟΣ(Σ, Σ, Σ)
  7.   ΓΡΑΨΕ Σ
  8. ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
  9.  
  10. ΔΙΑΔΙΚΑΣΙΑ ΛΑΘΟΣ(Α, Β, Σ)
  11. ΜΕΤΑΒΛΗΤΕΣ
  12.   ΑΚΕΡΑΙΕΣ: Α, Β, Σ
  13. ΑΡΧΗ
  14.   Σ <- Α + Β
  15.   Β <- Α
  16.   Α <- 0
  17. ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
  18.  

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