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