Programmentwurf mittels strukturierter Programmierung. Programmentwurf. Nassi-Shneiderman-Diagramm [DIN ]

Größe: px
Ab Seite anzeigen:

Download "Programmentwurf mittels strukturierter Programmierung. Programmentwurf. Nassi-Shneiderman-Diagramm [DIN ]"

Transkript

1 Programmentwurf Bevor man sich daran macht, den Quelltext eines Programmes zu schreiben, sollte man sich einen Plan der Struktur des zukünftigen Programmes machen. Diese Phase eines Softwarentwicklungsprojekts bezeichnet man als Entwurfsphase (oder Designphase). Im folgenden sollen zwei Methoden für den Entwurf strukturierter Programme behandelt werden: e (DIN ) (auch Programm-Ablaufpläne genannt) und Struktogramme (DIN ) (nach ihren Erfindern Nassi-Shneiderman- Diagramme auch genannt). Der Begriff strukturierte Programmierung wurde bereits 1968 von einem der großen Informatikpioniere, Prof. Dijkstra, geprägt. Bei der strukturierten Programmierung werden Programme aus Strukturblöcken zusammengesetzt, die jeweils genau einen definierten Beginn (Eingang) und genau ein definiertes Ende (Ausgang) besitzen. Diese Art der Strukturierung vermeidet die unstrukturierte und dadurch fehleranfällige Programmierung wie sie in Assemblersprachen oder anderen Sprachen mit intensiver Verwendung des Sprachelements goto üblich war. Programmentwurf mittels strukturierter Programmierung Insbesondere durch Vermeidung der Sprunganweisung goto soll zuverlässige, lesbare und wartungsfreundliche Software erstellt werden, und zwar vom Entwurf über eine direkt codierfähige Logikbeschreibung bis zum Austesten des Programms sowie seiner Dokumentation. Dies geschieht durch die strikte Beachtung folgender Vorschriften: Programmiersprachunabhängiger Entwurf der Programmstruktur Hierarchische Gliederung der Struktur mit der Möglichkeit der schrittweisen Verfeinerung Zusammensetzung der Programmstruktur aus wenigen elementaren und leicht verständlichen Strukturblöcken Erstellung von zuverlässigem, lesbarem und wartungsfreundlichem Programmcode durch Vermeidung von unstrukturierten Sprunganweisungen (goto). Vorteile [DIN ] Programmentwurf 1/30 Struktogramme stellen (wie Programmablaufpläne) die logischen Strukturen von Problemlösungen dar und sind deshalb unabhängig von Programmiersprachen die Gesamtproblematik und die Teilprobleme sind mit denselben Strukturblöcken und Reihungsregeln darstellbar. Durch diese Möglichkeit einer schrittweisen Verfeinerung können Struktogramme als Planungs-, Test- und Dokumentationshilfsmittel verwendet werden die Zahl der elementaren logischen Strukturblöcke wird auf maximal sieben beschränkt durch die Kanalstruktur (genau ein Eingang in und ein Ausgang aus jedem ) werden die Auswirkungen von Bedingungen klar erkennbar durch das Klammersymbol wird der Umfang von deutlich sichtbar Abläufe, die diesen elementaren logischen Strukturen nicht entsprechen, können nicht dargestellt werden (da ein Sprungsymbol fehlt, sind keine "wilden" Sprünge möglich!) Programmentwurf 3/30 Vorteile (Fortsetzung) [DIN ] Programmentwurf 2/30 die Strukturblöcke werden durch je eine eindeutige Eintritts- und eine eindeutige Austrittsstelle miteinander verbunden (striktes Prinzip der Zweipoligkeit), wodurch Vieldeutigkeit vermieden wird durch die Beschränkung auf maximal sieben elementare Strukturblöcke und durch das Prinzip der Zweipoligkeit sind die Struktogramme für alle Fachabteilungen leicht lesbar, und ihre logische Richtigkeit ist schnell und sicher testbar (lineare Kontrollstrukturen) Nachteile Beschränkung der Individualität beim Problemlösen durch die Auflage von Regeln für die strukturierte Programmierung häufig sind aufwendige Änderungsarbeiten notwendig, da wegen des strikten Gebots der Zweipoligkeit Einfügungen oder Löschungen nicht ohne weiteres möglich sind da die Strukturblöcke nur einen Ausgang haben, können mehrere Schalter und Abfragen notwendig werden Programmentwurf 4/30

