Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften
|
|
- Hella Glöckner
- vor 7 Jahren
- Abrufe
Transkript
1 Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften Teil 3: Anweisungen, Blöcke und Programmfluss Martin Nolte Abteilung für Angewandte Mathematik Universität Freiburg i. Br. Vorlesung vom 2. Mai 2016
2 Inhalt einfache Anweisungen und Blöcke Bedingte Ausführung Schleifen Wahrheitswerte Sprunganweisungen
3 Anweisungen Eine C-Funktion (z.b. main) besteht aus einer Folge von Anweisungen (engl. statements). Anweisungen erlauben es, den Zustand des Computers (z.b. den Inhalt des Speichers bzw. der Variablen) zu verändern. Anweisungen werden sequentiell abgearbeitet. Jede Anweisung endet mit dem Strichpunkt (;). Bespiel: int a, b; scanf( "%d", &a ); b = 2*a;
4 Leere Anweisung Die einfachste Anweisung ist die leere Anweisung (engl. null statement). Syntax: ; Semantik: Tue nichts. Sie wird häufig als synatktisches Werkzeug gebraucht manchmal will man genau nichts tun. Leere Anweisungen werden vom Compiler eliminert sie kosten keine Rechenzeit.
5 Ausdrücke als Anweisungen Jeder Ausdruck wird durch hinzufügen des Strichpunktes zu einer Anweisung. Syntax: expression ; expression Ausdruck für einen Wert Semantik: Werte diesen Ausdruck aus. Beispiel: sqrt( 2.0 ); x = 2.0; printf( "x = %lf\n", x ); Wichtiger Unterschied: Anweisungen weder Typ noch Wert.
6 Deklaration von Variablen Auch die Deklaration von Variablen ist eine Anweisung. Syntax: type identifier [ = expression ] [ ] opt,... opt ; type Datentyp der Variablen identifier Name der Variablen (gültiger Bezeichner) expression Ausdruck für einen Wert... weitere Deklarationen desselben Typs Semantik: Reserviere Speicher für diese Variablen. Beispiel: int i; int a = 2, b, c = a;
7 Zusammenfassen von Anweisungen Anweisungen können zu einem Block zusammengefasst werden. Ein Block ist selbst eine Anweisung. Syntax: { statement... } statement auszuführende Anweisung... weitere Anweisungen Semantik: Werte diese Anweisungen der Reihe nach aus.
8 Zusammenfassen von Anweisungen Beispiel: (vgl. sqrt.c) 1 int main () 2 { 3 double x; 4 5 { 6 printf( "x = " ); 7 scanf( "%lf", &x ); 8 } 9 10 const double y = sqrt( x ); 11 printf( "sqrt( %lf ) = %lf\n", x, y ); return 0; 14 } Coding Style: Die geschweiften Klammern stehen in separaten Zeilen. Die enthaltenen Anweisungen werden eine Ebene tiefer eingerückt (z.b. 2 Leerzeichen).
9 Inhalt einfache Anweisungen und Blöcke Bedingte Ausführung Schleifen Wahrheitswerte Sprunganweisungen
10 Die if-anweisung Mit der if-anweisung kann der Ablauf des Programms von Bedingungen abhängig gemacht werden. Syntax: if ( expression ) statement expression Ausdruck für eine Bedingung (Typ _Bool) statement auszuführende Anweisung Semantik: Wenn der Ausdruck wahr ist, führe die Anweisung aus, sonst nicht. Hinweis: Sollen mehrere Anweisungen abhängig von der Bedingung ausgeführt werden, so können sie zu einem Block zusammengefasst werden.
11 Die if-anweisung Beispiel: Quadratwurzel mit Prüfung auf Nichtnegativität 1 #include <math.h> 2 #include <stdio.h> 3 4 int main () 5 { 6 /* declare floating point variable */ 7 double x; 8 9 /* read user input */ 10 printf( "x = " ); 11 scanf( "%lf", &x ); if( x >= 0.0 ) 14 { 15 /* compute square root */ 16 const double y = sqrt( x ); /* print value of x and square root */ 19 printf( "sqrt( %lf ) = %lf\n", x, y ); 20 } return 0; 23 }
12 Die if-else-anweisung Optional kann die if-anweisung um einen else-zweig erweitert werden. Syntax: if ( expression ) statement 1 else statement 2 expression Ausdruck für eine Bedingung (Typ _Bool) statement auszuführende Anweisung Semantik: Wenn der Ausdruck wahr ist, führe die Anweisung statement 1 aus, sonst statement 2. Hinweis: Sowohl im if- als auch im else-zweig können mehrere Anweisungen zu einem Block zusammengefasst werden.
13 Hängendes else Warnung: Der else-zweig gehört immer zur direkt voranstehenden if-anweisung. Beispiel: int a = 5; if( a >= 0 ) if( a == 0 ) printf( "a equals 0\n" ); else printf( "a is negative number\n" ); Der Code liefert eine falsche Ausgabe: a is negative number Man spricht von einem hängenden else (engl. dangling else).
14 Vermeiden des hängenden else Lösungsmöglichkeit 1: leere Anweisung if( a >= 0 ) if( a == 0 ) printf( "a equals 0\n" ); else ; else printf( "a is negative number\n" ); Lösungsmöglichkeit 2: Block einführen if( a >= 0 ) { if( a == 0 ) printf( "a equals 0\n" ); } else printf( "a is negative number\n" );
15 Quadratwurzel mit Fehlerbehandlung 1 #include <math.h> 2 #include <stdio.h> 3 4 int main () 5 { 6 double x; 7 8 printf( "x = " ); 9 if( scanf( "%lf", &x ) == 1 ) 10 { 11 if( x >= 0.0 ) 12 { 13 const double y = sqrt( x ); 14 printf( "sqrt( %lf ) = %lf\n", x, y ); 15 } 16 else 17 printf( "Error: %lf < 0.\n", x ); 18 } 19 else 20 printf( "Error: Invalid input.\n" ); return 0; 23 }
16 Fallunterscheidungen Der else-zweig kann natürlich selbst eine if-anweisung sein. Auf diese Art lassen sich Fallunterscheidungen realisieren. Coding Style: Fallunterschiedungen if ( expression 1 ) statement 1 else if ( expression 2 ) statement 2 else if ( expression 3 ) statement 3... else statement n Hinweis: Die einzelnen Zweige können wieder mehrere Anweisungen zu einem Block zusammenfassen.
17 Inhalt einfache Anweisungen und Blöcke Bedingte Ausführung Schleifen Wahrheitswerte Sprunganweisungen
18 Motivation: Auswertung monomialer Ausdrücke Zu variablem x R und n N berechne x n = n x = x }. {{.. x }, wobei x 0 = 1. n mal i=1 Dabei sollen Funktionen wie pow aus der Mathematik-Bibliothek vermieden werden. Einfachster Algorithmus: x n+1 = x x n, x 0 = 1. Die Multiplikation muss n-mal ausgeführt werden, wobei n erst zur Laufzeit bekannt ist. Solche Konstrukte kommen häufig vor; sie heißen Schleifen.
19 Die while-schleife Die einfachste Schleife in C ist die while-schleife. Ihre Syntax ähnelt der if-anweisung. Syntax: while ( expression ) statement expression Kontrollausdruck (Typ _Bool) statement auszuführende Anweisung Semantik: Solange der Kontrollausdruck wahr ist, führe die Anweisung aus. Die Anweisung heißt auch Rumpf der Schleife.
20 Die while-schleife Beispiel: y = x n 1 double y = 1; 2 int i = 0; 3 while( i < n ) 4 { 5 y = y * x; 6 i = i + 1; 7 } Der Schleifenrumpf wird n mal ausgeführt, da i jedes mal um 1 heraufgezählt wird. In Zeile 3 gilt immer y = x i. Eine solche Bedingung heißt Schleifeninfariante. Die Schleife wird verlassen, sobald i = n ist. Dann gilt: y = x n.
21 Endlosschleifen Eine Schleife wird erst verlassen, wenn der Kontrollausdruck unwahr ist. Bleibt der Kontrollausdruck immer wahr, so wird die Schleife nie verlassen. Solche Schleifen heißen Endlosschleifen. Beispiel: while( 1 ) ; Das Programm ist syntaktisch korrekt! Hängt ein Programm in einer Endlosschleife fest, muss es vom Benutzer (oder vom System) abgebrochen werden. Warnung: Der Compiler kann eine Endlosschleifen nicht entdecken.
22 Syntaktischer Zucker: Die for-schleife Solche Zählschleifen kommen sehr häufig vor. Deshalb gibt es eine Abkürzung, die for-schleife. Beispiel: y = x n double y = 1; int i = 0; while( i < n ) { y = y * x; i = i + 1; } double y = 1; for( int i = 0; i < n; i = i + 1 ) y = y * x; Die for-schleife ist syntaktischer Zucker. Sie kann nichts, das eine while-schleife nicht auch kann.
23 Syntaktischer Zucker: Die for-schleife Syntax: for ( expression 1 ; expression 2 ; expression 3 ) statement expression 1 beliebiger Ausdruck oder Variablendeklaration expression 2 Kontrollausdruck (Typ _Bool) expression 3 beliebiger Ausdruck statement auszuführende Anweisung Semantik: äquivalent zu { expression 1 ; while ( expression 2 ) { statement ; expression 3 ; } }
24 Syntaktischer Zucker: Die for-schleife Alle drei Ausdrücke dürfen auch leer sein. Ein leerer Kontrollausdruck wird durch den Ausdruck wahr ersetzt. Jede while-schleife kann also auch als for-schleife geschrieben werden: for ( ; expression ; ) statement Manchmal ist auch der Rumpf der for-schleife leer: for( int i = 0; i < 1000; i = i + 1 ) ; Warnung: Folgender Stil ist schlecht: for( int i = 0; i < 1000; i = i + 1 ); Das Semikolon kann leicht überlesen werden.
25 Die do-while-schleife Manchmal muss der Schleifenrumpf mindestens einmal ausgeführt werden, damit die Kontrollbedingung sinnvoll wird. Für diese Fälle gibt es die do-while-schleife. Syntax: do statement while ( expression ) ; expression Ausdruck für eine Bedingung (Typ _Bool) statement auszuführende Anweisung Semantik: Führe die Anweisung aus, bis der Kontrollausdruck unwahr wird.
26 Inhalt einfache Anweisungen und Blöcke Bedingte Ausführung Schleifen Wahrheitswerte Sprunganweisungen
27 Der Typ _Bool Der Typ _Bool wird verwendet, um Wahrheitswerte zu kodieren. Er kann nur die Werte 0 (falsch) und 1 (wahr) annehmen. Folgende Operationen sind nur für a, b vom Typ _Bool definiert:! a Negation (0 1, 1 0) a b logisches oder a && b logisches und Für && und gilt die Kurzschlussauswertung (engl. short circuit boolean evaluation): Steht das Ergebnis nach Auswertung der linken Seite fest, so wird die rechte Seite nicht ausgewertet.
28 Der Header stdbool.h Der Typ _Bool wurde erst in C11 eingeführt. Um Kollisionen zu vermeiden wurde nicht das Schlüsselwort bool gewählt. Auch die Werte true und false wurden vermieden. Die C-Standardbibliothek definiert diese Schlüsselwörter in der Datei stdbool.h.
29 Beispiel: Testen auf Primzahlen 1 #include <stdbool.h> 2 #include <stdio.h> 3 4 int main () 5 { 6 int n; 7 printf( "n = " ); 8 scanf( "%d", &n ); 9 10 bool prime = true; 11 for( int i = 2; i < n; i = i+1 ) 12 { 13 if( n % i == 0 ) 14 prime = false; 15 } if( prime ) 18 printf( "%d is prime\n", n ); 19 else 20 printf( "%d is not prime\n", n ); 21 }
30 Inhalt einfache Anweisungen und Blöcke Bedingte Ausführung Schleifen Wahrheitswerte Sprunganweisungen
31 Gezielte Sprunganweisungen Sprunganweisungen ändern den sequentiellen Programmablauf innerhalb einer Funktion. Die Ausführung wird direkt an der angegebenen Markierung (engl. label) fortgesetzt. Beispiel: 1 { 2 double y = 1; 3 int i = 0; 4 loop: 5 if( i >= n ) 6 goto done 7 y = y * x; 8 i = i + 1; 9 goto loop; 10 done: 11 }
32 Markierte Anweisungen Jedes Statement kann mit einer solchen Marke versehen werden. Syntax: identifier : statement identifier Bezeichner für die Anweisung statement markierte Anweisung Semantik: Weise der Anweisung (an dieser Stelle) den Bezeichner als Namen zu. Coding Style: Markierungen werden auf die Ebene des Umgebenden Blockes ausgerückt. Hinweis: Eine Anweisung darf mehrere Namen haben.
33 Die goto-anweisung Syntax: goto identifier ; identifier Bezeichner der Zielanweisung Semantik: Setze die Ausführung mit der angegebenen Anweisung fort. Warnung: Mit goto lassen sich leicht Endlosschleifen schreiben: { label: goto label; }
34 Schleifen mittels goto Der Computer versteht nur Sprünge, keine Schleifen. Alle Schleifen lassen sich mittels goto umformulieren. Beispiel: while ( expression ) statement ist äquivalent zu label 1 : if (! ( expression ) ) goto label 2 ; statement goto label 1 ; label 2 :
35 Kritik an der goto-anweisung Die goto-anweisungen wird häufig kritisch kommentiert. Allerdings ist das Urteil ist einheitlich. Pro: + Tief verschachtelte Schleifen können, z.b. im Fehlerfall, gezielt verlassen werden. Contra: - Die Sprunganweisung kann immer mit anderen Sprachmitteln vermieden werden. - Extensiver Gebrauch macht Programme schwer lesbar und damit fehleranfällig. Manche Programmiersprachen (z.b. Java) unterstützen keine goto-anweisungen.
36 Die continue-anweisung Die continue-anweisung darf nur im Rumpf einer for-, whileoder do-while-schleife verwendet werden. Syntax: continue ; Semantik: Beginne sofort mit der nächsten Iteration der Schleife Beispiel: for( int i = 0; i < 10; i = i + 1 ) { if( i % 2!= 0 ) continue; } printf( "%d is an even number\n", i ); Hinweis: continue eignet sich gut für Schleifen mit leerem Rumpf.
37 Die break-anweisung Die break-anweisung darf nur im Rumpf einer for-, while- oder do-while-schleife oder einer switch-anweisung verwendet werden. Syntax: break ; Semantik: Verlasse die Schleife (bzw. die switch-anweisung sofort) Beispiel: int i = 0; while( 1 ) /* no infinite loop due to break */ { i = i + 1; if( i > 99 ) break; }
38 Die return-anweisung Syntax: return expression ; expression Ausdruck für den Rückgabewert Semantik: Verlasse die Funktion und gebe den Wert des Ausdrucks zurück. Der Typ des Ausdrucks muss mit dem Typ des Rückgabewertes der Funktion übereinstimmen. Ist Typ des Rückgabewertes void, muss der Ausdruck leer sein. Hinweis: Im Fall der Funktion main wird das Programm beendet. Funktionen werden wir noch detailliert besprechen.
39 Die switch-anweisung Die switch-anweisung prüft einen ganzzahligen Ausdruck auf mehrere konstante Alternativen. Syntax: switch ( expression ) { case const-expression : statement... case const-expression : statement default : statement... } expression ganzzahliger Ausdruck const-expression Konstanter ganzzahliger Ausdruck statement... keine, eine oder mehrere Anweisungen
40 Die switch-anweisung Semantik: Stimmt der Wert von expression mit einer der case-marken überein, so wird der Programmfluss an dieser Marke, andernfalls an der default-marke fortgesetzt. Bemerkungen: Konstante Ausdrücke sind zur Übersetzungszeit auswertbar. Alle case-konstanten müssen unterschiedliche Werte haben. Die default-marke ist optional. Hinweis: Nach dem Sprung werden alle Anweisungen bis zum Ende des Blocks ausgeführt. Mit break kann der Block gezielt verlassen werden.
41 Beispiel: Die switch-anweisung 1 int n = 1; 2 switch( n ) 3 { 4 case 1: 5 printf( "n = 1\n" ); 6 break; 7 8 case 3: 9 printf( "n = 3\n" ); 10 break; case 2: 13 case 4: 14 printf( "n = 2 or n = 4\n" ); 15 break; default: 18 printf( "n >= 5\n"); 19 }
42 Autoren Autoren die an diesem Skript mitgewirkt haben: : Christoph Gersbacher : Patrick Schön 2016 : Martin Nolte This work is licensed under a Creative Commons Attribution- ShareAlike 4.0 International (CC BY-SA 4.0) License.
3. Anweisungen und Kontrollstrukturen
3. Kontrollstrukturen Anweisungen und Blöcke 3. Anweisungen und Kontrollstrukturen Mit Kontrollstrukturen können wir den Ablauf eines Programmes beeinflussen, z.b. ob oder in welcher Reihenfolge Anweisungen
MehrObjektorientierte 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
MehrProgrammiersprache 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.)
MehrS. 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
MehrEinstieg 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
MehrJava Anweisungen und Ablaufsteuerung
Informatik 1 für Nebenfachstudierende Grundmodul Java Anweisungen und Ablaufsteuerung Kai-Steffen Hielscher Folienversion: 24. Januar 2017 Informatik 7 Rechnernetze und Kommunikationssysteme Inhaltsübersicht
MehrKontrollfluss. man Verzweigungen und Sprünge. o bisher linear (von oben nach unten) o Für interessante Programme braucht
Kontrollanweisungen Kontrollfluss o bisher linear (von oben nach unten) o Für interessante Programme braucht man Verzweigungen und Sprünge Kontrollfluss o bisher linear (von oben nach unten) o Für interessante
MehrEinstieg 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
MehrSchleifen in C/C++/Java
Schleifen in C/C++/Java Alle 3 Sprachen stellen mindestens die folgenden 3 Schleifenkonstruktionen zur Verfügung. In C gibt es auch keine weiteren, C++, Java und C# haben noch weitere nützliche Varianten.
MehrJava Ablaufsteuerung (Beispiele)
Informatik 1 für Nebenfachstudierende Grundmodul Java Ablaufsteuerung (Beispiele) Kai-Steffen Hielscher Folienversion: 16. Januar 2018 Informatik 7 Rechnernetze und Kommunikationssysteme Blöcke Anweisungen
MehrEinfü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
MehrEinstieg 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
MehrJavaScript. 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
MehrKompaktkurs 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
MehrGedä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
MehrGrundlagen der Programmierung Teil1 Einheit III Okt. 2010
Grundlagen der Programmierung Teil1 Einheit III - 22. Okt. 2010 GDP DDr. Karl D. Fritscher basierend auf der Vorlesung Grundlagen der Programmierung von DI Dr. Bernhard Pfeifer Einschub Bevor wir mit den
MehrEinstieg 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,
MehrModProg 15-16, Vorl. 5
ModProg 15-16, Vorl. 5 Richard Grzibovski Nov. 18, 2015 1 / 29 Übersicht Übersicht 1 Logische Operationen 2 Priorität 3 Verzweigungen 4 Schleifen 2 / 29 Logische Werte Hauptkonzept: Besitzt ein C-Ausdruck
MehrPraxisorientierte Einführung in C++ Lektion: "Kontrollstrukturen"
Praxisorientierte Einführung in C++ Lektion: "Kontrollstrukturen" Christof Elbrechter Neuroinformatics Group, CITEC April 24, 2014 Christof Elbrechter Praxisorientierte Einführung in C++ April 24, 2014
MehrGrundlagen der Programmiersprache C für Studierende der Naturwissenschaften
Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften Teil 3: Schleifen- und Sprunganweisungen Patrick Schreier Abteilung für Angewandte Mathematik Vorlesung vom 03. Mai 2015 Gliederung
MehrEinstieg 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
MehrGrundlagen der Programmierung Teil1 Einheit III Okt. 2009
Grundlagen der Programmierung Teil1 Einheit III - 23. Okt. 2009 GDP DDr. Karl D. Fritscher basierend auf der Vorlesung Grundlagen der Programmierung von DI Dr. Bernhard Pfeifer Ausdrücke & Anweisungen
MehrJava 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
MehrEinfü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
MehrSchleifen in C/C++/Java
Schleifen in C/C++/Java Alle 3 Sprachen stellen mindestens die folgenden 3 Schleifenkonstruktionen zur Verfügung. In C gibt es auch keine weiteren, C++, Java und C# haben noch weitere nützliche Varianten.
Mehr4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen
. Gleitkommazahlen In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen Umrechnen von Einheiten und Währungen Jede Zahl x Q mit x 0 lässt sich folgendermaßen schreiben: x = s m e mit
Mehr6. Kontrollanweisungen II
Sichtbarkeit 6. Kontrollanweisungen II Sichtbarkeit, Lokale Variablen, While-Anweisung, Do-Anweisung, Sprunganweisungen main block Deklaration in einem Block ist ausserhalb des Blocks nicht sichtbar. int
Mehr1. 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 Kontrollsttukturen - 1 - 3. Anweisungen und Kontrollstrukturen
Mehr5. Kontrollanweisungen II
Sichtbarkeit 5. Kontrollanweisungen II Sichtbarkeit, Lokale Variablen, While-Anweisung, Do-Anweisung, Sprunganweisungen main block Deklaration in einem Block ist ausserhalb des Blocks nicht sichtbar. int
MehrGrundlagen der Programmiersprache C für Studierende der Naturwissenschaften
Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften Teil 6: Ausdrücke und Typumwandlung Martin Nolte Abteilung für Angewandte Mathematik Universität Freiburg i. Br. Vorlesung vom
Mehr4.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):
MehrProgrammiertechnik 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,
MehrC-Propädeutikum Anweisungen
C-Propädeutikum Anweisungen Stefan Freitag freitag@uni-leipzig.de Universitätsrechenzentrum Universitätsbibliothek Universität Leipzig basiert auf den Originalfolien von Jörn Hoffmann Ausdrücke Institut
MehrBedingte Anweisungen
Bedingte Anweisungen Bedingte Anweisungen werden nicht immer ausgeführt, sondern nur, wenn eine Bedingung erfüllt (wahr) ist. C/C++/Java bieten hier 2 Konstruktionen an: if-anweisung sowie switch-case
MehrVorlesung 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
MehrEinfü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
Mehr4.2 Programmiersprache C
4.2.1. Elementare Datentypen (signed) int, unsigned int, (signed) short (int), unsigned short (int), (signed) long (int), unsigned long (int) Elementare Datentypen für ganze Zahlen mit oder ohne Vorzeichen.
MehrProf. 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,
MehrAlgorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration
Algorithmen & Programmierung Steuerstrukturen im Detail Selektion und Iteration Selektion Selektion Vollständige einfache Selektion Wir kennen schon eine Möglichkeit, Selektionen in C zu formulieren: if
MehrAngewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Operatoren Operatoren führen Aktionen mit Operanden aus. Der
MehrGrundlagen der Programmiersprache C für Studierende der Naturwissenschaften
Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften Teil 7: Matrizen, Vektoren und dynamische Speicherverwaltung Martin Nolte Abteilung für Angewandte Mathematik Universität Freiburg
Mehr6. Kontrollanweisungen II
Sichtbarkeit Deklaration in einem Block ist ausserhalb des Blocks nicht sichtbar. 6. Kontrollanweisungen II Sichtbarkeit, Lokale Variablen, While-Anweisung, Do-Anweisung, Sprunganweisungen main block int
MehrOperatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011
Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 Operatoren für elementare Datentypen 2 Bedingte Anweisungen 3 Schleifen Zuweisungsoperator Die Zuweisung von Werten an
MehrAlgorithmen zur Datenanalyse in C++
Algorithmen zur Datenanalyse in C++ Hartmut Stadie 16.04.2012 Algorithmen zur Datenanalyse in C++ Hartmut Stadie 1/ 39 Einführung Datentypen Operatoren Anweisungssyntax Algorithmen zur Datenanalyse in
MehrProgrammieren für Wirtschaftswissenschaftler SS 2015
DEPARTMENT WIRTSCHAFTSINFORMATIK FACHBEREICH WIRTSCHAFTSWISSENSCHAFT Programmieren für Wirtschaftswissenschaftler SS 2015 Lucian Ionescu Blockveranstaltung 16.03 27.3.2015 3. Verzweigungen und Schleifen
MehrJavakurs 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
MehrKapitel 4. Kontrollstrukturen
Kapitel 4 Kontrollstrukturen Kontrollstrukturen 1 Ziele Kontrollstrukturen in imperativen Programmen kennenlernen und verstehen. Realisierung der Kontrollstrukturen in Java. Kontrollstrukturen 2 Anweisungen
MehrProgrammieren I. Kontrollstrukturen Heusch 8 Ratz Institut für Angewandte Informatik
Programmieren I Kontrollstrukturen Heusch 8 Ratz 4.5 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Arten von Kontrollstrukturen Neben der Sequenz (Aneinanderreihung von Anweisungen)
Mehr6. Kontrollanweisungen II
Sichtbarkeit Deklaration in einem Block ist ausserhalb des Blocks nicht sichtbar. 6. Kontrollanweisungen II Sichtbarkeit, Lokale Variablen, While-Anweisung, Do-Anweisung, Sprunganweisungen main block int
Mehr4.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
MehrModellierung und Programmierung 1
Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 4. November 2015 Administratives Zur Abgabe von Übungsaufgaben Nein, wir
MehrC- Kurs 04 Anweisungen
C- Kurs 04 Anweisungen Dipl.- Inf. Jörn Hoffmann jhoffmann@informa@k.uni- leipzig.de Universität Leipzig Ins@tut für Informa@k Technische Informa@k Ausdrücke Institut für Informatik Anweisungen C-Programm
MehrGrundlagen der Informatik 4. Kontrollstrukturen I
4. Kontrollstrukturen I Anweisungen und Blöcke Grundlagen der Informatik (Alex Rempel) 1 Anweisungen und Blöcke Anweisungen ("statements") Immer mit Semikolon abzuschließen "Leere" Anweisung besteht aus
MehrÜbungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben.
Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Daher ist y = x + 5.6; keine Gleichung, sondern die Anweisung den Wert
Mehr2 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
MehrC++ - 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.
MehrKontrollstrukturen (1)
Kontrollstrukturen (1) Selektionen, if ermöglicht das alternative Ausführen von Programteilen in Abhängigkeit einer Bedingung if (Bedingung) Block 1 else Block 2 Ist die Bedingung wahr, also ungleich 0,
MehrMartin 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
Mehr4. Einfache Programmstrukturen in C Einfache Programmstrukturen in C
Einfache Programmstrukturen in C 4-1 Welche einfache Programmstrukturen sind zu unterscheiden? Arithmetische und logische Ausdrücke und Zuweisungen Verzweigungen Unvollständige bedingte Anweisungen Vollständige
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 29
Kapitel 2 Einführung in C++ Seite 1 von 29 C++ Zeichensatz - Buchstaben: a bis z und A bis Z. - Ziffern: 0 bis 9 - Sonderzeichen: ; :,. # + - * / % _ \! < > & ^ ~ ( ) { } [ ]? Seite 2 von 29 Höhere Elemente
MehrC++ 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
MehrProgrammieren I. Kontrollstrukturen Heusch 8 Ratz Institut für Angewandte Informatik
Programmieren I Kontrollstrukturen Heusch 8 Ratz 4.5 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Arten von Kontrollstrukturen Neben der Aneinanderreihung von Anweisungen (Sequenz)
MehrPython 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!
MehrEINI 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
MehrEINI 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
MehrVorlesung Programmieren
Vorlesung Programmieren 3. Kontrollstrukturen 04.11.2015 Prof. Dr. Ralf H. Reussner Version 1.1 LEHRSTUHL FÜR SOFTWARE-DESIGN UND QUALITÄT (SDQ) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD),
MehrUnterlagen. CPP-Uebungen-08/
Unterlagen http://projects.eml.org/bcb/people/ralph/ CPP-Uebungen-08/ http://www.katjawegner.de/lectures.html Kommentare in C++ #include /* Dies ist ein langer Kommentar, der über zwei Zeilen
MehrC# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen
C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen Gehe nach links oder rechts Gehe solange geradeaus... Leibniz Universität IT Services Anja Aue Programmabläufe grafisch abbilden
MehrEINI 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
MehrProgrammieren I. Kapitel 5. Kontrollfluss
Programmieren I Kapitel 5. Kontrollfluss Kapitel 5: Kontrollfluss Ziel: Komplexere Berechnungen im Methodenrumpf Ausdrücke und Anweisungen Fallunterscheidungen (if, switch) Wiederholte Ausführung (for,
MehrKapitel 4. Kontrollstrukturen
Kapitel 4 Kontrollstrukturen Kontrollstrukturen 1 Ziele Kontrollstrukturen in imperativen Programmen kennenlernen und verstehen. Realisierung der Kontrollstrukturen in Java. Kontrollstrukturen 2 Anweisungen
MehrKapitel 5. Programmierkurs. Kontrollstrukturen. Arten von Kontrollstrukturen. Kontrollstrukturen Die if-anweisung Die switch-anweisung
Kapitel 5 Programmierkurs Birgit Engels, Anna Schulze ZAIK Universität zu Köln Kontrollstrukturen Die if-anweisung Die switch-anweisung Die for-schleife Die while-schleife Die do-schleife WS 7/8 /55 Kontrollstrukturen
MehrInformatik I (D-ITET)
Informatik I (D-ITET) Übungsstunde 2, 5.10.2009 ETH Zürich? Übungsgruppenwechsel? Abgabe der Übungen... Bis Mo, 24:00 Theorie: Programme: per mail oder auf Papier.cpp Datei per mail Bin euch noch Demos
MehrJava: Syntax-Grundlagen III
Java: Syntax-Grundlagen III Verzweigungen, bedingte Anweisungen Eines der wesentlichen Merkmale einer Programmiersprache ist ihre Fähigkeit, Operationen situationsbedingt ausführen zu können, d.h. eine
MehrRO-Tutorien 15 und 16
Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 2 am 04.05.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft
MehrOperatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen
Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2011/2012 1 / 25 Operatoren für elementare Datentypen Bedingte Schleifen 2 / 25 Zuweisungsoperator Die Zuweisung von Werten an Variablen
MehrDr. Monika Meiler. Inhalt
Inhalt 3 C-Ausdrücke...3-2 3.1 Arithmetische Ausdrücke...3-3 3.2 Wertzuweisungen...3-5 3.3 Inkrementieren und Dekrementieren...3-6 3.4 Logische Ausdrücke (Bedingungen)...3-7 3.5 Bedingte Ausdrücke...3-8
MehrC/C++ Programmierung
1 C/C++ Programmierung Grundlagen: Anweisungen Sebastian Hack Christoph Mallon (hack mallon)@cs.uni-sb.de Fachbereich Informatik Universität des Saarlandes Wintersemester 2009/2010 2 Anweisungen (Statements)
MehrWebbasierte 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,
MehrKapitel 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
MehrImperative Programmierung in Java: Kontrollfluß II
2 Imperative Programmierung in va: Kontrollfluß II Martin Wirsing Ziele Lernen imperative Programme in va mit Zuweisung, Block, Fallunterscheidung, Iteration zu schreiben Lernen Kontrollflußdiagramme zur
MehrWo sind wir? Kontrollstrukturen
Wo sind wir? Java-Umgebung Lexikale Konventionen Datentypen Kontrollstrukturen Ausdrücke Klassen, Pakete, Schnittstellen JVM Exceptions Java Klassenbibliotheken Ein-/Ausgabe Collections Threads Applets,
Mehr1. 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
MehrKontrollstrukturen. Wo sind wir? Anweisung mit Label. Block. Beispiel. Deklarationsanweisung
Java-Umgebung Lexikale Konventionen Datentypen Kontrollstrukturen Ausdrücke Klassen, Pakete, Schnittstellen JVM Exceptions Java Klassenbibliotheken Ein-/Ausgabe Collections Threads Applets, Sicherheit
MehrInformatik I Übung, Woche 40
Giuseppe Accaputo 1. Oktober, 2015 Plan für heute 1. Nachbesprechung Übung 2 2. Vorbesprechung Übung 3 3. Zusammenfassung der für Übung 3 wichtigen Vorlesungsslides Informatik 1 (D-BAUG) Giuseppe Accaputo
MehrGrundlagen der Programmiersprache C für Studierende der Naturwissenschaften
Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften Teil 5: Funktionen, Gültigkeitsbereiche und Rekursion Martin Nolte Abteilung für Angewandte Mathematik Universität Freiburg i.
MehrRO-Tutorien 3 / 6 / 12
RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 2 AM 06./07.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
MehrÜ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
MehrProgrammierkurs Python I
Programmierkurs Python I Michaela Regneri 2009-11-05 (Folien basieren auf dem gemeinsamen Kurs mit Stefan Thater) Übersicht Variablen Datentypen Werte Operatoren und Ausdrücke Kontrollstrukturen: if, while
Mehr