Hinweise zur Übung 1 (SWE 1)
-
Das Aussehen der Elemente von Ablaufdiagrammen und Struktogrammen sollte
den in der Übung vorgestellten Beispielen bzw. den hier
(Ablaufdiagramm) und hier (Struktogramm)
angegebenen entsprechen. Leichte Abweichungen werden toleriert, selbst
erfundene Elemente ergeben Punkteabzüge.
-
Fehlerfälle brauchen nicht berücksichtigt werden. Es kann von
einer korrekten Eingabe ausgegangen werden.
-
Erlaubt sind (wenn angegeben) die Prozeduren "read(number)" und "write(number)".
Andere Prozeduren zur Primzahlberechnung o.ä. sind nicht erlaubt (und
auch nicht notwendig).
-
Die Beschreibung eines Algorithmus in Prosa kann beliebig aussehen. Die
Beschreibung muss jedoch die Vorgangsweise klar und verständlich wiedergeben.
(Kann es ein Studienkollege ohne zusätzliche Erklärung leicht
nachvollziehen? Wenn ja, sollte es in Ordnung sein.)
-
Es erleichtert die Entwicklung eines Ablaufdiagramms, wenn eine Prosa-Beschreibung
eines Algorithmus bereits in einzelne Schritte unterteilt ist.
-
Bei Problemen mit einem Algorithmus ist folgende Vorgangsweise sehr nützlich:
-
Lies die Angabe sorgfältig durch
Versuche das gestellte Problem zu verstehen! Es ist sinnlos ein nicht
verstandenes Problem zu lösen versuchen.
-
Ist man (theoretisch) in der Lage das Problem selbst zu lösen?
Wenn nein, hat man entweder das Problem noch nicht verstanden, oder
sollte sich über das Problem und dessen Lösung informieren (Nachdenken,
Literatursuche, ...)
-
Löse das Problem (zu einem Teil) auf Papier.
Versuche den Lösungsprozess zu verstehen. Beobachte Dich beim Lösen
des Problems selbst. Was hat man genau gemacht? Welche Schritte sind notwendig?
Gibt es Regeln/Ausnahmen?
-
Beschreibe die Regeln und deren Ausnahmen in Worten auf Papier. Ordne die
Regeln und Ausnahmen in die richtige zeitliche Reihenfolge
Überlege: Könnte ein anderer mit dieser Beschreibung das Problem
lösen ohne dabei viel Nachdenken zu müssen?
Wenn nein: Verfeinere die Regeln und Ausnahmen.
Wenn ja: Gratulation, der Algorithmus in Prosa ist im Prinzip fertig.
-
Versuche die Regeln und deren Ausnahmen etwas formaler zu beschreiben,
die einzelnen Schritte klar zu trennen und die zeitliche Abfolge eindeutig
festzulegen
Der Algorithmus ist fertig. Allerdings ist die Darstellungsform meist
nicht die gewünschte.
-
Versuche nun den Algorithmus in eine andere Darstellungsform zu bringen
(Ablaufdiagramm, Struktogramm, Java, ...)
Um Verzweigungen (if) und Schleifen (while) zu erhalten sind oft kleinere
Umstrukturierungen notwendig.
-
Teste den Algorithmus
Macht der Algorithmus auch das was er soll? Wie sieht es mit Sonderfällen
aus?
Merke: Gute, erfahrene Programmierer gehen (wenn auch oft unbewußt
und ohne etwas auf Papier zu schreiben) immer nach einem ähnlichen
System vor.
-
Ärgere Dich nicht, wenn Du für die ersten Algorithmen Stunden
brauchst - so hat jeder angefangen.