2 Es gibt derzeit (2007) eine Reihe von Werkzeugen, um Struktogramme rechnergestützt zu erstellen. Dabei muß man zwei Arten von Werkzeugen grundsätzlich auseinanderhalten: 1. Werkzeuge zum Entwerfen von Programmen mittels Struktogrammen Dies sind graphische Editoren, mit denen es möglich ist, interaktiv Struktogramme zu entwickeln. Diese Programme unterstützen den Programmentwurf im oben beschriebenen Sinn. Mir sind leider keine Freeware- oder Sharewareprogramme von diesem Typ bekannt. 2. Werkzeuge zum Dokumentieren bereits fertiger imperativer (C, Pascal, va) Programme. Diese lesen als Eingabe den entsprechende Quelltext und liefern als Ausgabe Struktogramme, in deren Strukturblöcken die Anweisungen des eingelesenen Quelltexts stehen. Zu diesem Genre gibt es eine Reihe von Freeware- oder Sharewareprogrammen. Achtung: Da ich im Rahmen der Belegarbeiten Programmentwürfe erwarte, können Sie die zweite Sorte von Programmen vergessen! Der Programmentwurf soll Anweisungen in natürlicher Sprache enthalten und nicht das fertige Programm in einer bereits gewählten Programmiersprache! Anweisungsfolge Programmentwurf 5/30 Nassi-Shneiderman-Diagram heißen auch Struktogramme. Sie betonen die Struktur des geplanten Programms. Die kleinste Einheit in einem einem Struktogramm ist der. Es gibt 6 verschiedene Strukturblöcke, die im Folgenden vorgestellt werden: einfacher Anweisungsfolge Schleife Funktionsaufruf Einige dieser Strukturblöcke werden noch nach verschiedenen Fällen weiter unterschieden. Struktogramme geben im Wesentlichen die Kontrollstruktur des Programms wieder. Programmentwurf 6/30 Anweisungsfolge bedingte Auswahl Bedingung erfüllt? letzter Programmentwurf 7/30 Programmentwurf 8/30

3 alternative Auswahl (ohne Fehlerausgang) Bedingung erfüllt? Fall 1 Fall 2 Fallabfrage Fall n n Programmentwurf 9/30 Programmentwurf 10/30 (mit Fehlerausgang) nicht abweisende Schleife Fall 1 Fall 2 Fall zulässig? Fall n 1 2 n Fehlerfall Wiederhole, bis Endebedingung erfüllt ist Programmentwurf 11/30 Programmentwurf 12/30

4 Funktion (Unterprogramm) Defintion einer Funktion abweisende Schleife (kann auch eine Zählerschleife sein!) Funktionsbezeichner Wiederhole, solange Bedingung erfüllt ist letzter Funktion (Unterprogramm) Benutzung einer Funktion (Funktionsaufruf) Funktionsbezeichner Programmentwurf 13/30 Vorteile Programmablaufplan () [DIN ] detaillierte und genaue Beschreibung der Ablauflogik Sinnbilder sind direkt codierbar Möglichkeit der Anwendung der strukturierten Programmierung Nachteile Programmentwurf 14/30 kein Zwang zur strukturierten Programmierung stufenweise nicht weiter verfeinerbar, da es bereits die höchste Detaillierungsstufe beschreibt bei umfangreichen Programmen schwer überschaubar viele Fallunterscheiden führen zu unübersichtlichen Bildern, da nur maximal drei Alternativen mit einer Abfrage verfolgt werden können durch viele sausgänge in unterschiedliche Programmteile können bei Änderungen leicht Fehler unterlaufen relativ aufwendige Änderungen keine Darstellung des Datenflusses Programmentwurf 15/30 Programmentwurf 16/30

5 Anweisungsfolge bedingte Auswahl 1. Bedingung erfüllt? 2. letzter alternative Auswahl Programmentwurf 17/30 (ohne Fehlerausgang) Programmentwurf 18/30 Bedingung erfüllt? Fallabfrage 1 2 n Programmentwurf 19/30 Programmentwurf 20/30

6 (mit Fehlerausgang) abweisende Schleife Fall zulässig Fallabfrage Ausführungsbedingung erfüllt? 1 2 n im Fehlerfall nicht abweisende Schleife Programmentwurf 21/30 Zählerschleife Programmentwurf 22/30 Zähler auf Startwert Endebedingung erfüllt? Zähler < Endwert? Zähler erhöhen Programmentwurf 23/30 Programmentwurf 24/30

7 C-Programmcode Anweisungsfolge C-Programmcode <Anweisung 1 > ; <Anweisung 2 > ; <Anweisung n > ; bedingte Auswahl if ( <Bedingung> ) altenative Auswahl if ( <Bedingung> ) } else } ohne Fehlerausgang switch ( <Ausdruck> ) C-Programmcode case <konstanter Ausdruck> : case <konstanter Ausdruck> : mit Fehlerausgang switch ( <Ausdruck> ) case <konstanter Ausdruck> : case <konstanter Ausdruck> : default: Programmentwurf 25/30 nicht abweisende Schleife do } while ( <Bedingung> ) ; abweisende Schleife while ( <Bedingung> ) C-Programmcode Programmentwurf 26/30 Programmentwurf 27/30 Programmentwurf 28/30

