Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 1 V6

Größe: px
Ab Seite anzeigen:

Download "Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 1 V6"

Transkript

1 Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 1 V6 Kontrollstrukturen Professur für Graphische Datenverarbeitung Institut für Informatik Fachbereich Informatik und Mathematik (12) Rückblick Text Strings Characters verschiedene Kodierungen: von ASCII bis Unicode Kodierung vs. Schriftgestaltung 2 1

2 Unser heutiges Lernziel Verzweigung, Iteration (und Rekursion am Freitag) sind als grundlegende mathematische und informatische Lösungsmethoden zu erfassen und deren Realisierungen in Programmiersprachen sind kennen zu lernen. Hierzu gehören insbesondere die verschiedenen Ausprägungen von Schleifen (zur Iteration) 3 Übersicht Verzweigungen Prinzipien Graphische Repräsentationen Iterative Grundstrukturen Prinzipien Schleifen: Realisierungsformen der Iteration Kontrollstrukturen in Python if else elif for und while break continue - else 4 2

3 Kontrollstrukturen Verzweigungen bilden zusammen mit den Schleifen die Kontrollstrukturen moderner Programmiersprachen. In allen imperativen und objektorientierten Sprachen sind sie in unterschiedlichen Ausprägungen vorhanden. Leistungsfähige Schleifenkonstrukte zusammen mit Unterprogrammmethoden sind essentielle Konstituenten der strukturierten Programmierung (dritte Programmiersprachen- Generation) aber auch der Objektorientierten Programmierung. 5 Verzweigungen Eine Wertabhängige Fallunterscheidung ist sowohl in der Mathematik als auch in der Informatik elementar für jede Art von Algorithmen. Aufgrund einer Bedingung wird der Programmfluss (die Abfolge der Ausführung der Befehle) verzweigt. Wir unterscheiden die einfache (bedingte) Verzweigung die den Programmfluss in zwei Pfade auftrennt und eine mehrfache Verzweigung. Realisiert ist dies in den meisten Programmiersprachen sehr ähnlich, ungefähr folgendermaßen: if <Bedingung> then <Aktionsfolge> else <AlternativeAktionsfolge> endif 6 3

4 Die mehrfache Verzweigung (Prinzip) case <avariable> avalue1: <AktionsfolgeA> avalue2: <AktikonsfolgeB>... otherwise: <Aktionsfolge> endcase 7 Graphische Repräsentationen Zur Darstellung von Programmstrukturen wurden schon sehr früh graphische Repräsentationen (visuelle Sprachen) eingesetzt, die später auch genormt wurden: Programmablaufpläne (und Datenflusspläne) nach DIN Nassi-Schneidermann Diagramme nach DIN Jackson-Diagramme UML Diagramme (hier allein 14 verschiedene Diagrammarten) 8 4

5 Programmablaufplan ist ein Ablaufdiagramm für ein Computerprogramm, das auch als Flussdiagramm (engl. flowchart) oder Programmstrukturplan bezeichnet wird. Das Konzept der Programmablaufpläne stammt aus den 1960er-Jahren. 9 Nassi-Shneiderman-Diagramm Ein Nassi-Shneiderman-Diagramm (auch Struktogramme genannt) ist ein Software-Entwurfshilfsmittel (auch Methode) für die strukturierte Programmierung. Es ist genormt nach DIN Benannt wurde es nach seinen Vätern Ike Nassi und Ben Shneiderman Die Methode zerlegt ein Gesamtproblem, das man mit dem gewünschten Algorithmus lösen will, in immer kleinere Teilprobleme bis schließlich nur noch elementare Grundstrukturen wie Sequenzen und Kontrollstrukturen zur Lösung des Problems übrig bleiben. Die beiden Autoren konnten mit ihren Diagrammen nachweisen, dass in keinem Algorithmus ein unbedingter Sprung (GOTO) benötigt wird 10 5

6 Verzweigung: einfach-einseitig Pseudocode Ablaufplan Nassi-Shneiderman if <Bedingung> then <Block 1> endif wahr Block 1? falsch wahr Block 1 Bedingung Bedingung =? 11 Zweifach- und Mehrfach-Verzweigungen Pseudocode Ablaufplan Nassi-Shneiderman if <Bedingung> then <Block 1> else <Block 2> endif wahr Block 1 Bedingung falsch Block 2 Bedingung wahr falsch Block 1 Block 2 case <Variable>Wert 1: <B1>Wert 2: <B2>...otherwise: <Bn>endcase Variable = Wert 1 Wert 2 sonst B1 B2 Bn Wert1 1 B1 Wert2 B2 Variable = Bn 12 6

