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