8 C-Programmcode C-Programmcode Funktionen Zählerschleife for ( <Startwert> ; <Bedingung> ; <Ausdruck> ) Funktionsdeklaration <Rückgabetyp> <Funktionsbezeichner> ( <Liste formaler Parameter> ) ; Funktionsdefinition <Rückgabetyp> <Funktionsbezeichner> ( <Liste formaler Parameter> ) Funktionsaufruf <Funktionsbezeichner> ( <Liste aktueller Parameter> ) ; Programmentwurf 29/30 Programmentwurf 30/30

5. Strukturierte Programmierung

5. Strukturierte Programmierung 5. Strukturierte Programmierung 5.1 Ziele 5.2 Prinzipien 5.3 Basisstrukturen Folie 115 Apr-04 Ziele der strukturierten Programmierung Unterstützung einer methodischen Vorgehensweise beim Programmentwurf

Mehr

Entscheidungen. INE1, Montag M. Thaler, Office TG ZHAW, M. Thaler, K. Rege, G. Burkert

Entscheidungen. INE1, Montag M. Thaler, Office TG ZHAW, M. Thaler, K. Rege, G. Burkert Entscheidungen INE1, Montag M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was geht es? Ablaufstrukturen bis jetzt nur Sequenzen von Code neu Auswahl (Programmverzweigung) - Code aufgrund

Mehr

Programmentwurf Prof. Metzler

Programmentwurf Prof. Metzler Programmentwurf 13.05.2014 Prof. Metzler 1 Programmiersprachen Assembler problemorientierte Sprache C anwendungsorientierte Sprache Basic Kommandosprachen 13.05.2014 Prof. Metzler 2 Assemblersprache Die

Mehr

4.Grundsätzliche Programmentwicklungsmethoden

4.Grundsätzliche Programmentwicklungsmethoden 4.Grundsätzliche Programmentwicklungsmethoden 1.1 Grundlage strukturierter und objektorientierter Programmierung Begriff Software Engineering - umfaßt den gezielten Einsatz von Beschreibungsmitteln, Methoden

Mehr

BKTM - Programmieren leicht gemacht.

BKTM - Programmieren leicht gemacht. BKTM Programmieren leicht gemacht. + Struktogramm Das Struktogramme ist eine Entwurfsmethode für die strukturierte Programmierung. Es ist nach der DIN 66261 genormt. Es ist 1972/73 von Dr. Isaac Nassi

Mehr

99 - Struktogramme - 2. Sequenz I

99 - Struktogramme - 2. Sequenz I Struktogramme Sequenz I 99 - Struktogramme - 2 double number, twicenumber; // Einlesen der Anzahl System.out.print("Zahl eingeben:"); number=keyboard.doubleinput(); // Verdopplung der eingegebenen Zahl

Mehr

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22 C++ Teil 2 Sven Groß IGPM, RWTH Aachen 16. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 2 16. Apr 2015 1 / 22 Themen der letzten Vorlesung Hallo Welt Elementare Datentypen Ein-/Ausgabe Operatoren Sven

Mehr

BKTM - Programmieren leicht gemacht.

BKTM - Programmieren leicht gemacht. BKTM Programmieren leicht gemacht. + Struktogramm Das Struktogramme ist eine Entwurfsmethode fã¼r die strukturierte Programmierung. Es ist nach der DIN 66261 genormt. Es ist 1972/73 von Dr. Isaac Nassi

Mehr

Inhalt. Einführung in die Strukturierte Programmierung 15

Inhalt. Einführung in die Strukturierte Programmierung 15 Inhalt Einführung in die Strukturierte Programmierung 15 1.1 Was bedeutet Programmieren? 17 1.2 Was bedeutet Strukturierte Programmierung? 18 1.3 Was ist Pascal? 19 1.4 Was ist PS/k? 20 1.5 Warum wird

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 05: Weitere Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme 1. Teil: Weitere Kontrollstrukturen Wiederholungsstrukturen (Schleifen) While-,do-,for-Schleifen

Mehr

Arrays. Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss

Arrays. Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss Arrays FTI 41 2005-09-09 Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss z.b. Dim Werte(x) As Single. Wobei

Mehr

1 Funktionale vs. Imperative Programmierung

1 Funktionale vs. Imperative Programmierung 1 Funktionale vs. Imperative Programmierung 1.1 Einführung Programme einer funktionalen Programmiersprache (functional programming language, FPL) bestehen ausschließlich aus Funktionsdefinitionen und Funktionsaufrufen.

Mehr

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 41 Einstieg in die Informatik mit Java Weitere Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick 2 Verbundanweisung 3 Bedingte Anweisung 4 Auswahlanweisung

