Übung zur Vorlesung Wissenschaftliches Rechnen Wintersemester 2013/14 Auffrischung zur Programmierung in C++, 1. Teil

Größe: px
Ab Seite anzeigen:

Download "Übung zur Vorlesung Wissenschaftliches Rechnen Wintersemester 2013/14 Auffrischung zur Programmierung in C++, 1. Teil"

Transkript

1 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Wintersemester 2013/14 Auffrischung zur Programmierung in C++ 1. Teil 17. Oktober 2013

2 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 2 /26 Ausgabe der Übungszettel jeweils am Dienstag Erster Übungszettel am

3 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 2 /26 Ausgabe der Übungszettel jeweils am Dienstag Erster Übungszettel am Abgabe dienstags pünktlich 10:00 Uhr Briefkasten 112 Abgabe in festen Zweiergruppen (jetzt Partnersuche)

4 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 2 /26 Ausgabe der Übungszettel jeweils am Dienstag Erster Übungszettel am Abgabe dienstags pünktlich 10:00 Uhr Briefkasten 112 Abgabe in festen Zweiergruppen (jetzt Partnersuche) Schriftliche Abgabe Code zusätzlich per Code muss kompilieren sonst wird er nicht bewertet Jeder sollte sich am programmieren beteiligen nur so lernt man was

5 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 2 /26 Ausgabe der Übungszettel jeweils am Dienstag Erster Übungszettel am Abgabe dienstags pünktlich 10:00 Uhr Briefkasten 112 Abgabe in festen Zweiergruppen (jetzt Partnersuche) Schriftliche Abgabe Code zusätzlich per Code muss kompilieren sonst wird er nicht bewertet Jeder sollte sich am programmieren beteiligen nur so lernt man was an sebastian.westerheide@uni-muenster.de

6 Eingliederung C++ MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 3 /26 Klassifikation höherer Programmiersprachen nach Paradigmen: Deklarative Programmiersprachen Quellcode definiert WAS der Computer berechnen soll aber nicht WIE Funktionale und logische Programmiersprachen Abfragesprachen z.b. LISP Haskell Prolog SQL... Imperative Programmiersprachen

7 Eingliederung C++ MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 3 /26 Klassifikation höherer Programmiersprachen nach Paradigmen: Deklarative Programmiersprachen Imperative Programmiersprachen Quellcode gibt vor WIE der Computer das Ergebnis genau berechnet Grundidee: Programm bewirkt Speichertransformation Rein prozedurale Programmiersprachen z.b. C Fortran Pascal Basic Cobol Algol... Objektorientierte Programmiersprachen z.b. C++ Java C# Eiffel Smalltalk... und neuerdings auch Matlab

8 Eingliederung C++ MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 3 /26 Klassifikation höherer Programmiersprachen nach Paradigmen: Deklarative Programmiersprachen Imperative Programmiersprachen C++: Quellcode gibt vor WIE der Computer das Ergebnis genau berechnet Grundidee: Programm bewirkt Speichertransformation Rein prozedurale Programmiersprachen z.b. C Fortran Pascal Basic Cobol Algol... Objektorientierte Programmiersprachen z.b. C++ Java C# Eiffel Smalltalk... und neuerdings auch Matlab Imperative Programmiersprache Hybrider Ansatz: Prozedurale und objektorientierte Programmierung möglich

9 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 4 /26 Überblick über die ersten beiden Übungsstunden Heute: Auffrischung zur prozeduralen Programmierung in C++ Grundlegende Syntax Basisdatentypen Wichtige Operatoren Kontrollstrukturen Prozeduren Wertparameter vs. Referenzparameter Pointer und Referenzen Nächste Woche: Auffrischung zur objektorientierten Programmierung in C++

10 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 5 /26 Grundlegende Syntax Syntax für Anweisungen: <Anweisung> ; Blöcke durch geschweifte Klammern: {... }

11 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 5 /26 Grundlegende Syntax Syntax für Anweisungen: <Anweisung> ; Blöcke durch geschweifte Klammern: {... } # include < iostream > 2 // Hauptroutine 4 i n t main ( ) { 6 // Ausgeben des Grusses std : : cout < < " H a l l o Welt! " < < std : : endl ; 8 // Programm beenden r e t u r n 0; 10 }

12 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 5 /26 Grundlegende Syntax Syntax für Anweisungen: <Anweisung> ; Blöcke durch geschweifte Klammern: {... } Zeilenkommentar: // Kommentar Blockkommentare: / Potentiell mehrzeiliger Kommentar / # include < iostream > 2 // Hauptroutine 4 i n t main ( ) { 6 // Ausgeben des Grusses std : : cout < < " H a l l o Welt! " < < std : : endl ; 8 // Programm beenden r e t u r n 0; 10 }

13 Basisdatentypen MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 6 /26 Name Wertebereich Genauigkeit bool false (0) bis true (1) (signed) char -128 bis 127 unsigned char 0 bis 255 (signed) short int bis unsigned short int 0 bis (signed) (long) int bis unsigned (long) int 0 bis float 34E-38 bis 34E+38 8 Stellen double 17E-308 bis 17E Stellen Repräsentation von Booleschen Zuständen Zeichen ganzen Zahlen und reellen Zahlen in Fließkommadarstellung

14 Basisdatentypen MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 6 /26 Name Wertebereich Genauigkeit bool false (0) bis true (1) (signed) char -128 bis 127 unsigned char 0 bis 255 (signed) short int bis unsigned short int 0 bis (signed) (long) int bis unsigned (long) int 0 bis float 34E-38 bis 34E+38 8 Stellen double 17E-308 bis 17E Stellen Repräsentation von Booleschen Zuständen Zeichen ganzen Zahlen und reellen Zahlen in Fließkommadarstellung unsigned short int i = 13; int j = 45000; j+= i ; float eps; char ch = A ; ch++; // ch wird B bool bedingung = true; bool bedingung2 = (j > eps); eps = 1E 10; // bedingung2 wird false

