Übungsaufgaben
Zehn Übungen zum Klicken, Zuordnen, Rechnen und Knobeln — von AFB I bis AFB III. Gemeint sind immer die Methoden codiere und dekodiere aus der Inhaltsseite.
Geben Sie den Rückgabewert von codiere("MMMMMMMMMMMNNO") an.
"11M2N1O". Auch ein einzelnes Zeichen bekommt seine Anzahl 1.Ordnen Sie jedem Code den Text zu, den dekodiere liefert.
Beschreiben Sie, welche Operationen dekodiere nutzt — füllen Sie die Lücken, ein Wort bleibt übrig.
Die Schleife läuft bis code.. Jedes Zeichen liest code.. Den Zahlwert einer Ziffer liefert . Eine neue Ziffer ergänzt die Anzahl über plus Ziffer. Angehängt wird mit dem Operator .
split() gehört nicht zu den zugelassenen Zeichenkettenoperationen der Abitur-Hinweise — die Methode kommt ohne aus.Erstellen Sie die Methode codiere(String text), indem Sie die Zeilen in die richtige Reihenfolge bringen.
String code = ""; int i = 0;
while (i < text.length()) {
char wert = text.charAt(i); int anzahl = 0;
while (i < text.length() && text.charAt(i) == wert) { anzahl++; i++; }
code = code + anzahl + wert;
}
return code;
anzahl = 0 gehört in die äußere Schleife — sonst zählt jeder Lauf die vorigen mit. Das Paar wird erst nach der inneren Schleife angehängt.Stellen Sie den Ablauf von dekodiere("3a12b") in einer Tracetabelle dar: Werte nach jedem Schleifendurchlauf.
| i | c | anzahl | Länge von text |
|---|---|---|---|
| 0 | 3 | ||
| 1 | a | ||
| 2 | 1 | ||
| 3 | 2 | ||
| 4 | b |
anzahl wieder auf 0 — ohne diese Zeile würde die nächste Anzahl falsch weitergezählt.Karl hat codiere mit einer for-Schleife geschrieben. Überprüfen Sie jede Zeile.
"AAB" liefert Karls Methode "2B" statt "2A1B". Die while-Variante aus dem Unterricht vermeidet beide Fehler."AAB" durch.Eine Pixelzeile aus 60 Zeichen wird mit codiere verarbeitet; gezählt werden Zeichen. Berechnen Sie die Kennzahlen.
- Codelänge bei 30 W, 5 S, 25 W Zeichen
- Kompressionsverhältnis k %
- Codelänge bei WSWS… (60 Zeichen) Zeichen
- Kompressionsverhältnis k %
Nina codiert den Text "R2D2" und dekodiert das Ergebnis wieder. Bewerten Sie die Aussagen — markieren Sie alle zutreffenden.
dekodiere("1R121D12") liest 1R, dann die Ziffern 1, 2, 1 als Anzahl 121 und hängt 121-mal D an; die Ziffern 12 am Ende bleiben ohne Wert. Beide Methoden sind korrekt — das Format ist für diese Daten ungeeignet.codiere Lauf für Lauf aus.dekodiere die Ziffernfolge 121?Der Baum hat die Codes O = 0, L = 10, T = 110, F = 111. Dekodiert wird "0100". Beurteilen Sie die Folgen.
Fehlt die Zeile knoten = wurzel;, liefert die Methode
Wird der Blatt-Test vor dem Wandern ausgeführt, ergibt sich
Die Anzahl der Schleifendurchläufe der korrekten Methode ist
knoten nach „O“ auf einem Blatt; das nächste Bit führt in dessen leeren Teilbaum, und spätestens das Weiterwandern im leeren Baum scheitert mit einer Exception. Mit dem Test vor dem Wandern wird jedes Zeichen erst im nächsten Durchlauf ausgegeben; das letzte nie.knoten nach dem ersten Bit?Ein Team kann nur ein Verfahren umsetzen. Legen Sie sich für jede Datenart fest.