Mehr

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung C Sprachelemente für Übung 2 Typumwandlungen (type casts) Bei Ausdrücken, in denen Operanden mit unterschiedlichem Typ vorkommen, werden diese vom Compiler vor der Ausführung automatisch in einen gemeinsamen

Mehr

Kompaktkurs Einführung in die Programmierung. 4. Kontrollstrukturen

Kompaktkurs Einführung in die Programmierung. 4. Kontrollstrukturen Kompaktkurs Einführung in die Programmierung 4. Kontrollstrukturen Stefan Zimmer 28.2.2008-1- Anweisungen: was bisher geschah Bisher kennen wir zwei Formen von Anweisungen Ein Ausdruck mit Semikolon ist

Mehr

Labor Software-Entwicklung 1

Labor Software-Entwicklung 1 Labor Software-Entwicklung 1 Übereinkunft zu Programmablaufplänen PAP - Grundlagen Wintersemester 2015/2016 Seite 1 von 9 Inhalt DIN 66 001: Sinnbilder für Programmablaufplan... 3 Grenzstelle... 3 Ablauflinie...

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 34 Einstieg in die Informatik mit Java weitere Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Verbundanweisung 2 Bedingte Anweisung 3 Auswahlanweisung

Mehr

Einführung in die Programmierung II. 3. Kontrollstrukturen

Einführung in die Programmierung II. 3. Kontrollstrukturen Einführung in die Programmierung II 3. Kontrollstrukturen Thomas Huckle, Stefan Zimmer 2.5.2007-1- Anweisungen: was bisher geschah Bisher kennen wir zwei Formen von Anweisungen Ein Ausdruck mit Semikolon

Mehr

VBA-Programmierung: Zusammenfassung

VBA-Programmierung: Zusammenfassung VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung

Mehr

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 47 Einstieg in die Informatik mit Java Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 47 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung,

Mehr

Einführung in die Programmierung Wintersemester 2011/12

Einführung in die Programmierung Wintersemester 2011/12 Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Kontrollstrukturen Inhalt Wiederholungen - while

Mehr

6. Iteration (Schleifenanweisungen)

6. Iteration (Schleifenanweisungen) 6. Iteration (Schleifenanweisungen) Java-Beispiel: TemperatureTable.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 9. Nov. 2015 2 Schwerpunkte While-Anweisung: "abweisende"

Mehr

Technische Probleme lösen mit C/C++