7 Kritik Programmablaufpläne schon bei mittelgroßen Algorithmen schnell unübersichtlich zur Verwendung von expliziten Sprunganweisungen (GOTO's) verführen und damit die Produktion von "Spaghetti-Code" fördern und wahr? Block 1 falsch A B 13 Programmablaufpläne: Kritik und Nutzung gut strukturierter Programmcode (ggf. als Pseudocode oder in einer Skriptsprache wie Python) ist genauso übersichtlich (oder übersichtlicher!) Korrigiert man einen Fehler in einem Programm müsste dieses natürlich im Ablaufplan nachgezogen werden Programmablaufpläne werden heute in der Softwareentwicklung kaum noch eingesetzt. Sie erleben allerdings in etwas modifizierter Form eine Renaissance in Multimedia-Entwicklungsprozessen sind gut geeignet, elementare Strukturen der Programmierung zu verdeutlichen. 14 7

8 Nassi-Shneiderman Diagramme hatten ihre Blütezeit in den 1980er-Jahren, als die strukturierte prozedurale Programmierung die Technik der Wahl war. Mit dem Aufkommen objektorientierter Programmiersprachen in den 1990er Jahren verloren beide Methoden an Bedeutung, weil sie die erweiterten Möglichkeiten, die diese Sprachen bieten, nicht adäquat abbilden können. Nassi-Shneidermann Diagramme wachsen (verfeinern sich nach innen) Variante: Jackson-Diagramm: wächst nach unten und außen 15 Heute: UML-Diagramme Unified Modeling Language (1997) von der Object Management Group (OMG) entwickelt und standardisierte Beschreibungssprache, um Strukturen und Abläufe in Objektorientierten Softwaresystemen darzustellen UML ist de-facto-norm für "technische Zeichnungen" von Programmen und Abläufen. standardisiert auch das Datenformat, in dem diese Zeichnung abgelegt wird (sog. XMI, eine XML-Variante) 16 8

9 UML 2.0 Strukturdiagramme Klassendiagramm (engl. class diagram) Objektdiagramm (engl. object diagram) Komponentendiagramm (engl. component diagram) Kompositionsstrukturdiagramm (auch: Montagediagramm, engl. composite structure diagram) Verteilungsdiagramm (engl. deployment diagram) Paketdiagramm (engl. package diagram) 17 UML 2.0 Verhaltensdiagramme Anwendungsfalldiagramm (auch: Nutzfalldiagramm, use case diagram) Zustandsdiagramm (engl. statechart) Aktivitätsdiagramm (engl. activity diagram) Sequenzdiagramm und Sequenzdiagramm (engl. sequence diagram) Interaktionsübersichtsdiagramm (engl. interaction overview diagram) Kommunikationsdiagramm (engl. communication diagram) Zeitverlaufsdiagramm (engl. timing diagram) Kollaborationsdiagramme (nicht zu verwechseln mit den gleichnamigen Diagrammen in UML 1.x, die in UML 2.0 Kommunikationsdiagramme heißen). 18 9

10 Realisierung in Programmiersprachen In (fast) allen modernen Programmiersprachen werden Verzweigungsstrukturen durch if then else realisiert. Unterschiede finden sich allenfalls in Details der Syntax, z.b. der Art der Klammerung der Anweisungsblöcke. Größere Unterschiede in Syntax und Semantik finden wir allerdings bei Mehrfachverzweigungen: CASE SWITCH oder if then elif elif else. 19 Realisierung in Python if else elif if expression: suite elif expression: suite elif expression: suite... else: suite indent 4 Blanks (Leerzeichen) oder 1 Tab(ulator) besser nicht verwenden expression ist hierbei ein Ausdruck, der sich zu einem booleschen Wert auswerten lässt, suite kennzeichnet eine beliebige Anweisungsfolge

11 Syntax if else elif if_stmt ::= "if" expression ":" suite ( "elif" expression ":" suite )* ["else" ":" suite] suite ::= stmt_list NEWLINE NEWLINE INDENT statement+ DEDENT statement ::= stateliest NEWLINE compound_stmt stmt_list ::= simple_stmt (";" simple_stmt)* [";"] 21 Beispiel a = 3 b = 2 if a < b: pass elif a == b: a = a + 1 else: a = a - 1 print a >>> ================================ RESTART ================= >>>

12 Iterative Grundstrukturen (1) Die Iteration (von lateinisch iterare, "wiederholen"; engl. iteration) ist ein grundlegender Lösungsansatz sowohl in der Mathematik als auch der Informatik mit zwei verschiedenen Ausprägungen: 1. Iteration (in Mathematik und Informatik) ist eine Methode, sich der Lösung eines Rechenproblems schrittweise, aber zielgerichtet anzunähern. Sie besteht in der wiederholten Anwendung desselben Rechenverfahrens. Meistens iteriert man mit Rückkopplung: Die Ergebnisse eines Iterationsschrittes (oder alle bisher erzielten Ergebnisse) werden als Ausgangswerte des jeweils nächsten Schrittes genommen - bis das Ergebnis zufrieden stellt. 23 Iteration (Fortsetzung) Dazu muss man sicher sein (beweisen!), dass die Iterationsfolge konvergiert und dass der Grenzwert mit der gesuchten Lösung übereinstimmt. Die Geschwindigkeit der Konvergenz ist ein Maß dafür, wie brauchbar die Iterationsmethode ist. Grundsätzlich wird ein iteratives Lösungsverfahren dann eingesetzt, wenn das Ergebnis nicht geschlossen berechenbar ist (zum Beispiel Gleichungen mit transzendenten Funktionen: sin x + cos x = x, Bestimmung der Nullstellen ab dem Polynomgrad 5, etc.). Häufig ist eine gute Näherung schon befriedigend

13 Ein klassisches Beispiel, die Regula Falsi: Nullstellen (Wurzeln) eines Polynoms finden: 1. Schritt: Durch schätzen oder probieren ermittelt man ein Intervall (x 1, x 2 ) wo eine Nullstelle von y = f(x) ungefähr liegen könnte, z.b. dadurch, dass f(x1)>0, f(x2)<0 2. Einen besseren Wert x 3 berechnen wir mit der Regula Falsi, die als Näherung ein gerades Kurvenstück annimmt: x2 x1 x3 = x2 + f ( x2 ) f ( x ) f ( x ) , 4. i. Diesen 2. Schritt wiederholen wir jeweils mit x i, und x i-1, bis uns das Ergebnis genau genug ist. 25 Iterative Grundstrukturen (2) 2. In der Informatik wird auch von Iteration gesprochen, wenn ein schrittweiser Zugriff auf Einzelelemente eines zusammengesetzten Datentyps (Sammlungen), z.b. einen String, erfolgt. Z.B wird wiederholt auf einen String mit veränderten Indexwert zugegriffen: in einem Sting otto sollen alle Kleinbuchstaben durch Großbuchstaben ersetzt werden: OTTO. Eine besondere Bedeutung hat dieses Vorgehen bei Sammlungen (engl. collections) bei Strukturen wie Felder (engl. arrays), Listen, Schlüssel- Wert-Paaren (engl. Maps, Hashes, Dictionaries) oder Mengen (engl. Sets), die wir allerdings detailliert erst in der übernächsten Vorlesung kennen lernen werden

14 Schleifen: Realisierungsformen der Iteration In Programmiersprachen werden iterative Lösungen beider Art durch Schleifen realisiert: Eine Schleife ist eine Kontrollstruktur in imperativen Programmiersprachen. Sie wiederholt einen Teil des Codes den so genannten Schleifenrumpf oder Schleifenkörper so lange, bis eine Abbruchbedingung eintritt. Schleifen, die ihre Abbruchbedingung niemals erreichen oder Schleifen, die keine Abbruchbedingungen haben, nennen wir Endlosschleifen. 27 Endlosschleife kann nur von außen unterbrochen werden durch ein Zurücksetzen (engl. reset), durch eine Unterbrechung (engl. interrupt), durch Ausnahmen (engl. exeptions), Abschalten des Gerätes oder ähnliches. Oft, aber nicht immer, ist eine Endlosschleife ein Programmierfehler, weil das Programm nicht normal beendet werden kann. Ist die Aufgabe des Programms jedoch z.b. eine Überwachung und Reaktion auf einen externen (gemeldet durch einen Interrupt) oder internen Fehlerzustand (gemeldet durch eine Exception), so kann dieses Verhalten ggf. gewollt sein! Grundsätzlich aber VORSICHT! 28 14

15 Schleifenarten die kopfgesteuerte oder vorprüfende Schleife, bei der erst die Abbruchbedingung geprüft wird, bevor der Schleifenrumpf durchlaufen wird (meist durch das Schlüsselwort WHILE (= solange-bis) angezeigt. die fußgesteuerte oder nachprüfende Schleife, bei der nach dem Durchlauf des Schleifenrumpfes die Abbruchbedingung überprüft wird, z.b. durch ein Konstrukt REPEAT-UNTIL (= wiederholen-bis). die Zählschleife, eine Sonderform der kopfgesteuerten Schleife, meist als FOR (= für ) -Schleife implementiert. 29 Schleifen: Realisierungsformen der Iteration (1) Schleifenart Ablaufplan Nassi-Shneidermann vorprüfend falsch B B while (B) do Block Block wahr Block nachprüfend repeat Block until (B) falsch Block B wahr B Block 30 15

16 Schleifen: Realisierungsformen der Iteration (2) Schleifenart Ablaufplan Nassi-Shneidermann Zählschleife for(c=1;b;c++)do Block C=1 B C=1 falsch B wahr C++ Block C++ Block 31 Schleifen in Programmiersprachen Bis auf die rein funktionalen Programmiersprachen (diese brauchen keine Schleifen) realisieren alle modernen Programmiersprachen eine Auswahl der hier dargestellten Grundstrukturen. Sie unterscheiden sich in den benutzten Schlüsselwörtern, der Art der Klammerung der Programmblöcke ((), {}, begin... end, etc.) und des Typs der Laufvariablen sowie deren Inkrementierung. Mit Python werden wir hier eine sehr leistungsfähige Variante kennen lernen

17 Historische Notiz Noch in den 60er-Jahren waren Sprunganweisungen (GOTO Sprungziel) in Programmen üblich, was bei größeren Programmen nahezu zur Unwartbarkeit führte, da sie schnell kaum noch überschaubar wurden Das GOTO Sprungziel ist eine direkte Abbildung des Maschinenbefehls JUMP Sprungziel lediglich musste das Sprungziel jetzt keine Programmadresse mehr sein, sondern konnte symbolisch als Zahl oder Name angegeben werden. 33 Historische Notiz (2) Schon im Mai 1966 publizierten Böhm und Jacopini einen Artikel, in dem sie zeigten, dass jedes Programm, das GOTO-Anweisungen enthält, in ein GOTO -freies Programm umgeschrieben werden kann, das nur mit Verzweigung (IF <Bedingung> THEN... ELSE... ) und einer Schleife (WHILE <Bedingung> DO xxx) arbeitet (gegebenenfalls unter Zuhilfenahme von etwas Kodeduplikation und der Einführung von booleschen Variablen (true/false)) Im März 1968 veröffentlichte Edsger W. Dijkstra seinen legendären Aufsatz Go To Statement Considered Harmful (Dieser Aufsatz ist das READING dieser Woche!) 34 17

18 Ein Beispiel für so genannten Spaghetti-Code mit GOTO-Anweisungen: GOTO UmgeheDasProblem GOTO if (Durcheinander < TötlicheDosis) then GOTO 60 GOTO RetteJungfrau IF ((Durcheinander < TötlicheDosis) THEN RetteJungfrau ELSE UmgeheDasProblem 35 Kontrollstrukturen in Python for- und while-anweisungen sind implementiert. while_stmt ::= "while" expression ":" suite ["else" ":" suite] for_stmt ::= "for" target list "in" expression_list ":" suite ["else" ":" suite] target_list ::= target ("," target)* [","] target ::= identifier "(" target_list ")" "[" target_list "]" attributeref subscription slicing expression_list ::= expression ( "," expression )* [","] 36 18

19 Anmerkung target darf alles sein darf, was links von einem Zuweisungsoperator stehen darf, also einfache Variablen, Tupel (x,y,z), etc. 37 Die Mächtigkeit der Python for-schleife rührt daher, dass die Sequenz S durch einen beliebigen Sequenzdatentyp (insbesondere dann macht die for-schleife Sinn) repräsentiert wird, also entweder ein String, eine Liste, ein Tupel oder eine Menge (set). Man kann als expression also eine beliebige Variable eines solchen Typs angeben, dann wird über alle Elemente iteriert

20 Die Mächtigkeit der Python for-schleife (2) Es können aber auch Teilbereiche angegeben werden, durch Indizierung oder wichtiger durch Teilbereichsbildung (Slicing), die zusammenhängende Bereiche einer Sequenz extrahiert: Die Bereichsgrenzen sind mit 0 und der Sequenzlänge vorbelegt: S[1:3] geht von Index 1 bis ausschließlich 3 (also 2) S[1:] geht vom Index 1 bis zum Ende S[:-1] nimmt alles bis auf das letzte Element (negative Indizes zählen vom Ende) 39 Die Mächtigkeit der Python for-schleife (3) Erweiterte Teilbereichsbildung S[i:j:k] S[::2] ergibt jedes zweite Element der Sequenz S von 0 bis zum Ende S[::-1] ergibt die Umkehrung der Sequenz S[4:1:-1] holt Elemente von rechts nach links ab Postion 4 (inklusive) bis Position 1 (exklusive) ab

21 Beispiele >>> for x in "Ein Text": print x E i n T e x t >>> for x in "Ein Text"[::-1]: print x t x e T n i E 41 In Zusammenhang mit Listen Im Zusammenhang mit Listen sind gerade für for-schleifen sogenannte Generator Ausdrücke (und List-Comprehension-Ausdrücke) und die eingebaute Funktion range ([start,]stop [,step] interessant. range liefert eine Liste von aufeinander folgenden Integern zwischen start und stop. Mit nur einem Parameter (stop) ergeben sich die Zahlen 0...stop-1. step ist optional und ist die Schrittweite 42 21

22 Um eine Schleife (while oder for) ohne Erreichen der Bedingung zu beenden, verwendet man die break-anweisung. Um in die nächste Schleifeniteration zu springen (wobei der Rest des Schleifenrumpfes übersprungen wird) verwendet man die continue-anweisung. Beispiele siehe Skript 43 Zusammenfassung Verzweigung, Iteration sind als grundlegende mathematische und informatische Lösungsmethoden vorgestellt worden Realisierungen in Python 44 22

23 Fragen und (hoffentlich) Antworten 45 Ausblick Funktionen Prozeduren - Methoden Danke für Ihre Aufmerksamkeit 46 23

2 Vorkurs Programmierung. Übungs-Nachlese. Übungs-Nachlese. Kontrollstrukturen, Prozeduren, Methoden und Funktionen

2 Vorkurs Programmierung. Übungs-Nachlese. Übungs-Nachlese. Kontrollstrukturen, Prozeduren, Methoden und Funktionen Kontrollstrukturen, Prozeduren, Methoden und Funktionen Prof. Dr. Detlef Krömker Professur für Graphische Datenverarbeitung Institut für Informatik Fachbereich Informatik und Mathematik (12) Übungs-Nachlese

Mehr

UML (Unified Modelling Language) von Christian Bartl

UML (Unified Modelling Language) von Christian Bartl UML (Unified Modelling Language) von Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 UML Unified Modelling Language... 3 2 Diagrammtypen... 3 2.1 Aktivitätsdiagramm... 3 2.1.1 Notation... 4 2.1.2 Beispieldiagramm...

Mehr

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

INSPIRE - Modellierung

INSPIRE - Modellierung INSPIRE - Modellierung Inhalt Motivation Modellierung UML Diagramme INSPIRE-Schulung LKROS 2 Motivation Was ist ein Modell, und warum wollen wir modellieren? Warum brauchen wir eine Modellierungssprache

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

Einfache Bedingte Ausführung

Einfache Bedingte Ausführung Kontrollstrukturen Bisher Programme mit Funktionen als einfache Folge von Befehlen Ablauf von Programmen darüber hinaus steuerbar über Bedingte Ausführung: Ausführung von Programmteilen (Befehlen oder

Mehr

Struktogramme. Hinweise 1 Stand:

Struktogramme. Hinweise 1 Stand: Struktogramme Hinweise 1 Stand: 09. 06. 2005 Dr. Reinhard Strangmeier Lehrstuhl für Wirtschaftsinformatik Prof. Dr. H. Gehring Fachbereich Wirtschaftswissenschaft FernUniversität in Hagen 1 Einleitung

Mehr

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

EINI LogWing/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 17/18 EINI LogWing/ Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 17/18 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de

Mehr

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

EINI LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12 EINI LW Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 11/12 Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@udo.edu http://ls1-www.cs.uni-dortmund.de

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

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

Programmentwurf mittels strukturierter Programmierung. Programmentwurf. Nassi-Shneiderman-Diagramm [DIN ] 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

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

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

Kontrollstrukturen -- Schleifen und Wiederholungen

Kontrollstrukturen -- Schleifen und Wiederholungen Kontrollstrukturen -- Schleifen und Wiederholungen Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14

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

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

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

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

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

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 16/17 EINI LW/ Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 16/17 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de

Mehr

WS2017/ Oktober 2017

WS2017/ Oktober 2017 Einführung in die Programmierung Ronja Düffel WS2017/18 09. Oktober 2017 Rückblick Datentypen bool Zahlen (int und float) string Variablen Kontrollstrukturen Verzweigungen (if...: und if...else:) Schleifen

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

(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

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Unified Modeling Language (UML) Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Unified Modeling Language (UML)

Mehr

NACHRICHTENTECHNISCHER SYSTEME

NACHRICHTENTECHNISCHER SYSTEME Einführung UML COMPUTERSIMULATION NACHRICHTENTECHNISCHER SYSTEME 11. Unified Modeling Language UML 220 Standardsprache d zur Visualisierung, i Spezifikation, Konstruktion und Dokumentation komplexer (Software-)

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

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

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

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

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

Name Klasse Datum. Kontrollstrukturen steuern die Ausführung von Anweisungen

Name Klasse Datum. Kontrollstrukturen steuern die Ausführung von Anweisungen Name Klasse Datum 1 Allgemeines In der Programmierung unterscheidet man prinzipiell zwischen: Einfachen Anweisungen (Zuweisungen); z.b. Radius = Durchmesser /2 Kontrollstrukturen Kontrollstrukturen steuern

Mehr

2 Teil 2: Nassi-Schneiderman

2 Teil 2: Nassi-Schneiderman 2 Teil 2: Nassi-Schneiderman Wie kann man Nassi-Schneiderman in einer objektorientierten Sprache verwenden? Jedes Objekt besitzt Methoden, welche die Attribute des Objektes verändern. Das Verhalten der

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

Abschnitt 5. Grundlagen der funktionalen & imperativen Programmierung

Abschnitt 5. Grundlagen der funktionalen & imperativen Programmierung Übersicht Abschnitt 5. Grundlagen der funktionalen & imperativen Programmierung Einführung in die Programmierung 5. Grundlagen der funktionalen & imperativen Programmierung 1 Übersicht 5.1 Sorten und Abstrakte

Mehr

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

EINI WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12 EINI WiMa Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 11/12 Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@udo.edu http://ls1-www.cs.uni-dortmund.de

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

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

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel. EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.de/~mtr FRAGEN / ANMERKUNGEN Vorlesung Neue Übungsaufgaben MODELLIERUNG

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Kontrollstrukturen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Kontrollstrukturen Wichtig: bedingte Ausführung

Mehr

Intensivübung zu Algorithmen und Datenstrukturen

Intensivübung zu Algorithmen und Datenstrukturen Intensivübung zu Algorithmen und Datenstrukturen Silvia Schreier Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht Programmierung Fallunterscheidung Flussdiagramm Bedingungen Boolesche

Mehr

Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff.

Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff. Gedächtnis Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet Hauptspeicher 38265 Telefon CPU Gedächtnis Vorlesender Zugriff Verarbeitungseinheit

Mehr

2.4 Schleifen. Schleifen unterscheiden sich hinsichtlich des Zeitpunktes der Prüfung der Abbruchbedingung:

2.4 Schleifen. Schleifen unterscheiden sich hinsichtlich des Zeitpunktes der Prüfung der Abbruchbedingung: 2.4 Schleifen Schleifen beschreiben die Wiederholung einer Anweisung bzw. eines Blocks von Anweisungen (dem Schleifenrumpf) bis eine bestimmte Bedingung (die Abbruchbedingung) eintritt. Schleifen unterscheiden

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung Eine Einführung mit anschaulichen Beispielen aus der Java-Welt apl. Prof. Dr. Achim Ebert Inhalt Kapitel 3: Kontrollstrukturen Einfache Anweisungen Anweisungsblöcke Steuerung

Mehr

Die Unified Modeling Language UML

Die Unified Modeling Language UML Informatik II: Modellierung Prof. Dr. Martin Glinz Kapitel 4 Die Unified Modeling Language UML Universität Zürich Institut für Informatik Inhalt 4.1 Hintergrund 4.2 Grundkonzepte der UML 4.3 Die Rolle

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

Informatik für Ingenieure (InfIng)

Informatik für Ingenieure (InfIng) Informatik für Ingenieure (InfIng) C - Kontrollstrukturen Doz. Dipl.-Ing. H. Hiller WS 2012/13 Kontrollstrukturen Erinnern Sie sich? Frühstücks-Ei kochen, 6 Minuten Was tun, wenn kein Topf vorhanden ist?

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

Schachtelung der 2. Variante (Bedingungs-Kaskade): if (B1) A1 else if (B2) A2 else if (B3) A3 else if (B4) A4 else A

Schachtelung der 2. Variante (Bedingungs-Kaskade): if (B1) A1 else if (B2) A2 else if (B3) A3 else if (B4) A4 else A 2.4.6. Kontrollstrukturen if-anweisung: Bedingte Ausführung (Verzweigung) 2 Varianten: if (Bedingung) Anweisung (Anweisung = einzelne Anweisung oder Block) Bedeutung: die Anweisung wird nur ausgeführt,

Mehr

Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn

Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn Ideen und Konzepte der Informatik Programme und Algorithmen Kurt Mehlhorn Algorithmen und Programme Algorithmus Schritt-für-Schritt Vorschrift zur Lösung eines Problems. Formuliert man umgangssprachlich,

Mehr

UML Crashkurs v0.1. UML für Fachinformatiker. von Hanjo Müller

UML Crashkurs v0.1. UML für Fachinformatiker. von Hanjo Müller UML Crashkurs v0.1 UML für Fachinformatiker von Hanjo Müller 3. Mai 2005 Inhaltsverzeichnis Inhaltsverzeichnis 1 UML - Unified Modeling Language 3 2 UML im Software Entwurf 4 2.1 Ablauf der Softwareentwicklung.............................

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

Objektorientierte Softwareentwicklung

Objektorientierte Softwareentwicklung Objektorientierte Softwareentwicklung Analyse- und Designmethoden Analyse- & Designmethoden Strukturierte, traditionelle Methoden Objektorientierte Methoden Funktionsorientierte Methoden Datenorientierte

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

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

ECDL MODUL COMPUTING. Syllabus Version 1.0

ECDL MODUL COMPUTING. Syllabus Version 1.0 ECDL MODUL COMPUTING Syllabus Version 1.0 DLGI Dienstleistungsgesellschaft für Informatik Am Bonner Bogen 6 53227 Bonn Tel.: 0228-688-448-0 Fax: 0228-688-448-99 E-Mail: info@dlgi.de, URL: www.dlgi.de In

Mehr

Ideen und Konzepte der Informatik

Ideen und Konzepte der Informatik Ideen und Konzepte der Informatik Programme und Algorithmen Antonios Antoniadis 23. Oktober 2017 Algorithmen und Programme Algorithmus Schritt-für-Schritt Vorschrift zur Lösung eines Problems. Formuliert

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

C++ - Einführung in die Programmiersprache Schleifen

C++ - Einführung in die Programmiersprache Schleifen C++ - Einführung in die Programmiersprache Schleifen Bedingung wiederhole ja Anweisung Anweisung Anweisung Leibniz Universität IT Services Anja Aue Schleifen Iterationsanweisungen. Wiederholung von Anweisungsblöcken.

Mehr

Kapitel 3: Anweisungen

Kapitel 3: Anweisungen Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -66 Kapitel : Anweisungen Bedingte Anweisungen (Verzweigungen) Wiederholte Anweisungen (Schleifen) Abweisschleife Durchlaufschleife

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

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren 3. Kontrollstrukturen 09.11.2016 Jun.-Prof. Dr.-Ing. Anne Koziolek Version 1.1 ARBEITSGRUPPE ARCHITECTURE-DRIVEN REQUIREMENTS ENGINEERING (ARE) INSTITUT FÜR PROGRAMMSTRUKTUREN UND

Mehr

Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn

Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn Ideen und Konzepte der Informatik Programme und Algorithmen Kurt Mehlhorn November 2016 Algorithmen und Programme Algorithmus = Schritt-für-Schritt Vorschrift zur Lösung eines Problems. Formuliert man

Mehr

4.4 Imperative Algorithmen Prozeduren

4.4 Imperative Algorithmen Prozeduren 4.4.2 Prozeduren Der Wert eines Ausdrucks u in Zustand z Z lässt sich damit auch leicht definieren (jetzt W Z statt W σ ) Dazu erweitern wir die rekursive Definition von Folie 57 (Wert eines Ausdrucks):

Mehr

Boolean Wertemenge: Wahrheitswerte {FALSE,TRUE}, auch {0,1} Deklaration:

Boolean Wertemenge: Wahrheitswerte {FALSE,TRUE}, auch {0,1} Deklaration: Boolean Wertemenge: Wahrheitswerte {,}, auch {,} Deklaration: VAR present,billig,laut,gefunden : BOOLEAN; Ein-/Ausgabe: keine! Operatoren: Negation, Verneinung NOT ~ Konjunktion, logisches UND AND & Disjunktion,

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

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

EINI LogWing/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 17/18 EINI LogWing/ Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 17/18 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de

Mehr

Requirements Engineering I

Requirements Engineering I Martin Glinz Requirements Engineering I Kapitel 9 UML Unified Modeling Language Universität Zürich Institut für Informatik 2006, 2008 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe sind

Mehr

Unified Modeling Language 2

Unified Modeling Language 2 Unified Modeling Language 2 Marvin Frommhold 17.11.2008 Gliederung Einleitung Geschichte Strukturierung der Spezifikation Diagrammtypen Strukturdiagramme Verhaltensdiagramme CASE-Werkzeuge Quellen Was

Mehr

2.5 Programmstrukturen Entscheidung / Alternative

2.5 Programmstrukturen Entscheidung / Alternative Entscheidung, ob der folgende Anweisungsblock ausgeführt wird oder ein alternativer Block Entscheidung ob die Bedingung wahr oder falsch (True / False) ist Syntax: 2.5 Programmstrukturen 2.5.1 Entscheidung

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

Datenbanken. Teil 2: Informationen. Kapitel 7: Objektorientierte Sicht. UML-Diagramme. Vorstellung der unterschiedlichen UML-Diagramme

Datenbanken. Teil 2: Informationen. Kapitel 7: Objektorientierte Sicht. UML-Diagramme. Vorstellung der unterschiedlichen UML-Diagramme Datenbanken objektorientierte Sicht Seite 1 von 76 Datenbanken Teil 2: Informationen Kapitel 7: Objektorientierte Sicht UML-Diagramme Vorstellung der unterschiedlichen UML-Diagramme 1. Diagrammtypen 2.

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

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

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

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

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8 Java 8 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Oktober 2014 JAV8 5 Java 8 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen

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

Programmierkurs Python I

Programmierkurs Python I Programmierkurs Python I Michaela Regneri & Stefan Thater Universität des Saarlandes FR 4.7 Allgemeine Linguistik (Computerlinguistik) Winter 2010/11 Übersicht Kurze Wiederholung: while Sammeltypen (kurz

Mehr

Tag 3 Repetitorium Informatik (Java)

Tag 3 Repetitorium Informatik (Java) Tag 3 Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Typkonvertierung

Mehr

Python Intro. Vorsemesterkurs Informatik Praktischer Teil WS2012/13. 2.Oktober Vorkurs Informatik - WS 2012/13

Python Intro. Vorsemesterkurs Informatik Praktischer Teil WS2012/13. 2.Oktober Vorkurs Informatik - WS 2012/13 Python Intro Vorsemesterkurs Informatik Praktischer Teil WS2012/13 2.Oktober 2012 Let's get started } Skript, Übungen, Folien... Alles zum Praxisteil auf http://vorkurs.cs.unifrankfurt.de Bücher: Fragen!

Mehr

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

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15 EINI LW/ Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de

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

Webbasierte Programmierung

Webbasierte Programmierung Webbasierte Programmierung Eine Einführung mit anschaulichen Beispielen aus der HTML5-Welt apl. Prof. Dr. Achim Ebert Inhalt Kapitel 6: JavaScript Kontrollstrukturen Verzweigungen Einseitig, zweiseitig,

Mehr

WS2018/ Oktober 2018

WS2018/ Oktober 2018 Einführung in die Programmierung Ronja Düffel WS2018/19 02. Oktober 2018 RBI-Account Account für das Rechnernetz der Informatik RBI-Account HRZ-Account zum Arbeiten an und auf den Rechnern des Instituts

Mehr

Kontrollstrukturen und Logik

Kontrollstrukturen und Logik Programmieren mit Java Modul 2 Kontrollstrukturen und Logik Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 1.1 Anweisungen und Blöcke........................... 3 2 Operatoren (Teil II) 4 2.1 Relationale

Mehr

Arbeitsblätter für Algorithmierung und Strukturierung

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

Mehr

Kleine Anekdote. Schleifen in C

Kleine Anekdote. Schleifen in C Kleine Anekdote 1786 kam ein Junge mit 9 Jahren in die Volksschule. Um die Schüler zu beschäbigen, gab der Lehrer die Aufgabe alle Zahlen von 1 bis 100 zusammenzuzählen. Dieser neunjährige Junge lieferte

Mehr

Kontrollstrukturen. Verzweigungen Einfache Mehrfache Wiederholungen Eine Sequenz durchlaufen Wiederhole bis Solange. Tue

Kontrollstrukturen. Verzweigungen Einfache Mehrfache Wiederholungen Eine Sequenz durchlaufen Wiederhole bis Solange. Tue Kontrollstrukturen Verzweigungen Einfache Mehrfache Wiederholungen Eine Sequenz durchlaufen Wiederhole bis Solange. Tue Einfache Verzweigung Eine Verzweigung erlaubt das bedingte Ausführen bestimmter Programm-Teile.

Mehr

Objektorientierung. Marc Satkowski 20. November C# Kurs

Objektorientierung. Marc Satkowski 20. November C# Kurs Objektorientierung Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Weiterführende Verzweigungen Tertiäre-Verzweigung switch case 2. Schleifen Zählschleife (for) break & continue 3. Objektorientierung

Mehr

Software-Praktikum. Überblick und Zeitplan

Software-Praktikum. Überblick und Zeitplan Standort Hagen Fachbereich Technische Betriebswirtschaft Software-Praktikum Überblick und Zeitplan Andreas de Vries und Volker Weiß Version: 26. September 2016 Inhaltsverzeichnis 1 Einführung und Überblick

Mehr

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

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2 Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 2 SS 2016

Mehr