Hallo!
Die Frage ist, was das Programm ausgeben soll:
1. Den eingegebenen Quellcode - dann ist das ganz einfach. Bei einer Konsolenanwendung muß man mit Readln die Quelldatei zeilenweise einlesen und mit Writeln auf dem Bildschirm ausgeben. Ein Windows-Programm könnte das Ganze sogar mit men Memo erledigen - das wäre dann ein 2-Zeiler!
2. Bei jeder Anweisung die entsprechede Source-Zeile ausgeben, also einen Ablauf-Verfolger (Trace). Das geht grundsätzlich nicht. Allenfalls könnte man das Programm erstellen und dann zusätzlich bei jede Zeile den auszuführenden Code mit Writeln ausgeben. Dazu muß aber das Programm gegenüber dem ausgegebenen "Quelltext" verändert werden.
Delphi-Quellcode:
program test;
var v:Byte;
procdure up (var a:Byte);
begin
writeln ('procedure up (var a:Byte);');
writeln ('begin')
writeln ('inc (a);');
inc (a);
writeln ('end;');
end;
begin
writeln ('program test;');
writeln ('var v:Byte;');
writeln ('begin');
writeln ('v := 5;');
v := 5;
writeln ('up (v)');
up (v);
Writeln ('end.')
end.
Vermutlich hat der Lehrer Variante 1 gemeint!
Gruß
Dietmar Brüggendiek