Προεπισκόπηση

Πέρασμα Παραμέτρων

Στόχος της άσκησης είναι η εξάσκηση των βασικών τρόπων περάσματος παραμέτρων σε υπορουτίνες (call by value κ.ο.κ), υπό την εφαρμογή διαφορετικών κανόνων εμβέλειας μεταβλητών (στατικός/δυναμικός).

Ερώτηση: 1
Υποθέτοντας χρήση ΣΤΑΤΙΚΟΥ κανόνα εμβέλειας να παρουσιάσετε τις τιμές που θα εκτυπωθούν στις γραμμές (Α) και (Β) όταν η μεταβίβαση παραμέτρων γίνεται με ΚΛΗΣΗ ΜΕ ΤΙΜΗ (call by value)

 program MAIN;

            var i, j, k, m: integer;

            procedure Q(i, m: integer);

                        begin

                        i:= i+k;

                        m:= j+1;

                        write(i, j, k, m)????(A)

                        end;

            procedure P(i, j: integer);

                        var k: integer;

                        begin

                        k:= 3;

                        i:= i+k;

                        j:= j+k;

                        Q(i, j)

                        end;

begin

i:= 1;  j:= 2;  k:= 4;

P(i, k);

write(i, j, k)???????????(Β)

end.



Απάντηση
Στη γραμμή (Α) θα εκτυπωθεί [8,2,4,3]
Στη γραμμή (Β) θα εκτυπωθεί [1,2,4] (Βαθμολογία: 1 : 1)
Βαθμολογία ερώτησης: 2
Ερώτηση: 2
Στο παραπάνω πρόγραμμα, υποθέτοντας χρήση ΣΤΑΤΙΚΟΥ κανόνα εμβέλειας να παρουσιάσετε τις τιμές που θα εκτυπωθούν στις γραμμές (Α) και (Β) όταν η μεταβίβαση παραμέτρων γίνεται με ΚΛΗΣΗ ΜΕ ΑΝΑΦΟΡΑ (call by reference)


Απάντηση
Στη γραμμή (Α) θα εκτυπωθεί [11,2,3,3]
Στη γραμμή (Β) θα εκτυπωθεί [11,2,3] (Βαθμολογία: 1 : 1)
Βαθμολογία ερώτησης: 2
Ερώτηση: 3
Στο παραπάνω πρόγραμμα, υποθέτοντας χρήση ΣΤΑΤΙΚΟΥ κανόνα εμβέλειας να παρουσιάσετε τις τιμές που θα εκτυπωθούν στις γραμμές (Α) και (Β) όταν η μεταβίβαση παραμέτρων γίνεται με ΚΛΗΣΗ ΜΕ ΤΙΜΗ - ΑΠΟΤΕΛΕΣΜΑ (call by value - result)


Απάντηση
Στη γραμμή (Α) θα εκτυπωθεί [8,2,4,3]
Στη γραμμή (Β) θα εκτυπωθεί [8,2,3] (Βαθμολογία: 1 : 1)
Βαθμολογία ερώτησης: 2
Ερώτηση: 4
Στο παραπάνω πρόγραμμα, υποθέτοντας χρήση ΔΥΝΑΜΙΚΟΥ κανόνα εμβέλειας να παρουσιάσετε τις τιμές που θα εκτυπωθούν στις γραμμές (Α) και (Β) όταν η μεταβίβαση παραμέτρων γίνεται με ΚΛΗΣΗ ΜΕ ΤΙΜΗ (call by value)


Απάντηση
Στη γραμμή (Α) θα εκτυπωθεί [7,7,3,8]
Στη γραμμή (Β) θα εκτυπωθεί [1,2,4] (Βαθμολογία: 1 : 1)
Βαθμολογία ερώτησης: 2
Ερώτηση: 5
Στο παραπάνω πρόγραμμα, υποθέτοντας χρήση ΔΥΝΑΜΙΚΟΥ κανόνα εμβέλειας να παρουσιάσετε τις τιμές που θα εκτυπωθούν στις γραμμές (Α) και (Β) όταν η μεταβίβαση παραμέτρων γίνεται με ΚΛΗΣΗ ΜΕ ΑΝΑΦΟΡΑ (call by reference)


Απάντηση
Στη γραμμή (Α) εκτυπώνεται [7,8,3,8]
Στη γραμμή (Β) εκτυπώνεται [7,2,8] (Βαθμολογία: 1 : 1)
Βαθμολογία ερώτησης: 2
Ερώτηση: 6
Στο παραπάνω πρόγραμμα, υποθέτοντας χρήση ΔΥΝΑΜΙΚΟΥ κανόνα εμβέλειας να παρουσιάσετε τις τιμές που θα εκτυπωθούν στις γραμμές (Α) και (Β) όταν η μεταβίβαση παραμέτρων γίνεται με ΚΛΗΣΗ ΜΕ ΤΙΜΗ - ΑΠΟΤΕΛΕΣΜΑ (call by value - result)


Απάντηση
Στη γραμμή (Α) εκτυπώνεται [7,7,3,8]
Στη γραμμή (Β) εκτυπώνεται [7,2,8] (Βαθμολογία: 1 : 1)
Βαθμολογία ερώτησης: 2
Συνολική βαθμολογία: 12