15 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 7 /26 Wichtige Operatoren (1/2): Arithmetische Operatoren für zwei Zahlen a und b a += b Kurzform für a = a + b a = b Kurzform für a = a b a = b Kurzform für a = a b a /= b Kurzform für a = a / b a %= b Kurzform für a = a % b (nur für ganze Zahlen) a++ a inkrementieren (a = a + 1) a a dekrementieren (a = a 1)

16 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 7 /26 Wichtige Operatoren (1/2): Arithmetische Operatoren für zwei Zahlen a und b a += b Kurzform für a = a + b a = b Kurzform für a = a b a = b Kurzform für a = a b a /= b Kurzform für a = a / b a %= b Kurzform für a = a % b (nur für ganze Zahlen) a++ a inkrementieren (a = a + 1) a a dekrementieren (a = a 1) Bitweise Operatoren für zwei Zahlen a und b a & b Bitweises und (AND) a b Bitweises oder (OR) a ^ b Bitweises exklusives oder (XOR) ~a Bitweises Komplement (Bit Inversion) a << b Shift des Bitmusters von a um b Stellen nach links a >> b Shift des Bitmusters von a um b Stellen nach rechts

17 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 8 /26 Wichtige Operatoren (2/2): Vergleichsoperatoren (relationale Operatoren) zum Vergleich von zwei Zahlen a und b a == b Ist a gleich b? a!= b Ist a ungleich b? a < b Ist a kleiner als b? a > b Ist a größer als b? a <= b Ist a kleiner oder gleich b? a >= b Ist a größer oder gleich b?

18 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 8 /26 Wichtige Operatoren (2/2): Vergleichsoperatoren (relationale Operatoren) zum Vergleich von zwei Zahlen a und b a == b Ist a gleich b? a!= b Ist a ungleich b? a < b Ist a kleiner als b? a > b Ist a größer als b? a <= b Ist a kleiner oder gleich b? a >= b Ist a größer oder gleich b? Boolesche Operatoren zur Verknüpfung von Booleschen Variablen oder Ausdrücken a und b!a bzw. not a Ist a falsch? a && b bzw. a and b Sind a und b wahr? a b bzw. a or b Ist a oder b wahr?

19 Kontrollstrukturen MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 9 /26 Mit Kontrollstrukturen kann der Programmablauf in Abhängigkeit vom Wert einer oder mehreren Variablen gesteuert werden

20 Kontrollstrukturen MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 9 /26 Mit Kontrollstrukturen kann der Programmablauf in Abhängigkeit vom Wert einer oder mehreren Variablen gesteuert werden Es gibt folgende Möglichkeiten in C++: Auswahlanweisungen: Bedingte Anweisung: if-else - Anweisung Fallunterscheidung: switch - Anweisung Schleifen (Iterationsanweisungen): Kopfgesteuerte Schleife: while - Schleife Fußgesteuerte Schleife: do-while - Schleife Zählschleife: for - Schleife

21 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 10 /26 Bedingte Anweisung if (<Bedingung> ) <Anweisung> Bedingung nein ja Anweisung

22 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 10 /26 Bedingte Anweisung if (<Bedingung> ) <Anweisung> if (<Bedingung> ) <Anweisung> else <Anweisung> Bedingung nein Bedingung nein ja Anweisung ja Anweisung Anweisung

23 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 10 /26 Bedingte Anweisung if (<Bedingung> ) <Anweisung> if (<Bedingung> ) <Anweisung> else <Anweisung> Bedingung nein Bedingung nein ja ja Anweisung Anweisung Anweisung <Anweisung> kann einen Block von Anweisungen enthalten

24 Beispiel MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 11 /26 # include < iostream > 2 i n t main ( ) 4 { std : : cout < < " Geben Sie eine Zahl zwischen 5 und 10 ein " 6 < < std : : endl ; 8 // e i n l e s e n e i n e r Zahl i n t zahl ; 10 std : : c i n > > zahl ; 12 // pruefen i f ( zahl >= 5 && zahl <= 10) 14 { std : : cout < < " Die Zahl i s t super " < < std : : endl ; 16 } e l s e 18 { std : : cout < < " Zahl zu k l e i n oder zu gross " < < std : : endl ; 20 } 22 r e t u r n 0; }

25 Schleifen (1/2) MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 12 /26 Wiederholung bestimmter Anweisungen in Abhängigkeit einer Bedingung Schleifenkopf (... ) Schleifenrumpf {... }

26 Schleifen (1/2) MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 12 /26 Wiederholung bestimmter Anweisungen in Abhängigkeit einer Bedingung Schleifenkopf (... ) Schleifenrumpf {... } while - Schleife: while (< Bedingung>) {< Anweisung>} Solange <Bedingung> erfüllt ist führe <Anweisung> aus

27 Schleifen (1/2) MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 12 /26 Wiederholung bestimmter Anweisungen in Abhängigkeit einer Bedingung Schleifenkopf (... ) Schleifenrumpf {... } while - Schleife: while (< Bedingung>) {< Anweisung>} Solange <Bedingung> erfüllt ist führe <Anweisung> aus do-while - Schleife: do {<Anweisung>} while (<Bedingung>) ; Führe <Anweisung> aus bis <Bedingung> nicht mehr erfüllt Überprüfung von <Bedingung> erst nach jedem Durchlauf

28 Schleifen (1/2) MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 12 /26 Wiederholung bestimmter Anweisungen in Abhängigkeit einer Bedingung Schleifenkopf (... ) Schleifenrumpf {... } while - Schleife: while (< Bedingung>) {< Anweisung>} Solange <Bedingung> erfüllt ist führe <Anweisung> aus do-while - Schleife: do {<Anweisung>} while (<Bedingung>) ; Führe <Anweisung> aus bis <Bedingung> nicht mehr erfüllt Überprüfung von <Bedingung> erst nach jedem Durchlauf Jeweils Endlosschleife falls <Bedingung> nicht irgendwann durch <Anweisung> zu false ausgewertet wird

29 Schleifen (2/2) MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 13 /26 for - Schleife: for (< Init > ; <Bedingung> ; < Reinit >) {<Anweisung>} < Init > Anweisung die einer Variable einen Anfangswert zuweist <Bedingung> Solange true wird <Anweisung> im Schleifenrumpf abgearbeitet < Reinit > Legt fest wie die Variable aus < Init > nach jedem Schleifendurchlauf verändert wird

