Übung zur Vorlesung Wissenschaftliches Rechnen Wintersemester 2013/14 Auffrischung zur Programmierung in C++, 1. Teil
|
|
- Katja Förstner
- vor 6 Jahren
- Abrufe
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 5. Kontrollstrukturen Allgemein Kontrollstrukturen dienen zur Steuerung des Programmablaufs. (Bemerkung: C und C++ besitzen die selben Kontrollstrukturen.)
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
MehrProgrammieren 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
MehrKurze 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
MehrGrundlagen 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:
MehrEinfü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
MehrProgrammiersprache 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,
MehrEinfü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).
MehrEinfü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
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
MehrModul 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
MehrAngewandte 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),
MehrDie 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,
MehrC.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
MehrEinfü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
MehrProgrammieren 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
Mehr1.8 Kontrollstrukturen 73. default : ziffer = 0; if (ziffer > 0) { cout << "Ziffer = " << ziffer; else { cout << "keine römische Ziffer!
1.8 Kontrollstrukturen 73 default : ziffer = 0; if (ziffer > 0) { cout
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
MehrInformatik. 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
MehrGliederung. 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.
MehrPass 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
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
MehrProgrammieren 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.
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
MehrHochschule 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
MehrUnterprogramme. 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
MehrObjektorientiertes 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
MehrEinfü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)
MehrHello 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
MehrGrundlagen. 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
MehrGrundlagen 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,
MehrAlgorithmische 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
MehrEs 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
MehrEntwurf 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
MehrEinfü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
MehrEinfache 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
MehrInhaltsverzeichnis. 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
Mehr5.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
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
MehrSteueranweisungen. 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)
Mehr2.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
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,
MehrDAP2-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
MehrModellierung 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; {
MehrHochschule 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
MehrPrinzipieller 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
MehrDeklarationen 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 4 Schleifen und Typkonvertierungen Marvin Gülker Ruhruniversität Bochum Wintersemester 2015/2016 Marvin Gülker (Ruhruniversität Bochum) 4 Schleifen und Typkonvertierungen
MehrKontrollstrukturen, 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
MehrGrundlagen 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:
MehrPHP 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
MehrJava 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
MehrProgrammieren 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:
MehrFallunterscheidung: 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
MehrOrganisatorisches. 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
MehrModul 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
MehrFunktionen 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
MehrGrundlagen 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
Mehr4.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
MehrObjektorientierte 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
MehrZusammenfassung 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.
MehrKlausur 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.:
MehrSelber 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
MehrHello 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
MehrWintersemester 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
MehrProgrammierung 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
MehrKapitel 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
MehrMIKROPROZESSOR 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
MehrFlussdiagramm / Programmablaufplan (PAP)
Flussdiagramm / Programmablaufplan (PAP) Basissysmbole Grenzstelle (Anfang, Zwischenhalt oder Ende des Programms/Algorithmus) Verbindung Zur Verdeutlichung der Ablaufrichtung werden Linien mit einer Pfeilspitze
MehrGrundstruktur 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
MehrEinfü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
MehrInhalt. 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
Mehr12 == 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
Mehr3 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
MehrProgrammiersprachen 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
MehrTutorium 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
MehrMethoden. 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
MehrEinstieg 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
MehrTeil 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
MehrEs 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
MehrInformatik 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,
MehrTutorium 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
MehrGrundlagen 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
MehrGrundlagen 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
MehrJava 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
MehrC 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
MehrEine 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,
MehrStudiengang 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
Mehr5. 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
MehrProgrammieren 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...
MehrAlgorithmen 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
MehrJAVA - 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
Mehr1 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
MehrMultimedia 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
MehrVBA-Programmierung: Zusammenfassung
VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung
MehrJava-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
MehrKlausur 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)
MehrInformatik 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
MehrWintersemester 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