Technische Probleme lösen mit C/C++ Technische Probleme lösen mit C/C++ Von der Analyse bis zur Dokumentation Bearbeitet von Norbert Heiderich, Wolfgang Meyer, Manfred Mettke 2. Auflage 2013. Buch. 287 S. ISBN 978 3 446 43889 7 Format (B

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung Einführung in die strukturierte Programmierung Teil 2 Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind viele Teile

Mehr

Programmiertechnik Kontrollstrukturen

Programmiertechnik Kontrollstrukturen Programmiertechnik Kontrollstrukturen Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Was sind Kontrollstrukturen? Kontrollstrukturen erlauben es, ein Programm nicht nur Zeile für Zeile auszuführen,

Mehr

Imperative vs. Funktionale Programmierung

Imperative vs. Funktionale Programmierung Beispiel: Entwerfe eine Funktion, die testet, ob eine Zahl n eine Primzahl ist oder nicht. Beobachtung: (1) Wenn n Primzahl ist, ist die Menge der Teiler von n leer. (2) Die Menge der Teiler von n sind

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 25.4.07, Anweisungen Übersicht 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung, Vorbereitungen 4 Verbundanweisung 5 Bedingte Anweisung 6 Auswahlanweisung 7 for

Mehr

III.1 Prinzipien der funktionalen Programmierung - 1 -

III.1 Prinzipien der funktionalen Programmierung - 1 - 1. Prinzipien der funktionalen Programmierung 2. Deklarationen 3. Ausdrücke 4. Muster (Patterns) 5. Typen und Datenstrukturen 6. Funktionale Programmiertechniken III.1 Prinzipien der funktionalen Programmierung

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 06: Einführung in Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in Kontrollstrukturen 3 Grundstrukturen von

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung 11. Vorlesung 14.06.2017 1 Schleifen 2 do...while do block while ( bedingung ); block: eine Anweisung oder Anweisungen in { block bed JA NEIN 3 while while ( bedingung ) block

Mehr

Nassi-Shneiderman-Diagramm - Wikipedia

Nassi-Shneiderman-Diagramm - Wikipedia Nassi-Shneiderman-Diagramm aus Wikipedia, der freien Enzyklopädie Ein Nassi-Shneiderman-Diagramm ist eine Entwurfsmethode für die strukturierte Programmierung, die 1972/73 von Dr. Isaac Nassi und Dr. Ben

Mehr

Labor Industrielle Netzwerke. Versuch 2: Tastaturentprellung

Labor Industrielle Netzwerke. Versuch 2: Tastaturentprellung Labor Industrielle Netzwerke Versuch 2: Tastaturentprellung Datum: 21.01.2014 Prof. Dr.-Ing. habil. Josef Börcsök Vorwort zum Entprellvorgang Im folgenden Versuch wollen wir uns mit Softwarelösungen beschäftigen,

Mehr

2. Algorithmenbegriff

2. Algorithmenbegriff 2. Algorithmenbegriff Keine Algorithmen: Anleitungen, Kochrezepte, Wegbeschreibungen,... Algorithmus: Berechnungsvorschrift, die angibt, wie durch Ausführung bestimmter Elementaroperationen aus Eingabegrößen

Mehr

Kontrollstrukturen - Universität Köln

Kontrollstrukturen - Universität Köln Kontrollstrukturen - Universität Köln Mario Manno Kontrollstrukturen - Universität Köln p. 1 Was sind Sprachen Auszeichnungssprachen HTML, XML Programmiersprachen ASM, Basic, C, C++, Haskell, Java, Pascal,

Mehr

Gliederung. n Teil I: Einleitung und Grundbegriffe. n Teil II: Imperative und objektorientierte Programmierung

Gliederung. n Teil I: Einleitung und Grundbegriffe. n Teil II: Imperative und objektorientierte Programmierung Gliederung n Teil I: Einleitung und Grundbegriffe l 1. Organisatorisches l 2. Grundlagen von Programmiersprachen n Teil II: Imperative und objektorientierte Programmierung l 1. Grundelemente der Programmierung

Mehr

Verifizierende Testverfahren

Verifizierende Testverfahren Spezifikation Um einen Algorithmus zu schreiben, muss das zu lösende Problem genau beschrieben sein. Eine Spezifikation ist Verifizierende Testverfahren vollständig, wenn alle Anforderungen/alle relevanten

Mehr

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Kontrollstrukturen

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Kontrollstrukturen Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Kontrollstrukturen Was sind Kontrollstrukturen Kontrollstrukturen erlauben es, ein Programm nicht nur Zeile für Zeile auszuführen,

Mehr

Kontrollstrukturen, Strukturierte Programmierung

Kontrollstrukturen, Strukturierte Programmierung , Strukturierte Programmierung Steuer- und Kontrollfluss Strukturierte Programmierung Arten von Strukturblöcken Sequenz Alternative Iteration C-Spezifisches Seite 1 Elementare Algorithmen SelectionSort

Mehr

6. Iteration (Schleifenanweisungen)

6. Iteration (Schleifenanweisungen) Schwerpunkte While-: "abweisende" Schleife 6. Iteration (Schleifenanweisungen) Java-Beispiel: TemperatureTable.java Do-while-: "nichtabweisende" Schleife For-: zählergesteuerte Schleife Klassifikation

Mehr

Tagesprogramm

Tagesprogramm 1 2015-10-22 Tagesprogramm Syntax und Semantik Varianten von Schleifen Varianten von Programmverzweigungen 2 2015-10-22 Syntax und Semantik Darstellung der Syntax Syntax: Aufbau der Sätze bzw. Programme

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 6.11.07, Weitere Anweisungen Übersicht 1 Verbundanweisung 2 Bedingte Anweisung 3 Auswahlanweisung 4 for Schleife 5 while Schleife 6 do Schleife 7 break Anweisung 8 continue Anweisung 9 Leere

Mehr

Informationsverarbeitung im Bauwesen

Informationsverarbeitung im Bauwesen 5 5 Markus Uhlmann Basierend auf Folien von A. Brugger 1 Zusammenfassung der 4. Vorlesung Struktur von VBA Programmen Objekte in VBA Einsatz von Modulen Deklaration von Variablen/Konstanten Arbeiten mit

Mehr

Kapitel 4. Strukturierte Programmierung und Kontrollstrukturen

Kapitel 4. Strukturierte Programmierung und Kontrollstrukturen Kapitel 4 Strukturierte Programmierung und Kontrollstrukturen 1 Gliederung Kapitel 4 Strukturierte Programmierung und Kontrollstrukturen 4.1 Strukturierte Programmierung 4.2 Folge - Sequenz 4.3 Verzweigung

Mehr

Einführung in die Programmierung I. 4. Kontrollstrukturen. Stefan Zimmer

Einführung in die Programmierung I. 4. Kontrollstrukturen. Stefan Zimmer Einführung in die Programmierung I 4. Kontrollstrukturen Stefan Zimmer 12.11.2007 Arten von Anweisungen Ein Maple-Programm besteht aus einer Folge von Anweisungen (englisch: statement), getrennt durch

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Anweisungen mit Variablen Wiederholung Deklaration

Mehr

Algorithmen und Datenstrukturen Sommersemester 2007

Algorithmen und Datenstrukturen Sommersemester 2007 Algorithmen und Datenstrukturen Sommersemester 2007 Steffen Reith reith@informatik.fh-wiesbaden.de Fachhochschule Wiesbaden 4. April 2007 Steffen Reith Algorithmen und Datenstrukturen 4. April 2007 1 /

Mehr

Algorithmen. Beispiele: Beispiele: Algorithmen zum Test auf Primzahl. Programmieren - Java I WS 2001

Algorithmen. Beispiele: Beispiele: Algorithmen zum Test auf Primzahl. Programmieren - Java I WS 2001 Algorithmen Ein Algorithmus ist ein Verfahren zur systematischen, schrittweisen Lösung eines Problems. Er besteht aus einzelnen Anweisungen, die in einer bestimmten Reihenfolge, evtl. mehrmals ausgeführt

Mehr

C-Grundlagen. zur Programmierung des MicroControllersystems MiCoWi

C-Grundlagen. zur Programmierung des MicroControllersystems MiCoWi 1. Datentypen C-Grundlagen zur Programmierung des MicroControllersystems MiCoWi Die Grafiken und Beispiele wurden dem Buch C von A bis z von Jürgen Wolf entnommen. Es werden hier die ANSI-Festlegungen

Mehr

Fachhochschule Südwestfalen Wir geben Impulse. Kontrollstrukturen und Schleifen in Octave

Fachhochschule Südwestfalen Wir geben Impulse. Kontrollstrukturen und Schleifen in Octave Fachhochschule Südwestfalen Wir geben Impulse Kontrollstrukturen und Schleifen in Octave Einführung Inhalt m-files Script-Files Function-Files Ein- Ausgabe von Variablen oder Ergebnissen For-Schleife While-Schleife

Mehr

Strukturiertes Programmieren in BASIC

Strukturiertes Programmieren in BASIC Programmieren von Mikrocomputern Band 13 Wolfgang Schneider Strukturiertes Programmieren in BASIC Eine Einführung mit zahlreichen Beispielen TECHNISCHE HOCHSCHULE DARMSTADT F'..' herein» 1 G o so-;,;!-:

Mehr

Wirtschaftsinformatik 6a: Modellierung. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte

Wirtschaftsinformatik 6a: Modellierung. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte Wirtschaftsinformatik 6a: Modellierung Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte Computertechnik Man kann Software auf 2 Arten herstellen: Entweder macht man sie so klar und einfach,

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2017/18 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund Wiederholungen - while - do-while - for

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen 2.9 Unstrukturierte Kontrollanweisungen W. Tasin, M.Sc. Fakultät 04 tasin@hm.edu Allgemeines (1) Unstrukturierte Kontrollanweisungen ermöglichen einen bedingten oder unbedingte

Mehr

Arbeitsblätter für Algorithmierung und Strukturierung

Arbeitsblätter für Algorithmierung und Strukturierung Prof. Dr.- Ing. Ch. Wahmkow Fachbereich Maschinenbau Fachhochschule Stralsund Arbeitsblätter für Algorithmierung und Strukturierung Inhalt : Struktogramme, Beispiele und Erläuterungen - Sequenz - vollständige

Mehr

Klausur: Informatik, am 11. Juli 2013 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

Klausur: Informatik, am 11. Juli 2013 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte: Seite 1 von 10 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 15 Pkt.) Was liefert

Mehr

Kapitel 5: Abstrakte Algorithmen und Sprachkonzepte. Elementare Schritte

Kapitel 5: Abstrakte Algorithmen und Sprachkonzepte. Elementare Schritte Elementare Schritte Ein elementarer Berechnungsschritt eines Algorithmus ändert im Allgemeinen den Wert von Variablen Zuweisungsoperation von fundamentaler Bedeutung Zuweisungsoperator In Pascal := In

Mehr

4.5 Nassi-Schneidermann Diagramm

4.5 Nassi-Schneidermann Diagramm 4.5 Nassi-Schneidermann Diagramm Nassi-Schneidermann-Diagramme, die auch Struktogramme genannt werden, sind graphische Hilfsmittel zum Entwurf und zur Darstellung von Programmsystemen. Sie sind beim Detailentwurf

Mehr

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) II.1.3. Anweisungen und Kontrollstrukturen - 1 - Anweisung Anweisung Zuweisung Methodenaufruf

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 04: Einführung in Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in Kontrollstrukturen 3 Grundstrukturen von