30 Schleifen (2/2) MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 13 /26 for - Schleife: for (< Init > ; <Bedingung> ; < Reinit >) {<Anweisung>} < Init > Anweisung die einer Variable einen Anfangswert zuweist <Bedingung> Solange true wird <Anweisung> im Schleifenrumpf abgearbeitet < Reinit > Legt fest wie die Variable aus < Init > nach jedem Schleifendurchlauf verändert wird Endlosschleife falls <Bedingung> nicht irgendwann durch < Reinit > oder <Anweisung> zu false ausgewertet wird

31 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 14 /26 Beispiel Summe von 1 bis 10 while - Schleife i n t summe = 0; 2 i n t i = 0; while ( i <= 10) { summe = summe + i ; i ++; } do-while - Schleife 1 i n t summe = 0; i n t i = 0; 3 do { summe = summe + i ; i ++; } while ( i <= 10) ; for - Schleife 1 i n t summe = 0; f o r ( i n t i =0; i < = 1 0 ; i ++) { summe = summe + i ; }

32 Prozeduren MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 15 /26 Prozeduren (Funktionen) sind Unterprogramme d.h. Blöcke die Teilprobleme einer größeren Aufgabe lösen Jede Prozedur hat einen eindeutigen Namen mit dessen Hilfe sie aufgerufen werden kann Prozeduren können einen Wert an das aufrufende Programm zurückgeben und selbst weitere Prozeduren aufrufen

33 Prozeduren MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 15 /26 Prozeduren (Funktionen) sind Unterprogramme d.h. Blöcke die Teilprobleme einer größeren Aufgabe lösen Jede Prozedur hat einen eindeutigen Namen mit dessen Hilfe sie aufgerufen werden kann Prozeduren können einen Wert an das aufrufende Programm zurückgeben und selbst weitere Prozeduren aufrufen Vorteile: Wiederkehrende Berechnungen müssen nur einmal programmiert werden Bessere Lesbarkeit durch Aufteilen des Programms

34 Beispiel MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 16 /26 # include < iostream > 2 // Prototyp f u e r die Prozedur quadrat 4 // quadrat ( x ) berechnet x x double quadrat ( double x ) ; 6 // Implementierung der Prozedur quadrat 8 double quadrat ( double x ) { 10 r e t u r n x x ; } 12 i n t main ( ) 14 { f o r ( i n t i = 0; i < 10; i ++) 16 { std : : cout < < quadrat ( i ) < < std : : endl ; 18 } }

35 Syntax MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 17 /26 Rueckgabetyp FktName (Parameter1 Parameter2... ParameterN) {<Anweisung>} Prozeduren ohne Rückgabewert durch Rückgabetyp void return <Wert>; beendet die Prozedur und gibt <Wert> an den übergeordneten Programmteil zurück Parameter bestehen jeweils aus dem Datentyp und einem Variablennamen

36 Syntax MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 17 /26 Rueckgabetyp FktName (Parameter1 Parameter2... ParameterN) {<Anweisung>} Prozeduren ohne Rückgabewert durch Rückgabetyp void return <Wert>; beendet die Prozedur und gibt <Wert> an den übergeordneten Programmteil zurück Parameter bestehen jeweils aus dem Datentyp und einem Variablennamen Prozedurprototyp: Mit einem Semikolon abgeschlossener Kopf der Prozedur Implementierung in anschließender Prozedurdefinition Sinn: Bevor eine Prozedur verwendet werden kann muss sie deklariert sein Ermöglicht Trennung von Deklaration und Implementierung

37 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 18 /26 Problem Parameter # include < iostream > 2 // d e k l a r a t i o n und implementierung gemeinsam 4 void swap ( i n t x i n t y ) { 6 i n t temp = x ; x = y ; 8 y = temp ; } 10 i n t main ( ) 12 { i n t x = 5 y = 10; 14 swap ( x y ) ; std : : cout < < " Nach der Vertauschung x=" < < x 16 < < " y= " < < y < < std : : endl ; r e t u r n 0; 18 } Ausgabe:

38 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 18 /26 Problem Parameter # include < iostream > 2 // d e k l a r a t i o n und implementierung gemeinsam 4 void swap ( i n t x i n t y ) { 6 i n t temp = x ; x = y ; 8 y = temp ; } 10 i n t main ( ) 12 { i n t x = 5 y = 10; 14 swap ( x y ) ; std : : cout < < " Nach der Vertauschung x=" < < x 16 < < " y= " < < y < < std : : endl ; r e t u r n 0; 18 } Ausgabe: Nach der Vertauschung x=5 y=10

39 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 19 /26 Wertparameter vs. Referenzparameter Wertparameter (call-by-value): Parameter werden kopiert und sind lokale Variablen Variablen in der Prozedur (lokale Variablen) sind außerhalb der Prozedur nicht sichtbar Der Gültigkeitsbereich (Skope) ist auf die Prozedur beschränkt Die Variablen des aufrufenden Programmteils bleiben unverändert

40 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 19 /26 Wertparameter vs. Referenzparameter Wertparameter (call-by-value): Parameter werden kopiert und sind lokale Variablen Variablen in der Prozedur (lokale Variablen) sind außerhalb der Prozedur nicht sichtbar Der Gültigkeitsbereich (Skope) ist auf die Prozedur beschränkt Die Variablen des aufrufenden Programmteils bleiben unverändert Referenzparameter (call-by-reference): Parameter sind sogenannte Referenzen Referenzen zeigen auf gleichen Speicher wie die ursprüngliche Variable Wenn ich eine Referenz ändere ändert sich auch der Wert der Variablen im aufrufenden Programmteil

