Παράμετροι Έκφραση

Ξεκίνησε από Νίκη, 31 Ιαν 2015, 06:05:50 ΜΜ

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

Νίκη

Γνωρίζω πως έχει συζητηθεί στο παρελθόν, αλλά θα ήθελα μια πρόσφατη απάντηση στο ερώτημα: "Μπορεί η παράμετρος ή οι παράμετροι στην κλήση μιας διαδικασίας να είναι μια έκφραση;" Π.χ:
.........
α<-5
β<-10
Κάλεσε Δ1(α+1, β)
.........

Ευχαριστώ.

petrosp13

Όχι, γιατί δεν μπορεί να γίνει αντιγραφή των παραμέτρων από την διαδικασία προς τα πίσω
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

evry

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

Κώδικας: PASCAL
ΠΡΟΓΡΑΜΜΑ τεστ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: Α, Β, Δ
ΑΡΧΗ
  Α <- 10
  Β <- 20
  ΚΑΛΕΣΕ Γ(Α + 4, Β + 5) 
  ΓΡΑΨΕ Α, Β

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΔΙΑΔΙΚΑΣΙΑ Γ(Χ, Υ) 
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: Χ, Υ
ΑΡΧΗ
  Χ <- 3*Χ
  Υ <- 3*Υ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ


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

sstergou

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

alkisg

Και οι πύργοι του Ανόι και το αναδρομικό παραγοντικό χρησιμοποιούν σταθερές/εκφράσεις. Αφού υπάρχουν σχετικά παραδείγματα στο βιβλίο δεν νομίζω ότι τίθεται θέμα.
https://alkisg.mysch.gr/ΓΛΩΣΣΑ/Μεταβίβαση_παραμέτρων/

evry

κάνετε λάθος και οι δυο.
Αυτά είναι εκτός ύλης!!  :D
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

petrosp13

Άρα η αντιγραφή προς τα πίσω που διδάσκουμε πάει περίπατο;;;;;
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

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

παιδιά δεν έχει νόημα να επιστρέφει τιμή σε έκφραση

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


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

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

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


evry

τι εννοείς δεν έχει νόημα;
το παρακάτω παράδειγμα που παραθέτω είναι λάθος;

Κώδικας: pascal
ΠΡΟΓΡΑΜΜΑ ΠΑΡΑΜΕΤΡΟΙ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: Α, Β, Γ, Δ, Σ
ΑΡΧΗ
  Α <- 5 ,   Β <- 10 ,   Γ <- 15 ,   Δ <- 20
  ΚΑΛΕΣΕ ΑΘΡΟΙΣΜΑ(Α + Β, Γ + Δ, Σ) 
  ΓΡΑΨΕ Σ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΔΙΑΔΙΚΑΣΙΑ ΑΘΡΟΙΣΜΑ(Α, Β, Σ) 
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: Α, Β, Σ
ΑΡΧΗ
  Σ <- Α + Β
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ


Παράθεση από: janag79 στις 31 Ιαν 2015, 09:53:07 ΜΜ
παιδιά δεν έχει νόημα να επιστρέφει τιμή σε έκφραση
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

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

Παράθεση από: evry στις 31 Ιαν 2015, 10:00:18 ΜΜ
τι εννοείς δεν έχει νόημα;
το παρακάτω παράδειγμα που παραθέτω είναι λάθος;

Κώδικας: pascal
ΠΡΟΓΡΑΜΜΑ ΠΑΡΑΜΕΤΡΟΙ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: Α, Β, Γ, Δ, Σ
ΑΡΧΗ
  Α <- 5 ,   Β <- 10 ,   Γ <- 15 ,   Δ <- 20
  ΚΑΛΕΣΕ ΑΘΡΟΙΣΜΑ(Α + Β, Γ + Δ, Σ) 
  ΓΡΑΨΕ Σ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΔΙΑΔΙΚΑΣΙΑ ΑΘΡΟΙΣΜΑ(Α, Β, Σ) 
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: Α, Β, Σ
ΑΡΧΗ
  Σ <- Α + Β
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ


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

evry

Δεν ξέρω αν το κατάλαβες, αλλά το δικό σου παράδειγμα επέκτεινα.
Θεωρείς ότι μόνο στη Σ αντιγράφεται πίσω τιμή και όχι στις  παραμέτρους Α και Β?

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

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

Παράθεση από: evry στις 31 Ιαν 2015, 10:09:22 ΜΜ
Δεν ξέρω αν το κατάλαβες, αλλά το δικό σου παράδειγμα επέκτεινα.
Θεωρείς ότι μόνο στη Σ αντιγράφεται πίσω τιμή και όχι στις  παραμέτρους Α και Β?


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

evry

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

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

Παράθεση από: evry στις 31 Ιαν 2015, 10:18:22 ΜΜ
ναι συμφωνούμε σε δυο πράγματα:
1) όλες οι παραμέτροι αντιγράφονται πίσω
2) μπορείς να περάσεις σταθερές και εκφράσεις ως παραμέτρους σε διαδικασία από τη στιγμή που υπάρχει παράδειγμα στο βιβλίο

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

evry

Το παράδειγμα που αναφέρεις δεν αποδεικνύει τίποτα, γιατί δεν ξέρουμε πως υλοποιείται ο μηχανισμός μεταβίβασης παραμέτρων στην ΓΛΩΣΣΑ.
Για παράδειγμα μπορείς να πεις τι θα εμφανίσει το παρακάτω πρόγραμμα;
Κώδικας: pascal
ΠΡΟΓΡΑΜΜΑ ΠΑΡΑΜΕΤΡΟΙ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ:  Σ
ΑΡΧΗ
  Σ <- 1
  ΚΑΛΕΣΕ ΛΑΘΟΣ(Σ, Σ, Σ) 
  ΓΡΑΨΕ Σ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΔΙΑΔΙΚΑΣΙΑ ΛΑΘΟΣ(Α, Β, Σ) 
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: Α, Β, Σ
ΑΡΧΗ
  Σ <- Α + Β
  Β <- Α
  Α <- 0
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ


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