Flussdiagramm / Programmablaufplan (PAP)

Ähnliche Dokumente
Labor Software-Entwicklung 1

Einfache Bedingte Ausführung

einseitige Selektion zweiseitige Selektion

99 - Struktogramme - 2. Sequenz I

(Aufgaben zu Wertzuweisungen siehe Vorlesungsbeilage S. 49)

BKTM - Programmieren leicht gemacht.

Struktogramme. Hinweise 1 Stand:

4. Ablaufsteuerung (Kontrollstrukturen) 4.1 Anweisungen 4.2 Selektion (bedingte Anweisung) 4.3 Iteration 4.4 Flussdiagramm (Programmablaufplan)

5. Strukturierte Programmierung

2. Algorithmenbegriff

Objektorientierte Programmierung

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 16/17

Arbeitsblätter für Algorithmierung und Strukturierung

4. Ablaufsteuerung (Kontrollstrukturen)

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Webbasierte Programmierung

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

Anweisungen und Kontrollstrukturen

Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn

Java Anweisungen und Ablaufsteuerung

Einführung in die Programmierung mit BlueJ

Arbeitsblätter für Algorithmierung und Strukturierung C #

Java Ablaufsteuerung (Beispiele)

Großübung 2 und 3: Struktogramme

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 25

Algorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration

4.4 Imperative Algorithmen Verzweigung und Iteration

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Kontrollstrukturen -- Schleifen und Wiederholungen

Einführung in die Programmierung

EINI WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12

Einführung in die Programmierung Wintersemester 2011/12

Kapitel 5: Abstrakte Algorithmen und Sprachkonzepte. Elementare Schritte

6. Iteration (Schleifenanweisungen)

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

INHALT...1 VARIABLEN...1 REGELN FÜR VARIABLEN- NAMEN...2 KONSTANTEN...2 MISCHEN VON TEXT, VARIABLEN UND AUSDRÜCKEN...3 STRUKTURELEMENTE IN PHP...

Informatik. Teil 1 - Sommersemester Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik

Schleifenanweisungen

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung

10 Wiederholungsanweisungen

Javakurs für Anfänger

2. Programmierung in C

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

5. Elementare Befehle und Struktogramme

6. Iteration (Schleifenanweisungen)

Javakurs für Anfänger

Programmentwurf Prof. Metzler

Einführung in die Programmierung mit BlueJ

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

Programmablaufpläne. Vorgehen zur Erstellung eines lauffähigen C-Programms

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

Algorithmen und ihre Programmierung -Teil 2-

Konzepte der Informatik

Imperative Programmierung in Java: Kontrollfluß II

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

Kompaktkurs Einführung in die Programmierung. 4. Kontrollstrukturen

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

Programmieren I. Kontrollstrukturen Heusch 8 Ratz Institut für Angewandte Informatik

5.3 Korrektheit und Verifikation

5.3 Korrektheit und Verifikation

2.5 Programmstrukturen Entscheidung / Alternative

Kapitel 3: Anweisungen

2 Teil 2: Nassi-Schneiderman

Einführung in die C++ Programmierung für Ingenieure

Algorithmen und Datenstrukturen (für ET/IT)

2. Algorithmen und Algorithmisierung Algorithmen und Algorithmisierung von Aufgaben

Einstieg in die Informatik mit Java

Aufgabe 1.90: Ein Geschäft gibt ihren Kunden unterschiedliche Rabatte. Schreiben ein Programm, das folgende Rabattklassen vorsieht:

Programmablaufplan. Vorkurs Informatik. Sommersemester Institut für Informatik Heinrich-Heine-Universität Düsseldorf

Kleine Anekdote. Schleifen in C

Schleifen: Immer wieder dasselbe tun

5. Algorithmen. K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

In Abhängigkeit von der Erfüllung einer Bedingung (1 = wahr, 0 = falsch) wird eine (Verbund-)Anweisung ausgeführt.

Schleifen in Javascript

Tag 3 Repetitorium Informatik (Java)

Einführung in die Informatik I

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

Transkript:

Flussdiagramm / Programmablaufplan (PAP) Basissysmbole Grenzstelle (Anfang, Zwischenhalt oder Ende des Programms/Algorithmus) Verbindung Zur Verdeutlichung der Ablaufrichtung werden Linien mit einer Pfeilspitze benutzt. Ein- oder Ausgabe Verarbeitungsschritt, sog. Block (einzelne Operation oder Gruppe von Operationen) Alternative (Verzweigung auf Grund einer Entscheidung) Ergebnis der Bedingung: j: ja (true, wahr) oder n: nein (false, falsch) Selektor (Mehrfachauswahl) Unterprogramm (an anderer Stelle festgelegte, strukturierte Menge von Operationen) Konnektor (Übergang von / zu einer anderen Stelle des Programmsystems)