41 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 20 /26 Beispiel Wertparameter # include < iostream > 2 // d e k l a r a t i o n und implementierung gemeinsam 4 void swap ( i n t x i n t y ) { 6 i n t temp = x ; x = y ; 8 y = temp ; } 10 i n t main ( ) 12 { i n t x = 5 y = 10; 14 swap ( x y ) ; std : : cout < < " Nach der Vertauschung x=" < < x 16 < < " y= " < < y < < std : : endl ; r e t u r n 0; 18 } Ausgabe: Nach der Vertauschung x=5 y=10

42 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 21 /26 Lösung 1 Referenzparameter # include < iostream > 2 // d e k l a r a t i o n und implementierung gemeinsam 4 void swap ( i n t & rx i n t & r y ) { 6 i n t temp = r x ; rx = ry ; 8 ry = temp ; } 10 i n t main ( ) 12 { i n t x = 5 y = 10; 14 swap ( x y ) ; std : : cout < < " Nach der Vertauschung x=" < < x 16 < < " y= " < < y < < std : : endl ; r e t u r n 0; 18 } Ausgabe: Nach der Vertauschung x=10 y=5

43 Lösung 2 Pointer MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 22 /26 # include < iostream > 2 // d e k l a r a t i o n und implementierung gemeinsam 4 void swap ( i n t px i n t py ) { 6 i n t temp = px ; px = py ; 8 py = temp ; } 10 i n t main ( ) 12 { i n t x = 5 y = 10; 14 swap(&x & y ) ; std : : cout < < " Nach der Vertauschung x=" < < x 16 < < " y= " < < y < < std : : endl ; r e t u r n 0; 18 } Ausgabe: Nach der Vertauschung x=10 y=5

44 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 23 /26 Pointer und Referenzen (1/3) A computer memory location has an address and a content Unlike normal variables which store a value (e.g. an int a double) a pointer stores a memory address Pointers can be assigned addresses e.g. by address-of operator & i n t number = 42; // An i n t v a r i a b l e with a value 2 i n t pnumber ; // D eclare a p o i n t e r v a r i a b l e c a l l e d pnumber // p o i n t i n g to an i n t ( i n t p o i n t e r ) 4 pnumber = &number ; // Assign the address of the v a r i a b l e number to // p o i n t e r v a r i a b l e pnumber

45 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 23 /26 Pointer und Referenzen (1/3) Pointers can be assigned addresses e.g. by address-of operator & i n t number = 42; // An i n t v a r i a b l e with a value 2 i n t pnumber ; // D eclare a p o i n t e r v a r i a b l e c a l l e d pnumber // p o i n t i n g to an i n t ( i n t p o i n t e r ) 4 pnumber = &number ; // Assign the address of the v a r i a b l e number to // p o i n t e r v a r i a b l e pnumber

46 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 23 /26 Pointer und Referenzen (1/3) Pointers can be assigned addresses e.g. by address-of operator & i n t number = 42; // An i n t v a r i a b l e with a value 2 i n t pnumber ; // D eclare a p o i n t e r v a r i a b l e c a l l e d pnumber // p o i n t i n g to an i n t ( i n t p o i n t e r ) 4 pnumber = &number ; // Assign the address of the v a r i a b l e number to // p o i n t e r v a r i a b l e pnumber Dereferencing operator operates on a pointer and returns the value stored in the address kept in the pointer variable std : : cout < < pnumber ; // P r i n t content of the p o i n t e r v a r i a b l e 2 // i. e. an address (0 x22ccec ) std : : cout < < pnumber ; // P r i n t value " pointed to " by the p o i n t e r 4 // v a r i a b l e which i s an i n t ( 4 2 ) pnumber = 99; // Assign a value to where the p o i n t e r i s 6 // pointed to NOT to the p o i n t e r v a r i a b l e std : : cout < < pnumber ; // P r i n t the new value " pointed to " by the 8 // p o i n t e r v a r i a b l e ( 9 9 ) std : : cout < < number ; // The value of v a r i a b l e number changes as 10 // w e l l ( 9 9 )

47 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 24 /26 Pointer und Referenzen (2/3) A reference is an alias or an alternate name to an existing variable A reference is very similar to a pointer but address-of operator & and dereferencing operator are called implicitly Unlike pointers references have to be initialized during declaration and cannot be re-assigned i n t number = 42; // D eclare an i n t v a r i a b l e c a l l e d number 2 i n t & refnumber = number ; // D eclare a r e f e r e n c e ( a l i a s ) to the // v a r i a b l e number 4 // Both refnumber and number r e f e r to the // same value 6 refnumber = 99; // Assign a new value to refnumber std : : cout < < refnumber ; 8 std : : cout < < number ; // Value of number also changes ( 99) number = 5 5 ; // Assign a new value to number 10 std : : cout < < number ; std : : cout < < refnumber ; // Value of refnumber also changes ( 5 5 )

48 MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 25 /26 Pointer und Referenzen (3/3) 1 / References vs. P o i n t e r s / # include < iostream > 3 i n t main ( ) 5 { i n t number1 = 42 number2 = 22; 7 // Create a p o i n t e r p o i n t i n g to number1 9 i n t pnumber1 = &number1 ; // E x p l i c i t r e f e r e n c i n g pnumber1 = 99; // E x p l i c i t d e r e f e r e n c i n g 11 std : : cout < < pnumber1 ; // 99 std : : cout < < &number1 ; // 0 x 2 2 f f std : : cout < < pnumber1 ; // 0x22ff18 ( content of pointer variable ) std : : cout < < &pnumber1 ; // 0x22ff10 ( address of pointer variable ) 15 pnumber1 = &number2 ; // Pointer can be re assigned to store // another address 17 // Create a reference ( a l i a s ) to number1 19 i n t & refnumber1 = number1 ; // Impl. referencing ( NOT &number1 ) refnumber1 = 11; // Impl. dereferencing ( NOT refnumber1 ) 21 std : : cout < < refnumber1 ; // 11 std : : cout < < &number1 ; // 0 x 2 2 f f std : : cout < < &refnumber1 ; // 0x22ff18 // refnumber1 = &number2 ; // Err or! Reference cannot be re assigned 25 // i n v a l i d conversion from i n t to i n t }