Mehr

Einführung in die Programmierung mit VBA

Einführung in die Programmierung mit VBA Einführung in die Programmierung mit VBA Vorlesung vom 07. November 2016 Birger Krägelin Inhalt Vom Algorithmus zum Programm Programmiersprachen Programmieren mit VBA in Excel Datentypen und Variablen

Mehr

3. Methodik der Programmerstellung

3. Methodik der Programmerstellung 3. Methodik der Programmerstellung 3.1 Vorgehen 3.2 Programmerstellung 3.2.1 Konventionen 3.2.2 Schlüsselwörter und Bezeichner 3.2.3 Fehlertypen 3.2.4 Programmierstil 3.3 Formaler Aufbau eines Pascal-Programms

Mehr

Grundlagen der Programmierung & Algorithmen und Datenstrukturen

Grundlagen der Programmierung & Algorithmen und Datenstrukturen Grundlagen der Programmierung & Algorithmen und Datenstrukturen Einführung in die strukturierte Programmierung Teil 2 Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt.

Mehr

FORTRAN77. eine höllische Programmiersprache. Christian Sternecker. Sommersemester TU-München

FORTRAN77. eine höllische Programmiersprache. Christian Sternecker. Sommersemester TU-München FORTRAN77 eine höllische Programmiersprache Christian Sternecker TU-München Sommersemester 2010 Aufbau des Vortrags Geschichte Merkmale Höllische Konzepte Typsicherheit Programmstruktur Speicherverwaltung

