Panelinies - Texnologiki - Programatismos.. aporia..

Giorgos Keramidas keramida at ceid.upatras.gr
Sun Jun 4 07:59:34 EEST 2006


On 2006-06-02 11:42, Αλέξανδρος Διαμαντίδης <adia at hellug.gr> wrote:
>* Giorgos Keramidas [2006-05-31 14:51]:
>> >> Υστερα από αυτό, εγώ τουλάχιστον, χωρίς να δω τον ακριβή ορισμό
>> >> της ψευδογλώσσας *ΔΕΝ* ξέρω τι ακριβώς ήθελε το θέμα.  Ασε που
>> >> φοβάμαι ότι και να τον δω, πάλι δε θα ξέρω...
>[...]
>> Πρέπει σίγουρα να διαβάσω προσεκτικά τα βιβλία της ύλης...
>>
>> Κανείς που να τα έχει πρόχειρα και να είναι κοντά στην Πάτρα;
>
> Με μια αναζήτηση στο δίκτυο, βρήκα το εξής:
>
> http://www.alkisg.com/help/Bon8eia.htm
>
>> Τα προαναφερθέντα «με αναφορά» και «με τιμή» γράφηκαν έτσι για
>> λόγους ευκολίας. Στην πραγματικότητα η ΓΛΩΣΣΑ (σελ. 218
>> βιβλίου μαθητή) δεν υποστηρίζει παραμέτρους ούτε με τιμή ούτε
>> με αναφορά, αλλά περιγράφει μεταβίβαση παραμέτρων με αντιγραφή
>> (copy in - copy out). Αυτό δεν μπορεί να υποστηριχθεί ούτε από
>> την Pascal ούτε από την Basic. Για παράδειγμα αν καλέσουμε τη
>> Διαδικασία Αντιμετάθεσε(α, β) από το κυρίως πρόγραμμα με
>> παραμέτρους γ και δ, τότε πριν τελειώσει η διαδικασία τα α, β
>> θα έχουν αλλάξει τιμές αλλά τα γ και δ όχι! Μόνο όταν
>> εκτελεστεί η εντολή τέλος_διαδικασίας θα αντιγραφούν οι
>> ανανεωμένες τιμές στα α και β. Αυτό μπορείτε να το δείτε από
>> την καρτέλα «Μεταβλητές» του Διερμηνευτή αλλάζοντας το
>> υποπρόγραμμα που παρακολουθείτε από το πλαίσιο «Κληθέντα
>> υποπρογράμματα». Μία ακόμα τεράστια διαφορά της μεταβίβασης
>> παραμέτρων με αντιγραφή από τις καθιερωμένες είναι η εξής:
>> έστω ότι έχουμε μία Διαδικασία Αύξησε(α, β) η οποία να αυξάνει
>> το α και το β κατά ένα. Αν την καλέσουμε με παραμέτρους (α, α)
>> δεν θα αυξήσει το α δύο φορές, αλλά μόνο μία! Αυτό γίνεται
>> επειδή δημιουργούνται δύο αντίγραφα του α και περνιούνται
>> παράμετροι στη διαδικασία. Η διαδικασία αυξάνει το κάθε ένα
>> από αυτά κατά 1 και στο τέλος αντιγράφει την τιμή τους στις
>> παραμέτρους, δηλαδή τα βάζει δύο φορές στη μεταβλητή α.

Ενδιαφέρον.  Ευχαριστώ που έκατσες και αφιέρωσες το χρόνο να
βρεις τί ακριβώς γίνεται :)




More information about the Linux-greek-users mailing list