49 Getting started MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen WS 2013/14 26 /26 Laden Sie das Programm Hallo Welt von der Vorlesungshomepage Öffnen Sie es (Texteditor/Entwicklungsumgebung Ihrer Wahl) Kompilieren Sie es beispielsweise durch g++ -o hallowelt hallowelt.cc Führen Sie das Programm aus Bearbeiten Sie nun die Anwesenheitsaufgaben Bei einfachen Fragen zur Programmierung mit C++ hilft häufig:

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

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

Programmieren in C/C++ und MATLAB

Programmieren in C/C++ und MATLAB Programmieren in C/C++ und MATLAB Sven Willert Sabine Schmidt Christian-Albrechts-Universität zu Kiel CAU 4-1 Übung 1) Schreiben Sie ein Programm, das die Fläche unter einer Parabel, also das Integral

Mehr

Kurze Einführung in die Programmiersprache C++ und in Root

Kurze Einführung in die Programmiersprache C++ und in Root Kurze Einführung in die Programmiersprache C++ und in Root Statistik, Datenanalyse und Simulation; 31.10.2006 Inhalt 1 Einführung in die Programmiersprache C++ Allgemeines Variablen Funktionen 2 1 Einführung

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung 8. Vorlesung 25.05.2016 1 Ausdrücke "Befehle", die ein Ergebnis liefern 3 + 4 sin(x) x < 10 getchar() Ausdrücke können Teil eines anderen Ausdrucks sein x = sin( x + y ) Auswertung:

Mehr

Einführung in die Programmierung

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

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 7. Funktionen Einleitung Nach dem Prinzip Divide and Conquer bietet es sich an, größere Aufgaben in kleinere Teile zu unterteilen. Anweisungsblöcke,

Mehr

Einführung in die C-Programmierung

Einführung in die C-Programmierung Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).

Mehr

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

Einführung in die C++ Programmierung für Ingenieure Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF

Mehr

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011

Operatoren 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

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

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens mit C++ und Matlab SS2013 Organisatorisches Dozenten Gruppe: Ango (2.250),

Mehr

Die Programmiersprache C

Die Programmiersprache C Die Programmiersprache C höhere Programmiersprache (mit einigen Assembler-ähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,

Mehr

C.3 Funktionen und Prozeduren

C.3 Funktionen und Prozeduren C3 - Funktionen und Prozeduren Funktionsdeklarationen in Pascal auch in Pascal kann man selbstdefinierte Funktionen einführen: Funktionen und Prozeduren THEN sign:= 0 Funktion zur Bestimmung des Vorzeichens

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte

Mehr

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff Programmieren in C C Syntax Datentypen, Operatoren und Kontrollstrukturen Prof. Dr. Nikolaus Wulff Elementare Typen Imperative und objektorientierte Programmiersprachen bieten i.d.r. einen Satz elementarer

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

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik-

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik- Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VII Einstieg in Java I Michael Roth (h_da) Informatik

Mehr

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik Informatik I WS 2012/13 Tutorium zur Vorlesung 1. Alexander Zietlow zietlow@informatik.uni-tuebingen.de Wilhelm-Schickard-Institut für Informatik Eberhard Karls Universität Tübingen 11.02.2013 1. 2. 1.

Mehr

Pass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl

Pass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl Funktionen Zusammenfassung von Befehlssequenzen als aufrufbare/wiederverwendbare Funktionen in einem Programmblock mit festgelegter Schnittstelle (Signatur) Derartige prozedurale Programmierung erlaubt

Mehr

ModProg 15-16, Vorl. 5

ModProg 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

Mehr

Programmieren I. Kontrollstrukturen. Heusch 8 Ratz 4.5. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Kontrollstrukturen. Heusch 8 Ratz 4.5. www.kit.edu. Institut für Angewandte Informatik Programmieren I Kontrollstrukturen Heusch 8 Ratz 4.5 KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Arten von Kontrollstrukturen

Mehr

Übungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben.

Ü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

Mehr

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2014/2015 Wirtschaftsingenieur Bachelor 4. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2014/2015 Wirtschaftsingenieur Bachelor 4. Aufgabe Datenstruktur, Dateieingabe und -ausgabe Aufgabenstellung Für ein Baumkataster sollen für maximal 500 Bäume Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Nummer Bauminfo Baumart Hoehe Baum Umfang

Mehr

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur Unterprogramme Unterprogramme sind abgekapselte Programmfragmente, welche es erlauben, bestimmte Aufgaben in wiederverwendbarer Art umzusetzen. Man unterscheidet zwischen Unterprogrammen mit Rückgabewert

Mehr

Objektorientiertes Programmieren für Ingenieure

Objektorientiertes Programmieren für Ingenieure Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen

Mehr

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015 Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 4, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

Mehr

Hello world. Sebastian Dyroff. 21. September 2009

Hello world. Sebastian Dyroff. 21. September 2009 Hello world Sebastian Dyroff 21. September 2009 1 / 35 Inhaltsverzeichnis Organisatorisches Hello World Typen und Operatoren Programmfluss Weitere Konstrukte Nützliche Tipps 2 / 35 Inhalte dieser Veranstaltung

Mehr

Grundlagen. Die Komponenten eines C Programms. Das erste Programm

Grundlagen. Die Komponenten eines C Programms. Das erste Programm Grundlagen 1. Die Komponenten eines C Programms 2. Ein Programm erzeugen und übersetzen 3. Variablen Deklarieren und Werte zuweisen 4. Zahlen eingeben mit der Tastatur 5. Arithmetische Ausdrücke und Berechnungen

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung 7. Vorlesung 18.05.2016 1 Konstanten Ganzzahlkonstante Dezimal: 42, 23, -2 Oktal (0 vorangestellt): 052 Hexadezimal (0x vorangestellt): 0x2A Gleitkommazahlen: 3.1415, 2.71,

Mehr

Algorithmische Kernsprache. Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging.

Algorithmische Kernsprache. Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging. Algorithmische Kernsprache Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging. Ausdrücke Anweisungen Ausdrücke bezeichnen einen Wert Kontext stellt Werte von Variablen Werte

Mehr

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen. Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe

Mehr

Entwurf von Algorithmen - Kontrollstrukturen

Entwurf von Algorithmen - Kontrollstrukturen Entwurf von Algorithmen - Kontrollstrukturen Eine wichtige Phase in der Entwicklung von Computerprogrammen ist der Entwurf von Algorithmen. Dieser Arbeitsschritt vor dem Schreiben des Programmes in einer

Mehr

Einführung in die Informatik für Hörer aller Fakultäten II. Andreas Podelski Stephan Diehl Uwe Waldmann

Einführung in die Informatik für Hörer aller Fakultäten II. Andreas Podelski Stephan Diehl Uwe Waldmann Einführung in die Informatik für Hörer aller Fakultäten II Andreas Podelski Stephan Diehl Uwe Waldmann 1 Einführung in die Informatik für Hörer aller Fakultäten II Andreas Podelski Stephan Diehl Uwe Waldmann

Mehr

Einfache Rechenstrukturen und Kontrollfluss II

Einfache Rechenstrukturen und Kontrollfluss II Einfache Rechenstrukturen und Kontrollfluss II Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer http://www.pst.informatik.uni-muenchen.de/lehre/ss06/infoii/ SS 06 Ziele Lernen imperative

Mehr

Inhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler

Inhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler Inhaltsverzeichnis Grundbegriffe der C-Programmierung 1. Grundsätzliches... 2 1.1 Darstellung von Werten... 2 1.1.1 Dezimale Zahlendarstellung... 2 1.1.2 Binäre Zahlendarstellung... 3 1.1.3 Hexadezimale

Mehr

5.4 Klassen und Objekte

5.4 Klassen und Objekte 5.4 Klassen und Objekte Zusammenfassung: Projekt Figuren und Zeichner Figuren stellt Basisklassen für geometrische Figuren zur Verfügung Zeichner bietet eine übergeordnete Klasse Zeichner, welche die Dienstleistungen

Mehr

Programmieren für Wirtschaftswissenschaftler SS 2015

Programmieren 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

Mehr

Steueranweisungen. Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/09 2 32

Steueranweisungen. Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/09 2 32 Steueranweisungen 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 Programmblöcken)

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

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