Mehr

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML. JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung

Mehr

5. Elementare Befehle und Struktogramme

5. Elementare Befehle und Struktogramme 5. Elementare Befehle und Struktogramme Programmablauf Beschreibung des Programmablaufs mittel grafischer Symbole Beispiel : Flussdiagramme ja nein Besser : Struktogramme Dr. Norbert Spangler / Grundlagen

Mehr

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches

Mehr

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches

Mehr

4.4 Imperative Algorithmen Verzweigung und Iteration

4.4 Imperative Algorithmen Verzweigung und Iteration Eine weitere bedingte Schleife kann in Java mit dem Schlüsselwort for definiert werden: for (; i ; ) Alle drei Bestandteile im Schleifenkopf sind Ausdrücke

Mehr

Flussdiagramm / Programmablaufplan (PAP)

Flussdiagramm / Programmablaufplan (PAP) Flussdiagramm / Programmablaufplan (PAP) Basissysmbole Grenzstelle (Anfang, Zwischenhalt oder Ende des Programms/Algorithmus) Verbindung Zur Verdeutlichung der Ablaufrichtung werden Linien mit einer Pfeilspitze

Mehr

Datentechnik. Prinzipieller Aufbau eines Schnittstellenbausteins

Datentechnik. Prinzipieller Aufbau eines Schnittstellenbausteins Prinzipieller Aufbau eines Schnittstellenbausteins DB /CS A0-Ai R/W Reset Takt Int IntAck zum µp Datenbus Puffer Steuerung Interruptsteuerung & IF Statusregister IE Steuerregister Befehlsregister Datenregister

Mehr

Anweisungen und Kontrollstrukturen

Anweisungen und Kontrollstrukturen Anweisungen und Kontrollstrukturen Anweisungen werden im Programm nacheinander als Sequenz abgearbeitet, wenn nichts anderes angegeben ist. Einzelne Anweisung mit einer Zuweisung, zum Beispiel: A = 2*r*r;

Mehr

Kontrollstrukturen Blöcke / Schleifen / Bedingungen

Kontrollstrukturen Blöcke / Schleifen / Bedingungen Kontrollstrukturen Blöcke / Schleifen / Bedingungen 1 Einfache Anweisungen und Blöcke einfache Anweisung abgeschlossen mit Semikolon ; typische Fälle: o Deklaration, Zuweisung, Funktionsaufruf Sonderfall

Mehr

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser

Mehr

Überblick. Typanpassungen Iteration mit Schleifen Bedingte Anweisungen. Agile Softwareentwicklung Einfaches Ratespiel.

Überblick. Typanpassungen Iteration mit Schleifen Bedingte Anweisungen. Agile Softwareentwicklung Einfaches Ratespiel. Globalübung 2 Überblick Typanpassungen Iteration mit Schleifen Bedingte Anweisungen Agile Softwareentwicklung Einfaches Ratespiel Softwarefehler Überblick Typanpassungen Iteration mit Schleifen Bedingte

Mehr

(Aufgaben zu Wertzuweisungen siehe Vorlesungsbeilage S. 49)

(Aufgaben zu Wertzuweisungen siehe Vorlesungsbeilage S. 49) Anweisungen Eine Anweisung ist eine in einer beliebigen Programmiersprache abgefaßte Arbeitsvorschrift für einen Computer. Jedes Programm besteht aus einer bestimmten Anzahl von Anweisungen. Wir unterscheiden

Mehr

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 5. Kontrollstrukturen Allgemein Kontrollstrukturen dienen zur Steuerung des Programmablaufs. (Bemerkung: C und C++ besitzen die selben Kontrollstrukturen.)

Mehr

S. d. I.: Programieren in C Folie 4-1. im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then"

