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

Diagramm

Einfaches Wasserfallmodell

Wasserfallmodell

Der Robuste Fahrkartenautomat

Fahrkarten

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

topDownBottomUp

Pseudocode

Pseudocode ist eine abstrahierte, textuelle Darstellung eines Programms

Beispiele

hamlet

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

Beispiele

starwars

doIt() || !doIt();
// try();

Programmablaufpläne

Programmablaufpläne verwenden im Hauptsächlichen folgende Elemente

Symbol Beschreibung
Kontrollpunkt Kontrollpunkt
Kontrollpunkt Verbindung zum nächsten Element
Kontrollpunkt Operation / Tätigkeit
Kontrollpunkt Unterprogramm ausführen
Kontrollpunkt Ein- und Ausgabe
Kontrollpunkt Verzweigung / Entscheidung

Freundschaftsalgorithmus

Quelle: https://www.youtube.com/watch?v=I37XYZe8L-o

Struktogramme

Motivation

  • Flussdiagramme sind fehleranfällig und unübersichtlich
  • Beschränkung der Verzweigung und Reduzierung des Umfangs

IkeNassi schneidermann

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

Anweisung

Strucktogramm - Bedingung und Auswahl

if

Verzweigungen in Programmen Bedingung

  • If-Else in Java

if

Mehrfachverzweigungen

  • Switch-Case in Java

Strucktogramm - Schleifen

dowhile

Fußgesteuerte Schleifen

  • Anweisungen werden mindestens einmal ausgeführt
  • do-while in Java

while

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

return

  • Ende der Methode
  • return in Java

Aufruf eines Unterprogramms

method

  • Aufruf einer Funktion in Java

Vom Papier zum Programm

compiler