DAP2-Programmierpraktikum Einführung in C++ (Teil 1)

DAP2-Programmierpraktikum Einführung in C++ (Teil 1) DAP2-Programmierpraktikum Einführung in C++ (Teil 1) Carsten Gutwenger 11. April 2008 Lehrstuhl 11 Algorithm Engineering Fakultät für Informatik, TU Dortmund Überblick Mein erstes C++-Programm Namensräume

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {

Mehr

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe Aufgabenstellung Für eine Hausverwaltung sollen für maximal 500 Wohnungen Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Art Baujahr Wohnung Whnginfo Nebenkosten

Mehr

Prinzipieller Grundaufbau eines einfachen C-Programmes

Prinzipieller Grundaufbau eines einfachen C-Programmes Prinzipieller Grundaufbau eines einfachen C-Programmes C unterscheidet zwischen Groß- und Kleinschreibung! Siehe zu den folgenden Erklärungen auch das Programm am Ende der nächsten Seite. Am Anfang aller

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

Mehr

Übung zur Vorlesung Programmieren in C

Übung zur Vorlesung Programmieren in C Übung zur Vorlesung Programmieren in C 4 Schleifen und Typkonvertierungen Marvin Gülker Ruhruniversität Bochum Wintersemester 2015/2016 Marvin Gülker (Ruhruniversität Bochum) 4 Schleifen und Typkonvertierungen

Mehr

Kontrollstrukturen, Pseudocode und Modulo-Rechnung

Kontrollstrukturen, Pseudocode und Modulo-Rechnung Kontrollstrukturen, Pseudocode und Modulo-Rechnung CoMa-Übung III TU Berlin 29.10.2012 CoMa-Übung III (TU Berlin) Kontrollstrukturen, Pseudocode und Modulo-Rechnung 29.10.2012 1 / 1 Themen der Übung 1

Mehr

Grundlagen der Programmierung in C Funktionen

Grundlagen der Programmierung in C Funktionen Der erste Mechanismus für Code-Reuse! Grundlagen der Programmierung in C Funktionen Wintersemester 2005/2006 G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Ältester Mechanismus für Code-Reuse:

Mehr

PHP 5.4 ISBN 978-3-86249-327-2. Stephan Heller, Andreas Dittfurth 1. Ausgabe, September 2012. Grundlagen zur Erstellung dynamischer Webseiten GPHP54

PHP 5.4 ISBN 978-3-86249-327-2. Stephan Heller, Andreas Dittfurth 1. Ausgabe, September 2012. Grundlagen zur Erstellung dynamischer Webseiten GPHP54 PHP 5.4 Stephan Heller, Andreas Dittfurth 1. Ausgabe, September 2012 Grundlagen zur Erstellung dynamischer Webseiten ISBN 978-3-86249-327-2 GPHP54 5 PHP 5.4 - Grundlagen zur Erstellung dynamischer Webseiten

Mehr

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7 Java 7 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Dezember 2011 JAV7 5 Java 7 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen

Mehr

Programmieren in Haskell Einführung

Programmieren in Haskell Einführung Programmieren in Haskell Einführung Peter Steffen Universität Bielefeld Technische Fakultät 16.10.2009 1 Programmieren in Haskell Veranstalter Dr. Peter Steffen Raum: M3-124 Tel.: 0521/106-2906 Email:

Mehr

Fallunterscheidung: if-statement

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

Mehr

Organisatorisches. Einführung in die Programmierung in C Hochschule Regensburg 13.03.2012.-13.07.2012 Universitätsstraße 31, 93053 Regensburg

Organisatorisches. Einführung in die Programmierung in C Hochschule Regensburg 13.03.2012.-13.07.2012 Universitätsstraße 31, 93053 Regensburg Organisatorisches Einführung in die Programmierung in C Hochschule Regensburg 13.03.2012.-13.07.2012 Universitätsstraße 31, 93053 Regensburg Prof. Dr. Jan Dünnweber Wenn Sie kommen...... kommen Sie pünktlich

Mehr

Modul 122 VBA Scribt.docx

Modul 122 VBA Scribt.docx Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval

Mehr

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung: Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Der Sourcecode wird an den entsprechenden Stellen im Programm wiederholt Programm wird lang

Mehr

Grundlagen der C++ - Programmierung für das MiniBoard von qfix 1

Grundlagen der C++ - Programmierung für das MiniBoard von qfix 1 (16C++qfix.docx) Schich, Seminar Tübingen, 06.09.16 C++ für qfix Seite 1 von 5 Grundlagen der C++ - Programmierung für das MiniBoard von qfix 1 Vom Quelltext zum ausführbaren Programm Editor Die Programme

Mehr

4.Grundsätzliche Programmentwicklungsmethoden

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

Mehr

Objektorientierte Programmierung OOP Programmieren mit Java

Objektorientierte Programmierung OOP Programmieren mit Java Objektorientierte Programmierung OOP Programmieren mit Java 5.1 Elementare Anweisungen 5.1.1 Ausdrucksanweisung 5.1.2 Leere Anweisung 5.1.3 Blockanweisung 5.1.4 Variablendeklaration 5.2 Bedingungen 5.2.1

Mehr

Zusammenfassung des Handzettels für Programmieren in C

Zusammenfassung des Handzettels für Programmieren in C Zusammenfassung des Handzettels für Programmieren in C In der handschriftlichen Kopie werden mehr Abkürzungen verwendet. Alles Grün markierte dient zum lernen und wird nicht auf den Handzettel übertragen.

Mehr

Klausur in Programmieren

Klausur in Programmieren Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Sommer 2014, 16. Juli 2014 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt) Name: Matrikelnr.:

