Quelltextanalyse Java
Diese Seite ist für Abitur 17 (und folgende) angepasst.
Ziel der Quelltextanalyse ist es, die Funktionsweise einer Methode mithilfe geeigneter Fachbegriffe möglichst kurz und präzise zu beschreiben. Dabei sind Standardformulierungen hilfreich.
- Fachbegriffe dienen der Präzision.
- kurz ist deswegen wichtig, weil man bei der Klausur möglichst wenig Zeit auf das Schreiben verwenden sollte.
- Auf Standardformulierungen sollte man zurückgreifen können - denn die Beschreibung für das Durchlaufen eines Queues oder einer Liste muss man nicht für jede Klausur neu erfinden.
- Beispiele für Standardformulierungen finden sich unten.
- Auf Ästhetik muss nicht geachtet werden, so sind z.B. Wiederholungen am Satzanfang kein Problem.
Standardformulierungen
Mögliche Standardformulierungen werden hier an einem Beispiel aufgezeigt.
Beispiel:
Gegeben ist die Methode tueWas. pQueue enthält lauter Kunden, die nach Einkommen absteigend sortiert sind, d.h. der Kunde mit dem höchsten Einkommen ist vorne.
01 private void tueWas(Queue<Kunde> pQueue, Kunde pKunde) {
Queue<Kunde> hilfs = new Queue<Kunde>();
boolean zzz = false;
while (!pQueue.isEmpty()) {
05 Kunde erster = pQueue.front();
if (zzz == false && pKunde.getGuthaben() > erster.getGuthaben()) {
hilfs.enqueue(pKunde);
zzz = true;
}
10 hilfs.enqueue(erster);
pQueue.dequeue();
}
if(!zzz){
hilfs.enqueue(pKunde);
15 }
while (!hilfs.isEmpty()) {
pQueue.enqueue(hilfs.front());
hilfs.dequeue();
}
20 }
Aufgabe:
- Unterteile die Methode in geeignete Abschnitte und erläutere, was in den einzelnen Abschnitten passiert. Verwende dabei geeignete Fachbegriffe.
- Erläutere, welchen Zweck die lokale Variable
zzzerfüllt und gib ihr einen geeigneten Namen. - Benenne den Zweck, den die Methode erfüllt.
Mögliche ausführliche Lösung
Fachbegriffe sind fett; die Lösung enthält möglichst viele Standardformulierungen.
- Z. 01: Methodenkopf: Die Methode
tueWaserwartet die ParameterpQueue(vom TypQueue) undpKundevom TypKunde. Die Methode gibt nichts zurück. - Z. 02-03: Die lokalen Variablen
hilfs(vom TypQueuevonKunde-Objekten) undzzz(vom Typboolean) werden deklariert;hilfswird als leere Queue initialisiert undzzzmit dem Wertfalse. - Z. 04-12: Eine
while-Schleife wird geöffnet, die so lange läuft, wiepQueuenoch Elemente enthält. Innerhalb der Schleife passiert folgendes:- Z. 05: Das vorderste Element von
pQueuewird in der lokalen Variableerster(vom TypKunde) gespeichert. - Z. 06-09: Wenn
zzzden Wertfalsehat und das Guthaben vonpKundegrößer ist als das Guthaben vonerster, dann passiert folgendes:pKundewird hinten anhilfsangehängt.zzzwird auftruegesetzt.
- Z. 10-11:
ersterwird vonpQueuegelöscht und hinten anhilfsangehängt.
- Z. 05: Das vorderste Element von
- Z. 13-15: Wenn
zzzden Wertfalsehat, dann wirdpKundeanhilfsangehängt.- Das geschieht, wenn
pKundein derwhile-Schleife noch nicht anhilfsangehängt wurde; so wird gewährleistet, dasspKundeauf jeden Fall anhilfsangehängt wird, auch wenn niemand ärmer ist alspKunde.
- Das geschieht, wenn
- Z. 16-19: Alle Elemente von
hilfswerden wieder aufpQueuezurückübertragen.
In der Variablen zzz wird festgehalten, ob pKunde schon in hilfs eingefügt wurde.
zzz heißt deswegen am besten schonEingefuegt.
Die Methode fügt pKunde gemäß seinem Einkommen an der richtigen Stelle in pQueue ein.
Wenn pKunde ärmer ist als alle in pQueue, dann wird er hinten angehängt.
Mögliche kurze Lösung
Fachbegriffe sind fett; die Lösung enthält möglichst viele Standardformulierungen.
- Die Methode
tueWaserwartet die ParameterpQueue(vom TypQueue) undpKundevom TypKunde. Die Methode gibt nichts zurück. - Zu Beginn (Z. 2-3) werden die lokalen Variablen
hilfsundzzzdeklariert;hilfswird als leere Queue initialisiert undzzzmit dem Wertfalse. - In der
while-Schleife (Z.4-12) wirdpQueuenach und nach geleert und hintenhilfsangehängt.- Wenn dabei
pKundeein größeres Einkommen als der vorderste Kunde auspQueuehat und zusätzlichzzznochfalseist, dann wirdpKundehinten anhilfsangehängt undzzzauftruegesetzt.
- Wenn dabei
- Z. 13-15: Wenn
zzzden Wertfalsehat, dann wirdpKundejetzt anhilfsangehängt; das geschieht, wennpKundein derwhile-Schleife noch nicht anhilfsangehängt wurde. - Z. 16-19: Alle Elemente von
hilfswerden wieder aufpQueuezurückübertragen.
In der Variablen zzz wird festgehalten, ob pKunde schon in hilfs eingefügt wurde.
zzz heißt deswegen am besten schonEingefuegt.
Die Methode fügt pKunde gemäß seinem Einkommen an der richtigen Stelle in pQueue ein.
Wenn pKunde ärmer ist als alle in pQueue, dann wird er hinten angehängt.