S. d. I.: Programieren in C Folie 4-1. im Gegensatz zu Pascal gibt es in C kein Schlüsselwort then S. d. I.: Programieren in C Folie 4-1 4 Anweisungen 4.1 if-anweisung 1) if (Ausdruck) 2) if (Ausdruck) } else im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then" es wird nur der numerische Wert

Mehr

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Blöcke. Beispiel: Variablen in Blöcken

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Blöcke. Beispiel: Variablen in Blöcken 4 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Blöcke Blöcke erweitern einzelne Anweisungen, etwa bei Kontrollstrukturen später Beispiel: Einzelne Anweisung: anweisung; Erweiterung

Mehr

Wiederholungen / Schleifen

Wiederholungen / Schleifen Wiederholungen / Schleifen Repetitive Ausführung von Instruktionen InE1 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was geht es? Beispiel Quadratzahlen von 1000 bis 1009 berechnen

Mehr

Fallunterscheidung: if-statement

Fallunterscheidung: if-statement Fallunterscheidung: if-statement A E 1 E 2 V 1 V 2 Syntax: if ( ausdruck ) Semantik: else anweisungsfolge_1 anweisungsfolge_2 1. Der ausdruck wird bewertet 2. Ergibt die Bewertung einen Wert ungleich 0

Mehr

3 KONTROLLSTRUKTUREN ALLGEMEINES

3 KONTROLLSTRUKTUREN ALLGEMEINES 3 KONTROLLSTRUKTUREN ALLGEMEINES Leitideen: Die Syntax der Kontrollstrukturen in C++ soll möglichst wenige reservierte Worte verwenden, daher werden Bedingungen geklammert und mehrere abhängige Anweisungen

Mehr

Klausur: Informatik, am 11. Juli 2013 Gruppe: B Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

Klausur: Informatik, am 11. Juli 2013 Gruppe: B Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte: Seite 1 von 10 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 6 Pkt.) a) Geben

Mehr

2 Programmieren in Java I noch ohne Nachbearbeitung

2 Programmieren in Java I noch ohne Nachbearbeitung 1 2 Programmieren in Java I noch ohne Nachbearbeitung 2.1 Was sind Programme? Eingabe = Verarbeitung = Ausgabe Die Eingabe kann sein Konstanten im Quelltext; Kommandozeilenparameter oder interaktive Eingabe

Mehr

Verhalten. Def. und Nutzen von Verhalten. Pseudocode Schreibtischtest. Algorithmen

Verhalten. Def. und Nutzen von Verhalten. Pseudocode Schreibtischtest. Algorithmen Verhalten Def. und Nutzen von Verhalten Algorithmen Pseudocode Schreibtischtest Verhalten & Pseudocode Das Verhalten beschreibt, wie sich die Datenstrukturen (Variablen) eines Programms verändern müssen,

Mehr

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Definition Algorithmus. Wie beschreibt man Algorithmen?

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Definition Algorithmus. Wie beschreibt man Algorithmen? Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2015 1 Einführung Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München 2 Grundlagen von Algorithmen

Mehr

Anweisungen und Kontrollstrukturen

Anweisungen und Kontrollstrukturen Anweisungen und Kontrollstrukturen Anweisungen werden im Programm nacheinander als Sequenz abgearbeitet, wenn nichts anderes angegeben ist. Einzelne Anweisung mit einer Zuweisung, zum Beispiel: A = 2*r*r;

Mehr

Übersicht Programmablaufsteuerung

Übersicht Programmablaufsteuerung Übersicht Programmablaufsteuerung Konditionale Verzweigung: if - else switch-anweisung Schleifenkonstrukte: while, do - while for Schleife Sprung-Anweisungen: break, continue, goto, return Anweisungen

Mehr

Arbeitsblätter für Algorithmierung und Strukturierung C #

Arbeitsblätter für Algorithmierung und Strukturierung C # Prof. Dr.- Ing. Ch. Wahmkow Fachbereich Maschinenbau Fachhochschule Stralsund Arbeitsblätter für Algorithmierung und Strukturierung C # Inhalt : Struktogramme, Beispiele und Erläuterungen - Sequenz - vollständige

Mehr

2 Kontrollstrukturen, strukturierte Programmierung

2 Kontrollstrukturen, strukturierte Programmierung 2-1 2 Kontrollstrukturen, strukturierte Programmierung 2.1 Algorithmen Für die Entwicklung von Programmen, die komplexere Aufgaben lösen sollen, bewährt sich ein zweistufiges Verfahren. In der ersten Phase

Mehr

einseitige Selektion zweiseitige Selektion

einseitige Selektion zweiseitige Selektion einseitige Selektion / Die einseitige Selektion gestattet die Ausführung einer eisung (welche wiederum eine Sequenz sein kann), wenn die angegebene wahr () ist. 19 zweiseitige Selektion _1 _2 _1 _2 Die

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2016 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 1 Einführung 2 Grundlagen von Algorithmen

Mehr