Mehr

Selber Programmieren

Selber Programmieren Selber Programmieren Wenn es für ein Problem keine fertige Lösung gibt, oder wenn man keine fertige Lösung finden kann, dann muss man sich das benötigte Werkzeug selbst herstellen: Ein eigenes Programm

Mehr

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3. Hello World Javakurs 2014, 1. Vorlesung Sebastian Schuck basierend auf der Vorlage von Arne Kappen wiki.freitagsrunde.org 3. März 2014 This work is licensed under the Creative Commons Attribution-ShareAlike

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 16

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 16 Kapitel 5 Arithmetische Operatoren Seite 1 von 16 Arithmetische Operatoren - Man unterscheidet unäre und binäre Operatoren. - Je nachdem, ob sie auf einen Operanden wirken, oder eine Verknüpfung zweier

Mehr

Programmierung mit C Zeiger

Programmierung mit C Zeiger Programmierung mit C Zeiger Zeiger (Pointer)... ist eine Variable, die die Adresse eines Speicherbereichs enthält. Der Speicherbereich kann... kann den Wert einer Variablen enthalten oder... dynamisch

Mehr

Kapitel 3. Mein erstes C-Programm

Kapitel 3. Mein erstes C-Programm Kapitel 3 Mein erstes C-Programm 1 Gliederung Kapitel 3 Mein erstes C-Programm 3.1 Einleitung 3.2 Mein erstes C-Programm 3.3 Zusammenfassung 2 Problem Algorithmus Mittelwert für Messwerte berechnen DGL

Mehr

MIKROPROZESSOR PROGRAMMIERUNG 8. VORLESUNG. LV-Nr. 439.026 SS2007 1 INSTITUT FÜR ELEKTRONIK BIT

MIKROPROZESSOR PROGRAMMIERUNG 8. VORLESUNG. LV-Nr. 439.026 SS2007 1 INSTITUT FÜR ELEKTRONIK BIT MIKROPROZESSOR PROGRAMMIERUNG 8. VORLESUNG BIT LV-Nr. 439.026 SS2007 1 Datendefinitionen b) Unterteilung nach Typen: (Teil 2) void leer Pointer 2/4 Bytes Adresse von Objekten Arrays bei allen Datentypen

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

Grundstruktur eines C-Programms

Grundstruktur eines C-Programms Grundstruktur eines C-Programms // Kommentare werden durch zwei Schrägstriche (Slash) eingeleitet /* Oder durch Slash Stern Stern Slash eingeschlossen */ #include // Präprozessor-Anweisungen

Mehr

Einführung in die Programmiersprache C und in den C166-Compiler

Einführung in die Programmiersprache C und in den C166-Compiler Einführung in die Programmiersprache C und in den C166-Compiler Die vorliegenden Unterlagen sollen einen kurzen Überblick über die Software-Entwicklung in C geben. Diese Unterlagen erheben keinen Anspruch

Mehr

Inhalt. 4.7 Funktionen

Inhalt. 4.7 Funktionen Inhalt Inhalt: 4. Programmiersprache C 4.1 Programmaufbau in C 4.2 Basisdatentypen und einfache Anweisungen 4.3 Steuerfluss-Konstrukte 4.4 Arbeit mit indizierten Größen (Felder) 4.5 Arbeit mit Pointern

Mehr

12 == 12 true 12 == 21 false 4 === 7 true 4 === "vier" false 4 === 4.0 false 12!= 13 true 12!== 12 false 12!== 12.0 true. 1 < 3 true 3 < 1 false

