1 - Programmentwicklung
Entwurfsstrategien, Notationen
Lesson Learned
In diesem Kapitel geht es darum folgende Dinge zu verstehen und zu können
- Programmkonzeption
- Vorgehensweise bei der Lösung von Programmierproblemen
- Notationen
- Pseudocode
- Struktogramme
- Programmablaufpläne
Vom Problem zur Lösung

Einfaches Wasserfallmodell

Der Robuste Fahrkartenautomat

Anforderungen:
- Fahrpreise zwischen 0,90 € und 19,90 € in 0,10 € Abständen
- Bezahlung mit Scheinen (10 €, 5 €) und Münzen (kein “Rotgeld”)
- Rückgabe von Wechselgeld mit möglichst wenigen Münzen
- Es können beliebig viele Münzen und Scheine im Automaten sein
- Zur Bezahlung benutzte Münzen können als Wechselgeld verwendet werden
Top-Down & Bottom-UP

Pseudocode
Pseudocode ist eine abstrahierte, textuelle Darstellung eines Programms
Beispiele

theQuestion= 2*b || !(2*b)
Beispiele

doIt() || !doIt();
// try();
Struktogramme
Motivation
- Flussdiagramme sind fehleranfällig und unübersichtlich
- Beschränkung der Verzweigung und Reduzierung des Umfangs

Konventionen
- Ein Eingang, ein Ausgang
- Umfang maximal eine Seite
- Rücksprünge werden vermieden
- Pro Modul ein Diagramm
Strucktogramm - Anweisungen
- Beispiel:
- Wertzuweisung
- Ein- und Ausgabeanweisungen
- Aufruf einer Bibliotheksfunktionen

Strucktogramm - Bedingung und Auswahl

Verzweigungen in Programmen Bedingung

Mehrfachverzweigungen
Strucktogramm - Schleifen

Fußgesteuerte Schleifen
- Anweisungen werden mindestens einmal ausgeführt
do-while in Java

Kopfgesteuerte Schleifen
- Anweisungen werden auch beim ersten Mal erst nach Prüfung der Bedingung ausgeführt
While oder For in Java
Strucktogramm - Sonstiges
Rücksprung

- Ende der Methode
return in Java
Aufruf eines Unterprogramms

- Aufruf einer Funktion in Java
Vom Papier zum Programm
