1. Index-Grenze
Fehlerhafte Aussage: „Die Schleife läuft von 0 bis getLength().“
Korrektur und Merksatz
Richtig: Der letzte gültige Index ist getLength() − 1.
Merke: Grenzen immer mit einer Reihung aus zwei Elementen prüfen.
INFORMATIK · GRUNDKURS · KAPITEL 9
Zwölf Fehler aus Algorithmen, Datenstrukturen, Datenbanken, Kryptologie und Automaten erkennen und berichtigen.
Die Aussagen sind absichtlich falsch. Formuliere jeweils eine Verbesserung, bevor du die Auflösung öffnest. Übe den Gedanken danach im interaktiven Training.
Fehlerhafte Aussage: „Die Schleife läuft von 0 bis getLength().“
Richtig: Der letzte gültige Index ist getLength() − 1.
Merke: Grenzen immer mit einer Reihung aus zwei Elementen prüfen.
Fehlerhafte Aussage: „Im Struktogramm ergibt 7 / 2 den Wert 3,5.“
Richtig: Zwischen ganzen Zahlen steht / für die Division ohne Rest: 3.
Merke: mod liefert den Rest, / den ganzzahligen Anteil.
Fehlerhafte Aussage: „getName() gibt den Namen mit print aus.“
Richtig: Die Operation muss den Namen zurückgeben: return name.
Merke: Rückgabetyp in der Signatur = return im Code.
Fehlerhafte Aussage: „Nach b ← a gibt es zwei Objekte.“
Richtig: b verweist auf dasselbe Objekt wie a; nur „erzeuge“ legt ein neues an.
Merke: Änderungen über b sind auch über a sichtbar.
Fehlerhafte Aussage: „x ← s.pop() kann man immer aufrufen.“
Richtig: Vorher mit isEmpty() prüfen — sonst Laufzeitfehler.
Merke: Die Vorgaben verlangen, Laufzeitfehler explizit auszuschließen.
Fehlerhafte Aussage: „Nach delete(i) wird i erhöht.“
Richtig: Das nächste Element rückt auf Position i und würde übersprungen.
Merke: i nur erhöhen, wenn nicht gelöscht wurde.
Fehlerhafte Aussage: „WHERE COUNT(*) > 2“
Richtig: Bedingungen an Aggregate gehören in HAVING.
Merke: WHERE filtert Zeilen, HAVING Gruppen.
Fehlerhafte Aussage: „SELECT * FROM Kunde, Bestellung liefert die Bestellungen jedes Kunden.“
Richtig: Ohne WHERE Kunde.KNr = Bestellung.KNr entsteht das kartesische Produkt.
Merke: Jede weitere Tabelle braucht eine Verbundbedingung.
Fehlerhafte Aussage: „Alice signiert mit Bobs öffentlichem Schlüssel.“
Richtig: Signiert wird mit dem eigenen privaten Schlüssel.
Merke: Verschlüsseln: öffentlich (Empfänger) · Signieren: privat (Absender).
Fehlerhafte Aussage: „aaab wird zu a3b1.“
Richtig: Die Vorgaben verlangen Anzahl-Wert: 3a1b.
Merke: Erst die Anzahl, dann der Wert.
Fehlerhafte Aussage: „Für Zeichen, die nicht passen, zeichne ich keinen Pfeil.“
Richtig: Jeder Zustand braucht für jedes Zeichen einen Übergang — ein Fehlerzustand darf nur mit Erläuterung fehlen.
Merke: Nach dem Zeichnen Zustand für Zustand abzählen.
Fehlerhafte Aussage: „Beurteilen Sie …“ — Antwort: eine Liste von Vor- und Nachteilen.
Richtig: Beurteilen verlangt ein begründetes Urteil am Ende.
Merke: Kriterium, Abwägung, Urteil.