12 == 12 true 12 == 21 false 4 === 7 true 4 === vier false 4 === 4.0 false 12!= 13 true 12!== 12 false 12!== 12.0 true. 1 < 3 true 3 < 1 false Die if-anweisung if (Bedingung 1) { Code 1 else { Code 2 ; Anm.1: Das ; kann entfallen, da innerhalb { ein sog. Codeblock geschrieben wird. Anm.2: Es gibt noch andere Schreibweisen, aber wir wollen uns

Mehr

3 Grundstrukturen eines C++ Programms anhand eines Beispiels

3 Grundstrukturen eines C++ Programms anhand eines Beispiels Grundstrukturen eines C++ Programms anhand eines Beispiels.1 Einige Grundbegriffe Mit Hilfe eines Programmes wird dem Computer mitgeteilt, wie er eine bestimmte Aufgabe bearbeiten soll. Es besteht im wesentlichen

Mehr

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm Programmiersprachen Einführung in C Teil 2: Prof. Dr. int main (int argc, char *argv[]) int sum = 0; for (i = 0; i

Mehr

Tutorium für Fortgeschrittene

Tutorium für Fortgeschrittene Tutorium für Fortgeschrittene Stroop Aufgabe: Die Farbe gesehener Wörter ist zu klassifizieren. Es gibt 4 Farben (rot, blau, gelb, grün) In Eprime: red, blue, yellow and green. Jeder Farbe ist einer Taste

Mehr

Methoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only

Methoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only Methoden Wie Konstruktoren und Destruktoren zum Auf- und Abbau von Objekten definiert werden, Wie inline-methoden Methoden,, Zugriffsmethoden und Read-Only Only- Methoden einzusetzen sind, Der this-pointer

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

Mehr

Teil IV. Grundlagen der Programmierung

Teil IV. Grundlagen der Programmierung Teil IV Grundlagen der Programmierung Überblick 1 Einleitung zu C und C++ Aufbau von Programmen/Dateien Steueranweisungen Funktionen Mehr zu Datentypen: Felder, Zeiger und Strukturen Arbeit mit Dateien

Mehr

Es gibt zwei verschiedene Arten, wie Programme auf dem Rechner ausgeführt werden:

Es gibt zwei verschiedene Arten, wie Programme auf dem Rechner ausgeführt werden: 3 Grundlagen 3.1 Starten eines C++ Programms Es gibt zwei verschiedene Arten, wie Programme auf dem Rechner ausgeführt werden: 1. Programme, die vom Interpreter der Programmiersprache Zeile für Zeile interpretiert

Mehr

Informatik für Elektrotechnik und Informationstechnik

Informatik für Elektrotechnik und Informationstechnik Informatik für Elektrotechnik und Informationstechnik Praktikum 1 Wintersemester 2013/14 1 Kennenlernen der Entwicklungsumgebung Netbeans Netbeans ist eine moderne Entwicklungsumgebung für mehrere Programmiersprachen,

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Grundlagen C und C++ Einheit 03: Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme

Grundlagen C und C++ Einheit 03: Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Grundlagen C und C++ Einheit 03: Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Teil 1: Wiederholung C Heutige Agenda Nutzereingaben verarbeiten Teil 2: Grundlagen in C++ Erstes

Mehr

Grundlagen der Programmierung in C++ Kontrollstrukturen

Grundlagen der Programmierung in C++ Kontrollstrukturen Grundlagen der Programmierung in C++ Kontrollstrukturen Wintersemester 2005/2006 G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Block Keine Kontrollstruktur im eigentlichen Sinn Dient

Mehr

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2 Variablen

Mehr

C allgemein. C wurde unter und für Unix entwickelt. Vorläufer sind BCPL und B.

C allgemein. C wurde unter und für Unix entwickelt. Vorläufer sind BCPL und B. C-Crash-Kurs Eine kurze, keinesfalls erschöpfende Einführung in die Sprache C für Studierende, die eine strukturierte imperative Programmiersprache beherrschen. Die Vorstellung erfolgt am Beispiel von

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

Mehr

Studiengang Maschinenbau und Verfahrenstechnik 1. Vordiplom, Informatik I Musterlösung

Studiengang Maschinenbau und Verfahrenstechnik 1. Vordiplom, Informatik I Musterlösung Dr. K. Simon Studiengang Maschinenbau und Verfahrenstechnik 1. Vordiplom, Informatik I Musterlösung Frühling 2001 Freitag, 9. März 2001 2 Aufgabe 1: Fehlermeldungen, Typen & Konstanten, Kontrollstrukturen

Mehr

5. Tutorium zu Programmieren

5. Tutorium zu Programmieren 5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting

Mehr

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff Programmieren in C Eine Einführung in die Programmiersprache C Prof. Dr. Nikolaus Wulff Der Anfänger sollte nicht entmutigt sein, wenn er nicht die Voraussetzungen besitzt, um die Voraussetzungen zu verstehen...

Mehr

Algorithmen und ihre Programmierung

Algorithmen und ihre Programmierung Veranstaltung Pr.-Nr.: 10 10 V Wirtschaftsinformatik für Wirtschaftwissenschaftler Algorithmen und ihre Programmierung -Teil 1 - Dr. Chris Bizer WS 007/008 Einführung Definition: Algorithmus Ein Algorithmus

Mehr

JAVA - Methoden

JAVA - Methoden Übungen Informatik I JAVA - http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 Folie 1 sind eine Zusammenfassung von Deklarationen und Anweisungen haben einen Namen und können

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

Multimedia im Netz Wintersemester 2011/12

Multimedia im Netz Wintersemester 2011/12 Multimedia im Netz Wintersemester 2011/12 Übung 01 Betreuer: Verantwortlicher Professor: Sebastian Löhmann Prof. Dr. Heinrich Hussmann Organisatorisches 26.10.2011 MMN Übung 01 2 Inhalte der Übungen Vertiefung

Mehr

VBA-Programmierung: Zusammenfassung

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

Mehr

Java-Vorkurs 2015. Wintersemester 15/16

Java-Vorkurs 2015. Wintersemester 15/16 Java-Vorkurs 2015 Wintersemester 15/16 Herzlich Willkommen! package de.unistuttgart.47.01.javavorkurs; public class WelcomeErstis { public static void main(string[] args){ System.out.println( Herzlich

Mehr

Klausur in Programmieren

Klausur in Programmieren Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Wintersemester 2010/11, 17. Februar 2011 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt)

Mehr

Informatik Repetitorium SS 2009. Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692

Informatik Repetitorium SS 2009. Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692 Informatik Repetitorium SS 2009 Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692 Operatoren und Datentypen Beispiel: Anweisungen Variable int a float b int c a= a % (int) (++b-1/4) Vorher 36 3.5 c=b

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18 Kapitel 3 Datentypen und Variablen Seite 1 von 18 Datentypen - Einführung - Für jede Variable muss ein Datentyp festgelegt werden. - Hierdurch werden die Wertemenge und die verwendbaren Operatoren festgelegt.

Mehr