Καλησπέρα σας όλους και ευχαριστώ εκ των προτέρων για το χρόνο σας και για τα φώτα σας!
Χωρίς να εξετάζω την σκοπιμότητα υλοποίησης του παραπάνω προγράμματος, αν καλούσα την διαδικασία και έβαζα στις μεταβλητές που καλώ το Α δύο φορές και μέσα στην διαδικασία στην πρώτη φορά που το έτρεχα άλλαζα την πρώτη μεταβλητή, δηλαδή το Χ και σας δεύτερη περίπτωση αλλάζω την δεύτερη μεταβλητή το Ζ τι θα περίμενα να εμφανιστεί στο πρόγραμμα;
Σκέφτηκα ότι λογικά την δεύτερη τιμή πάντα αλλά τρέχοντας τον διερμηνευτή διαπίστωσα ότι αυτό δεν ισχύει...
Με την εντολή Χ <- Χ + 1 θα εμφανίσει 2,2,2
Με την εντολή Ζ <- Ζ + 1 θα εμφανίσει 1,1,2
Άρα καταλαβαίνω ότι αυτό που επηρεάζει είναι η πρώτη μεταβλητή. Γιατί;
ΠΡΟΓΡΑΜΜΑ ΑΣΚ
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Α, Υ
ΑΡΧΗ
Α <- 1
ΚΑΛΕΣΕ ΔΙΑΔ(Α, Α, Υ)
ΓΡΑΨΕ Α, Α, Υ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
ΔΙΑΔΙΚΑΣΙΑ ΔΙΑΔ(Χ, Ζ, Ω)
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Χ, Ζ, Ω
ΑΡΧΗ
Ω <- Χ + Ζ
Ζ <- Ζ + 1
! Χ <- Χ + 1
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
Προφανώς είναι θέμα υλοποίησης του διερμηνευτή και πώς αντιγράφει πίσω τις τιμές
Αλλά γιατί να μπλέξεις με κάτι τέτοιο;
Χρήστο δες τη βοήθεια του Διερμηνευτή, περιγράφει και το πως και το γιατί:
https://alkisg.mysch.gr/ΓΛΩΣΣΑ/Μεταβίβαση_παραμέτρων/