2) Bespreek het concept "pointer" in al zijn facetten
3) a) Geef de ouput van onderstaand programma
3) b) teken de run-time stack zo duidelijk mogelijk (annoteer met commentaar waar nodig) net voor de finale terugkeer uit Magic bij de toekenning van z[0] in LoopArray
Code: Select all
Module Examen;
Import OutExt;
PROCEDURE Magic(a: INTEGER; b: LONGINT): LONGINT;
BEGIN
IF((a - b) < 1) THEN
RETURN b;
ELSE
RETURN b + Magic(a, b + 2);
END;
END Magic;
PROCEDURE LoopArray(k: INTEGER; VAR z: ARRAY OF CHAR);
VAR
i: LONGINT;
BEGIN
FOR i := 0 TO LEN(z) - 1 DO
z[i] := CHR(Magic(k, i) + ORD('a'));
END;
END LoopArray;
PROCEDURE Doe*;
VAR
i: INTEGER;
a: ARRAY 2 OF CHAR;
BEGIN
LoopArray(1, a);
FOR i := 0 TO 1 DO
OutExt.Char(a[i]);
END;
OutExt.Ln;
END Doe;
BEGIN
END Examen.