Daten, Formate, Dokumente Algorithmen

GK Informatik
LPE1
Algorithmen / Aufgaben
Daten, Formate, Dokumente
Für den Computer ist jede Datei nur eine Bytefolge.
Es gibt 2 verschiedene Grundtypen von Dateien:
ƒ
ƒ
Programm-Dateien (.exe, .com, .dll) enthalten
Daten-Dateien (.txt, .doc, .bmp, .jpg) enthalten
Prozessor-Befehle;
Benutzer-Informationen.
Die Zuordnung zwischen Daten und Kodierungs-Information nennt man ein Datenformat.
Algorithmen
z.B. Kodierungsvorschrift für RLE-Komprimierung
ƒ
ƒ
ƒ
Wir denken uns alle Pixel des Bildes in der unter 2a) und 2b)
beschriebenen Reihenfolge in einer "Pixelschlange" aufgereiht.
Setze die "aktive Farbe" auf "schwarz".
Wiederhole nun die folgenden Schritte
{
i.
Bestimme die Anzahl n der am Anfang der Schlange aufeinander folgenden Pixel,
die die aktive Farbe haben. Dabei darf n höchstens 255 werden.
Gibt es mehr als 255 "aktiv"-farbige Pixel hintereinander, dann halte beim 255. Pixel an.
ii.
Schreibe das Byte n in die Daten.
iii.
Streiche die schon gezählten Pixel ab,
d.h.: die Schlange beginnt nun mit dem ersten noch nicht gezählten Pixel.
iv.
Wenn die aktive Farbe "schwarz" ist,
dann:
schalte sie auf "weiß" um,
andernfalls:
schalte sie auf "schwarz" um.
}
solange, bis keine Pixel mehr in der "Schlange" sind.
Eingabe (Pixelbild)
⇒
⇒
Algorithmus (Arbeitsanweisungen)
Ausgabe (Bilddatei)
Drei Grundstrukturen von Arbeitsanweisungen und deren Darstellung (Struktogramm)
1. Sequenz, d.h. Anweisungsfolge:
ƒ
ƒ
Sequenz
Anweisung 1
Setze die "aktive Farbe" auf "schwarz".
Wiederhole nun die folgenden Schritte
2. Schleife, d.h. Wiederholte Ausführung
Wiederhole nun die folgenden Schritte
{
Arbeitsanweisung
}
solange, bis
3. Entscheidung bzw. logische Alternative
Wenn die aktive Farbe "schwarz" ist,
dann:
andernfalls:
Anweisung 2
Schleife
Wiederhole solange bis
Anweisung 1
Anweisung 2
Entscheidung
Weiß?
ja
Schwarz
nein
Weiß
GK Informatik
LPE1
Algorithmen / Aufgaben
Sequenz, Entscheidung und Schleife
sind die universellen Bausteine, aus denen sich jeder noch so komplizierte Algorithmus aufbauen läßt.
1. Der RLE-Algorithmus enthält an einer Stelle eine reichlich komplexe Anweisung, die eigentlich
nur für Menschen verständlich ist, sicher aber nicht für einen Computer, nämlich die Anweisung:
v.
Bestimme die Anzahl n der am Anfang der Schlange aufeinander folgenden Pixel,
die die aktive Farbe haben. Dabei darf n höchstens 255 werden.
Gibt es mehr als 255 "aktiv"-farbige Pixel hintereinander, dann halte beim 255. Pixel an.
Schreibe das Byte n in die Daten.
Zerlegen Sie diese Anweisung in "kleinere Häppchen"
und stellen Sie den Teil-Algorithmus in einem eigenen Struktogramm dar.
2. Erstellen Sie ein Struktogramm für einen Algorithmus,
der aus einer Menge von drei Zahlen {a, b, c} den größten Wert g heraussucht.
3. Erstellen Sie ein Struktogramm für einen Algorithmus,
der aus einer Menge von k Zahlen den größten Wert heraussucht. Obwohl sich diese Aufgabe recht
ähnlich anhört wie die vorige, erfordert sie wahrscheinlich doch einen ganz anderen Lösungsansatz!
4. Stellen Sie den Algorithmus zum
Bestimmen der Lösungsmenge einer linearen Gleichung der Form "a ∗ x + b = 0"
mit einem Struktogramm dar! Beachten Sie dabei, daß hier verschiedene Fälle zu unterscheiden sind, je
nachdem, ob a oder b von Null verschieden sind oder nicht. Daher greift die Idee "x = –b/a" zu kurz.
Selbst für den Fall "a=b=0" sollte Ihr Algorithmus die korrekte Lösungsmenge liefern!
5. Lösen Sie die entsprechende Aufgabe für quadratische Gleichungen der Form "a*x² + b*x + c = 0"!
Sie können dabei voraussetzen, daß es sich bei der gegebenen Gleichung wirklich um eine echte quadratische Gleichung handelt, mit anderen Worten: a darf als verschieden von Null vorausgesetzt werden.
Bemühen Sie aber auch bei dieser Aufgabe darum, daß Ihr Algorithmus für alle dann noch möglichen
Varianten des Problems stets die korrekte Lösungsmenge liefert!
6. Wer eine richtig leistungsfähige Algorithmensammlung aufbauen will, wird die quadratische Gleichung
aus der vorigen Aufgabe etwas allgemeiner sehen: in "a*x² + b*x + c = 0" sollen nun beliebige Werte für
a, b und c zugelassen werden! Damit muss Ihr Algorithmus nun auch den Fall "a = 0" behandeln.
RLE-Komprimierung
Algorithmus zur Run Length Encoding Komprimierung von Monochrom Bildern
Wir denken uns alle Pixel des Bildes in der unter 2a) und 2b)
beschriebenen Reihenfolge in einer "Pixelschlange" aufgereiht.
Setze die "aktive Farbe" auf "schwarz"
Wiederhole, bis keine Pixel in der Schlange
Bestimme die Anzahl n der am Anfang der Schlange
aufeinander folgenden Pixel, die die aktive Farbe haben.
Schreibe das Byte n in die Daten
Streiche die schon gezählten Pixel ab,
die Schlange beginnt nun mit dem ersten noch nicht gezählten Pixel.
Ist die aktive Farbe schwarz
ja
nein
Setze WEISS
Setze SCHWARZ