Kapitel 8 - Nassi-Shneiderman-Diagramm

Transcrição

Kapitel 8 - Nassi-Shneiderman-Diagramm
Informatik
Wintersemester
Maschinenbau und Kunststofftechnik
Kapitel 8
Nassi-Shneiderman-Diagramm
(Struktogramm)
Tobias Wolf
http://informatik.swoke.de
Seite 1 von 14
Informatik
Wintersemester
Maschinenbau und Kunststofftechnik
Nassi-Shneiderman-Diagramm
-
auch genannt: Struktogramm
dient der strukturierten Programmierung
reduziert das Gesamtproblem in mehrere Teilprobleme
ist programmiersprachenunabhängig und kann als eine Art
„Bauplan“ für das Programm verstanden werden
- Jede Anweisung wird durch ein entsprechendes Symbol
dargestellt.
Tobias Wolf
http://informatik.swoke.de
Seite 2 von 14
Informatik
Wintersemester
Maschinenbau und Kunststofftechnik
Einfache Anweisung
- Zur Darstellung einer einzeiligen Anweisung, wie z.B. cout.
Tobias Wolf
http://informatik.swoke.de
Seite 3 von 14
Informatik
Wintersemester
Maschinenbau und Kunststofftechnik
Einfache Anweisung - Beispiel
int zahl = 3;
zahl = zahl % 2;
cout << "Die Zahl lautet: " << zahl << endl;
Tobias Wolf
http://informatik.swoke.de
Seite 4 von 14
Informatik
Wintersemester
Maschinenbau und Kunststofftechnik
Bedingung if/else
- Bei zutreffender Bedingung wird der "ja-Fall", ansonsten der
"nein-Fall" abgearbeitet.
Tobias Wolf
http://informatik.swoke.de
Seite 5 von 14
Informatik
Wintersemester
Maschinenbau und Kunststofftechnik
Bedingung if/else - Beispiel
if ( zahl == 4 )
// zu prüfende Bedingung
{
cout << "vier";
// Anweisungsblock 1
}
else
{
cout << "nicht vier";
// Anweisungsblock 2
}
Tobias Wolf
http://informatik.swoke.de
Seite 6 von 14
Informatik
Wintersemester
Maschinenbau und Kunststofftechnik
Fallauswahl switch/case
- Der Wert der Variablen wird geprüft und daraufhin der
zugehörige Anweisungsblock abgearbeitet.
- Es kann ein Alternativfall eingefügt werden, falls kein Wert
zutrifft (sogenannter default-Fall).
Tobias Wolf
http://informatik.swoke.de
Seite 7 von 14
Informatik
Wintersemester
Maschinenbau und Kunststofftechnik
Fallauswahl switch/case - Beispiel
switch (zahl)
// Variable
{
case 3:
// Wert
cout << "drei";
// Anweisungsblock 1
break;
case 4:
cout << "vier";
// Anweisungsblock 2
break;
default:
// „sonst“-Fall
cout << "falsche Zahl";
break;
}
Tobias Wolf
http://informatik.swoke.de
Seite 8 von 14
Informatik
Wintersemester
Maschinenbau und Kunststofftechnik
Kopfgesteuerte Schleife
- Die Bedingung wird zuerst geprüft. Ist sie wahr, wird der
Anweisungsblock abgearbeitet.
Tobias Wolf
http://informatik.swoke.de
Seite 9 von 14
Informatik
Wintersemester
Maschinenbau und Kunststofftechnik
Kopfgesteuerte Schleife - Beispiel
int zahl = 0;
while (zahl < 10)
{
cout << zahl << endl;
zahl++;
}
Tobias Wolf
http://informatik.swoke.de
// Bedingung
// Anweisungsblock
// Anweisungsblock
Seite 10 von 14
Informatik
Wintersemester
Maschinenbau und Kunststofftechnik
Fußgesteuerte Schleife
- Der Anweisungsblock wird ohne Prüfung zunächst einmal
abgearbeitet. Danach folgt die Prüfung, ob der Block ein
weiteres Mal durchlaufen werden soll.
Tobias Wolf
http://informatik.swoke.de
Seite 11 von 14
Informatik
Wintersemester
Maschinenbau und Kunststofftechnik
Fußgesteuerte Schleife - Beispiel
int zahl = 0;
do
{
cout << zahl << endl;
zahl++;
}
while (zahl < 10);
Tobias Wolf
http://informatik.swoke.de
// Anweisungsblock
// Anweisungsblock
// Bedingung
Seite 12 von 14
Informatik
Wintersemester
Maschinenbau und Kunststofftechnik
Endlos-Schleife
- Die Bedingung ist immer wahr.
- Die Schleife kann deshalb nur durch ein break verlassen
werden.
Tobias Wolf
http://informatik.swoke.de
Seite 13 von 14
Informatik
Wintersemester
Maschinenbau und Kunststofftechnik
Endlos-Schleife - Beispiel
int zahl = 0;
while (true)
// Bedingung, die immer gültig ist
{
cout << zahl << endl;
// Anweisungsblock
zahl++;
// Anweisungsblock
}
Tobias Wolf
http://informatik.swoke.de
Seite 14 von 14