MINT üben

Compiler und Interpreter

Zwei Textaufgaben mit Hinweisen und Erwartungshorizont zu Compiler, Interpreter und Bytecode im Schulalltag.

Dein Fortschritt:
0 / 0 Aufgaben
1

Notenrechner in der Informatik-AG

AFB I–II

In der Informatik-AG programmieren Emma und Ben einen Notenrechner mit 20 Zeilen. Emma schreibt ihn in C und kompiliert ihn auf dem Windows-PC der AG zu noten.exe. Ben schreibt denselben Rechner in Python als noten.py. Die AG besitzt außerdem einen Raspberry Pi mit ARM-Prozessor und Linux, auf dem Python installiert ist.

Zwei Wege vom Quelltext zum Prozessor
Weg 1 · Emma (C)noten.cCompilernoten.exe(Maschinencode)Prozessoreinmal, vor dem StartWeg 2 · Ben (Python)noten.pyInterpreterübersetzt und führt Zeile für Zeile ausProzessorbei jedem Start, während des Laufs
Beim Compiler sind Übersetzen und Ausführen getrennt, beim Interpreter wechseln sie sich während des Laufs ab.
  1. Gib für beide Wege an, was auf dem Rechner einer Mitschülerin vorhanden sein muss, damit sie den Notenrechner starten kann.
  2. Beide haben sich in Zeile 12 vertippt und einen Funktionsnamen falsch geschrieben. Zeile 12 wird bei jedem Lauf erreicht. Stelle dar, was jeweils passiert, wenn Emma bzw. Ben das Programm zum Laufen bringen wollen.
  3. Begründe, warum Bens noten.py auch auf dem Raspberry Pi läuft, Emmas noten.exe dort aber nicht.

Hinweise

Hinweis zu Aufgabe a)
Folge in der Abbildung jeweils dem Weg bis zum Prozessor. Was wird davon beim Start noch gebraucht?
Hinweis zu Aufgabe b)
Wann wird bei Emma übersetzt — und wann bei Ben?
Hinweis zu Aufgabe c)
Für welchen Prozessor und welches Betriebssystem ist der Maschinencode in noten.exe gemacht?