Schleifenbegrenzer Zur Darstellung von Programmwiederholungen werden diese 2 Symbole benutzt, die den Anfang und das Ende eines Schleifenrumpfes kennzeichnen. Beispiel: Aufgabe: Algorithmus: Eingabe einer Zahl Test auf x > 0 Verarbeitungsschritte x > 0 : Berechnung und Ausgabe y x < 0 : Ausgabe "Keine reelle Zahl" Eingabe der nächsten Zahl Abbruch bei Eingabe x = 0 Lösung: Wertzuweisung := (Ergibtanweisung) 2

Struktogramm Allgemeines Grafisches Darstellungsmittel für logische Steuerstrukturen, sowie Algorithmen basiert auf den Grundelementen (Blockstruktur) der strukturierten Programmierung: Sequenz, Selektion, Iteration Grundelemente des Struktogramms Sequenz (Folge, sequentielle Reihung) Selektion (Alternative, Verzweigung, Auswahl) einfache (einseitige) Alternative vollständige (zweiseitige) Alternative Fallunterscheidung (CASE-Klausel, Mehrfachverzweigung) Iteration (Wiederholung, Schleife) Zählschleife Bedingungsschleife (abweisend, nicht-abweisend) Sequenz (Folge, Reihung) Sequentielle Ausführung Beispiel: Berechnung des Flächeninhalts eines Quadrates ( A = a 2 ) Wertzuweisung für Variable a (Eingabe: äußere Wertzuweisung 3

Selektion 1. einfache (einseitige) Alternative wenn "bedingung" true - block ausführen false - Keine Operation 2. vollständige (zweiseitige) Alternative wenn "bedingung" true - block 1 ausführen false - block 2 ausführen 3. Fallunterscheidung (CASE-Klausel), Mehrfachverzweigung) selektor: Selektor (Verteiler) wenn einer der Selektoren c i erfüllt ist, wird zugehöriger block_i ausgeführt, sonst block_0 oder (falls sonst nicht angegeben) keine Anweisung; "sonst" kann demnach auch entfallen 4

Iteration 1. Zählschleife: Die Zyklenanzahl n ist bei Schleifeneintritt bekannt, das Ende der Schleife wird durch den Zähler bestimmt. "block wird solange ausgeführt, bis Schleifenvariable den Endwert überschritten / erreicht (entspr. Sprachfestlegung) hat Bei jedem Durchlauf wird der Wert der Schleifenvariable um die Schrittweite erhöht / erniedrigt (Standard: Schrittweite=1) 2. Bedingungsschleife: Die Anzahl der Zyklen ist bei Schleifeneintritt unbekannt. Das Ende der Schleife ist von einer Bedingung abhängig. 2a. abweisende Schleife: Zuerst wird die Bedingung geprüft und dann ggf. (wenn Bedingung true) der Stukturblock durchlaufen (Anzahl Schleifendurchläufe n > 0). "block" wird nur dann abgearbeitet (und zykl. wiederholt), solange "Bedingung" wahr ist 2b. nicht-abweisende Schleife: Zuerst wird der Strukturblock durchlaufen und dann die Bedingung vor erneutem Schleifendurchlauf geprüft. Die Wiederholung des Strukturblockes erfolgt, bis Bedingung true (wahr) ist (Anzahl Schleifendurchläufe n > 0). "block" wird wiederholt abgearbeitet, bis "Bedingung" wahr ist ("Bedingung" am Schleifenende geprüft) 5

Beispiel: Struktogramm (Iteration) 1. Zählschleife FOR {... } Gaußsche Schüleraufgabe: Summe der ganzen Zahlen von 1 bis n (n=100) 2. Bedingungsschleife (abweisend) WHILE {... } Es sind einzelne Zahlen (x) einzulesen und zu addieren (x > 0). Abbruch, bei x<0 3. Bedingungsschleife (nicht abweisend) DO {... } WHILE Es sind einzelne Zahlen (x) einzulesen und zu addieren (x > 0). Abbruch, bei x<0 6

Beispiel: Struktogramm (Fakultät) Berechnung der Fakultät von n Lösung: Rekursive Berechnung n! = n(n-1)!, 0! = 1 a. Lösung mittels Zählschleife b. Lösung mittels abweisender Bedingungsschleife (WHILE {... }) Schleife, solange i < n c. Lösung mittels nicht-abweisender Bedingungsschleife (DO {... }WHILE) Schleife, bis i > n 7