
253
ΑΕΠΠ – Εκδόσεις ΜΠΑΧΑΡΑΚΗ
Α3.
Να γραφούν σε ΓΛΩΣΣΑ οι εντολές που ανταλλάσσουν τα στοιχεία της
δεύτερης γραμμής με εκείνα της πέμπτης γραμμής ενός πίνακα ακεραίων
5x6. (Μονάδες 6)
Απάντηση:
A3.
Για j από 1 μεχρι 6
temp
table [2,j]
table [2,j]
table [5,j]
table [5,j]
temp
Τέλος_επανάληψης
Α4.
Όταν καλείται ένα υποπρόγραμμα, η διεύθυνση επιστροφής
αποθηκεύεται σε μια στοίβα. Να εξηγήσετε γιατί απαιτείται η χρήση στοίβας
και όχι ουράς. (Μονάδες 4)
Απάντηση:
A4.
Η έννοια της στοίβας είναι πολύ χρήσιμη στο ίδιο το λογισμικό των γλωσσών
προγραμματισμού. Όταν μία διαδικασία ή συνάρτηση καλείται από το κύριο
πρόγραμμα, τότε η αμέσως επόμενη διεύθυνση του κύριου προγράμματος, που
ονομάζεται
διεύθυνση επιστροφής
, αποθηκεύεται από το μεταφραστή σε μία
στοίβα που ονομάζεται
στοίβα χρόνου εκτέλεσης
. Μετά την εκτέλεση της
διαδικασίας ή της συνάρτησης η διεύθυνση επιστροφής απωθείται από τη στοί-
βα και έτσι ο έλεγχος του προγράμματος μεταφέρεται και πάλι στο κύριο
πρόγραμμα. Η τεχνική αυτή εφαρμόζεται και γενικότερα, δηλαδή οποτεδήποτε
μία διαδικασία ή συνάρτηση καλεί μία διαδικασία ή συνάρτηση. Για
παράδειγμα, έστω ότι μία διαδικασία a καλεί τη διαδικασία b, που με τη σειρά
της καλεί τη διαδικασία c κοκ. Στην περίπτωση αυτή οι διευθύνσεις επιστροφής
εμφανίζονται στη στοίβα με σειρά c, b, a. Μετά την εκτέλεση κάθε διαδικασίας,
η διεύθυνση επιστροφής απωθείται από τη στοίβα και ο έλεγχος μεταβιβάζεται
στη διεύθυνση αυτή. Το παράδειγμα αυτό δείχνει μία από τις πολλές