PVK Informatik I 1.Teil. Grundlagen Variablen Operatoren Fallunterscheidung Schleifen Kurzschreibweise Pointer Array Dynamische Strukturen Funktionen

Größe: px
Ab Seite anzeigen:

Download "PVK Informatik I 1.Teil. Grundlagen Variablen Operatoren Fallunterscheidung Schleifen Kurzschreibweise Pointer Array Dynamische Strukturen Funktionen"

Transkript

1 PVK Informatik I 1.Teil Grundlagen Variablen Operatoren Fallunterscheidung Schleifen Kurzschreibweise Pointer Array Dynamische Strukturen Funktionen 1

2 Grundlagen #include <iostream> #include <string> using namespace std; int main() { // Einzeiliger Kommentar /* Mehrzeiliger Kommentar */ cin >> name; //variable einlesen cout << "hallo"; //Textausgabe cout << "hallo " << name << endl; } return 0; 2

3 Variablen Deklaration: int variable1; Definition/Initialiesierung: variable1 = 40; L-Value / R-Value: int var2 = variable1; Zufallswert nach der Deklaration: Int var3; var3 ist nicht 0! 3

4 Variablentypen int Ganze Zahl 4 Byte float Kommazahl 4 Byte double Kommazahl 8 Byte bool Wahr/Falsch 1 Byte char Zeichen 1 Byte string Zeichenkette 1 Byte pro Zeichen 4

5 Variablentypen II f '4' "4" char float string int double 5

6 Nullen bei Kommazahlen 4. == == f == 4.0f 6

7 Boolean True == 1 False == 0 0 == False Alles andere == True Für C++ macht es keinen Unterschied int z = true * 2 + 4; //6 7

8 Variablen definieren int zahl = 2; int zahl(2); int zahl; zahl = 2; FALSCH: int zahl; zahl(2); Falle: int a, b = 4; 8

9 Gültige Variablennamen Erlaubte Zeichen: abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ _ Beginne mit Buchstaben (oder _)! 9

10 Operatoren Operatoren: + - * / % Modulo < > <= >= == gleich!= ungleich && Rückgabetyp Typ der Operanden Integer Boolean Boolean Boolean Typ des Operanden Boolean 10

11 Prioritäten Gehört auf die Zusammenfassung Anhang Punkt vor Strich = kommt meist zuletzt 11

12 Prioritäten II a = b % 4 && ++i j == ; a = (((b % 4) &&(++i)) (j==6.)); Benutze Klammern 12

13 Casts (sind auch Operatoren) int a = 6.0f; Wird automatisch umgewandelt. Expliziter Cast: int b = (int) 6.0f; //wie in C int b = int( 6.0f ); //nur C++ 13

14 Integerdivision 4 / 3 == 1 Operanden sind Integer -> Ergebnis auch float(4) / 3 double(4) / 3 4.f / 3 4. / 3 Vermutlich mind. 1 Teilaufgabe der Prüfung 14

15 Fallunterscheidung if(antwort=="y" antwort=="y") { n=n+1; } else if((antwort=="y" antwort=="y") && n==0) { n=0; } else{ cout << "y oder n?"; } 15

16 If/Else Hinweise Wenn bedingung 0 (false) ist, wird die Anweisung nicht ausgeführt, sonst schon. && vor Falle: if (true) { int i = 3; } cout << i; { } definiert einen Block 16

17 Ternär - Kurzschreibweise a==2? 0 : 2; Ist a == 2? Falls ja, dann gib 0 zurück, sonst 2. k = a==2? 0 : 2; k = (a==2? 0 : 2); 17

18 Fallunterscheidung II switch (x) { //Prüfe x case 1: //Wenn x==1 cout << "Eins"; //weitere Anweisungen hier break; //Wichtig!! case 2: cout << "Zwei"; break; default: cout << "X ist nicht 1 oder 2"; } 18

19 Switch Hinweise break; ist wichtig default: ist optional x muss int oder char sein! 19

20 Schleifen int i=0; int j=1; while(i<5) { cout << i*j << " "; j=i+2; i++; // i=i+1; } int j,i=0; do{ j=i+1; cout << i++*j << " "; } while(i<5) 20

21 While / Do-While Hinweise Verwende, wenn nicht von Anfang an klar ist, wie oft die schleife durchgeführt werden soll. Do while wird mindestens 1 Mal durchgeführt. While mindestens 0 Mal. Endlosschleife, wenn die Bedingung nie false wird. 21

22 For for(int i=0,j=1; i<5; i++, j=i+1) { } cout << i*j << " "; Verwenden, wenn am Anfang bekannt ist, wie oft die schleife durchgeführt wird. for(initial.; Bedingung; Schluss.) {Block} 22

23 Schleifen umwandeln for(initial.; Bedingung; Schluss.) {Block} Initialisierung while(bedingung) {Block; Schluss.} 23

24 if (false) cout << "Nein"; cout << "Ja"; Schleifen - Fallen Wenn der Block { } fehlt wird alles bis zum nächsten ; ausgeführt (also ein Befehl). if( true i++ ); i++ wird nicht ausgeführt, weil das if faul ist. 24

25 Break und Continue break; bricht die aktuelle Schleife sofort ab. Gehe zu: nach der Schleife continue; bricht den aktuellen Durchgang der Schleife sofort ab. Gehe zu: nächster Durchgang. 25

26 Kurzschreibweise int i = 1; j = i++; //j=1 j = ++i; //j=2 Das gleiche für -- i += 2; i = i + 2; i *= 2; i = i * 2; -= /= %= 26

27 Zufallszahlen erzeugen #include <ctime> #include <cstdlib> Im main: srand(time(null)); int z = rand() % 67; Zufallszahl

28 Pointer Weiss wo du wonsch! Weiss wie du usgsesch! int a = 2; int * p = &a; Falle: * bei der Deklaration hat eine andere Bedeutung als überall sonst. 28

29 Const Pointer const int * p; Zielwert kann nicht geändert werden Int * const p; Adresse kann nicht geändert werden. Rückwärts lesen: int * const p; Ich bin ein konstanter Pointer von einem Integer 29

30 Pointer verwenden *p Gehe zur Zieladresse von p und nimm den Wert. p ist also ein Pointer &a Gib mir die Adresse von der Variable a. a ist also KEIN Pointer (meistens) 30

31 Pointer verwenden II int a = 3; Int b = 2; int * p = &a; *p = 4; *&a p = &*&b; p = Adresse; *p = Wert; 31

32 Pointer Hinweise Die Adresse ist eine Art Zahl: p++; p = p+3; Nur bei Arrays sinnvoll! *p == p[0]; *(p+1) == p[1]; *(p+x) == p[x]; 32

33 Array - Aktenschrank Arrays sind in C++ fast wie Pointer. int a[4]; float b[x]; x muss bekannt sein, bevor, der Array definiert wird und bevor das Programm kompiliert wird. Sonst macht der Compiler automatisch: float * b = new float[x]; Mögliche Prüfungsfrage 33

34 Array II int a[2] = { 2 }; char b[] = { 'a', 'b', 'c' }; FALSCH: int c[]; Int d[1] = { 3, 2 }; 34

35 Array und Pointer int a[3]; int * p; p = a; cout << p[1]; FALSCH: int z[3]; a = z; Arrays können kein L-Value sein! 35

36 Dynamische Strukturen Der Heap Der Pointer weiss wo es ist. int * p = new int; int * q = new int[5]; Typ * pointer = new Typ; new gibt immer die Adresse zurück! Der new-operator alloziert Speicher 36

37 Dynamische Strukturen II Was ihm Heap ist, hält (fast) ewig. Bloss nicht die Adresse verlieren. Speicher deallozieren delete p; delete[] q; Delete ist der Auftragskiller unter den Operatoren. Er braucht nur eine Adresse. Sonst gibts ein Memory-Leak. Faustregel: Immer wenn new, dann auch delete! 37

38 Funktionen double max(double a, double b) { } return a>b? a : b; Rückgabetyp Funktionsname( Parameter ) { } //ganz viel Rechnen return Rückgabewert; 38

39 Funktionen - Prototyp Der Prototyp oder der Kopf der Funktion enthält: Rückgabewert Funktionsnamen Parametertypen ; am Ende double max(double, double); Parameternamen dürfen stehen, werden aber vom Compiler ignoriert. 39

40 Prototyp - Verwendung double max(double, double); int main() { max(3, 2); } double max(double a, double b) { return a>b? a : b; } 40

41 Funktionen - Return Nach dem return ist alles aus. Was nach dem return steht, wird in den Rückgabetyp umgewandelt (falls nötig/möglich) Wenn nichts zurückgegeben werden soll hat die Funktion den Rückgabetypen void und hat kein return. Sonst ist ein Return notwendig 41

42 Funktionen Parameter int func(int a, double b) { //some magic return 0; } func(3, 2.); Das Passiert: Int a = 3; double b = 2.;... 42

43 Referenzen int b = 2; int & a = b; a ist nun eine Referenz auf b. a ist KEIN Pointer a IST b. a = 3; cout << b; FALSCH: Int & a = 4; 43

44 Call by Reference void swap(int &a, int &b) { int temp = b; b = a; a = temp; } int x=3, y=5; swap(x,y); Das Passiert: Int & a = x; Int & b = y; 44

45 Pointer als Parameter void swap(int *a, int *b) { int temp = *b; *b = *a; *a = temp; } int x=3, y=5; swap( &x, &y ); Das Passiert: Int * a = &x; Int * b = &y; 45

46 Array als Parameter int give(int * a) { return a[0]; } int x[]={3,3,6}; give( x ); Das Passiert: int * a = x; 46

47 Array als Parameter II Ein Spezialfall: int give(int a[]) { return a[0]; } int x[]={3,3,6}; give( x ); Das geht obwohl das hier nicht gehen würde: int a[] = x; 47

48 Array als Parameter III FALSCH: int give(int a[2]) { return a[0]; } int x[]={3,3,6}; give( x ); Der Parameter muss hier explizit die länge 2 haben! 48

49 Funktionen - Überladen double max(double a, double b) { } return a>b? a : b; int max(int a, int b) { } return a>b? a : b; 49

50 Funktionen Überladen II Damit eine Funktion überladen werden kann, müssen die Köpfe der Funktionen mindestens einen dieser Unterschiede haben: Anzahl Parameter Typ mindestens eines Parameters Rückgabetyp reicht NICHT als Unterschied. 50

51 Funktionen Default-Wert int max(int a, int b = 0) { } return a>b? a : b; max(3); // b = 0; max(3, 2); Nur die letzen Parameter dürfen einen Default-Wert haben (Theoretisch alle zusammen) 51

52 PVK Informatik I 2.Teil Funktionen Structs Klassen Etc. 52

53 Eine Funktion backen Zutaten: Parameter Rückgabewert Eine Mission 53

54 Eine Funktion backen II Zubereitung: Lies die Mission. Lies die Mission nochmal unterstreiche wichtiges. Schreibe den Kopf des Programms Überlege eine Vorgehensweise Siehe deine Zusammenfassung an. Steht dort ein ähnliches Beispiel? Wenn nicht void als Rückgabetyp, dann muss mindestens ein return rein. Das Programm muss nicht gut sein, sondern nur richtig! 54

55 Eine Funktion backen - Beispiel Schreiben Sie eine Funktion die überprüft, ob eine ganze Zahl eine Primzahl ist oder nicht. Falls die Zahl eine Primzahl ist, gibt sie true zurück sonst false. Eine Primzahl ist eine natürliche Zahl, die nur durch 1 und sich selbst teilbar ist. (Als Teiler kommen nur natürliche Zahlen in Frage) Basisprüfung Informatik I 2010 Aufgabe 3b) 55

56 Eine Funktion backen - Beispiel Schreiben Sie eine Funktion die überprüft, ob eine ganze Zahl eine Primzahl ist oder nicht. Falls die Zahl eine Primzahl ist, gibt sie true zurück sonst false. Eine Primzahl ist eine natürliche Zahl, die nur durch 1 und sich selbst teilbar ist. (Als Teiler kommen nur natürliche Zahlen in Frage) Basisprüfung Informatik I 2010 Aufgabe 3b) 56

57 Eine Funktion backen - Beispiel 1 Parameter vom Typ Integer. Call-by-value. Rückgabewert vom Typ Boolean bool prim(int zahl); Teilbar heisst Modulo = 0 Zahl % 5 == 0 // Teilbar durch 5 Überprüfe auf Teilbarkeit mit allen natürlichen Zahlen. Alle? Nein. Nur jene zwischen 1 und sich selbst 57

58 Eine Funktion backen - Beispiel Prüfe alle = eine Schleife! Anzahl durchgänge bekannt! -> For-Schleife Initialiserung: int i = 2; // weil > 1 Bedingungen: i < zahl Schlussanweisung i++ 58

59 Eine Funktion backen - Beispiel bool prim(int zahl) { for( int i = 2; i < zahl; i++ ) { //??? } } Prüfe auf Teilbarkeit if( Zahl % i == 0 ) {} 59

60 Eine Funktion backen - Beispiel bool prim(int zahl) { for( int i = 2; i < zahl; i++ ) { if( zahl % i == 0 ) { //Die Zahl hat einen Teiler!! // -> keine Primzahl } } //Die Schleife ist fertig. /* Wenn wir nie im if waren, hatte die Zahl keine Teiler */ // -> Primzahl } Es fehlen nur noch die Returns 60

61 Eine Funktion backen - Beispiel bool prim(int zahl) { for( int i = 2; i < zahl; i++ ) { if( zahl % i == 0 ) { return false; } } return true; } En Guete 61

62 Rekursive Funktionen 62

63 Funktionen und Variablen Funktion int b() { return 3; } int a = b(); Gehe zu b() Variable int b = 3; int a = b; Gehe zu b Nimm den Wert Rechne Nimm den Wert 63

64 Pointer zurückgeben 1.So tun, als wolle man einen Pointer erstellen. int * bsp... 2.Eine Funktion daraus machen int * bsp(int a, double b) { //... int * p = new int(4); return p; } 3.Eine Adresse zurückgeben! Macht meist nur mit dynamischen Variablen Sinn 64

65 Structs Structs stehen zu Klassen, wie Arrays zu Pointer In C++ ist eine Struct eine eingeschränkte Form der Klasse. Structs kennt die Bezeichungen private, public und protected nicht. Es wird alles public. 65

66 Structs - Syntax struct name{ int a,b; double c; bool k; name f; //NEIN name * g; //ok }; //Wenn dieses ; fehlt muss stattdessen eine Variable stehen. name bsp = { 3, 3, 4.2, true }; Das können nur Structs (nicht Klassen) 66

67 Klassen Wenn wir selbst Funktionen bauen können, dann können wir auch unsere eigenen Typen basteln. Das sind Klassen! Begriffe: Instanz = Objekt Member = Eigenschaften + Methoden Eigenschaften = Variablen Methoden = Funktionen 67

68 Klassen - Syntax class Klassenname { private: //das folgende ist privat int a; //eine Eigenschaft //private funktion int private_func(); //... public: //das folgende ist public Klassenname() {}; //default constructor //constructor Klassenname(int aa); //noch ein constructor Klassenname(int aa, int bb); int b; //öffentliche funk. void public_func() {} //... friend int andere_funktion(); }; //Das ; ist wichtig 68

69 Klassen - Zugriffsspezifikationen public: Alle dürfen zugreifen private: Nur in der Klasse zugreifbar (+friends) protected: private + vererbar (+friends) Wenn nichts steht, dann ist es private! 69

70 Methode definieren 1.In der Klasse wie eine normale Funktion 2.Ausserhalb der Klasse mit einem Zusatz: Klassenname:: Muss direkt vor dem Namen der Methode stehen. int Klassenname::private_func() { //Das Übliche //Am Ende noch ein return } 70

71 Objekt Erstellen klassenname v; klassenname * w = new klassenname; Benutzen v.b = 4; v.public_func() Variable und Funktion sind public in klassenname 71

72 Objekt II klassenname * w = new klassenname; (*w).b = 4; Klammer notwendig w->b = 4; Macht das gleiche. -> ist ein neuer Operator. Bei Struct ist es gleich. 72

73 This-Pointer Innerhalb jeder Klasse ist ein this Pointer definiert. Der this Pointer zeigt auf das aktuelle Objekt klassenname var1; var1.public_func(); void public_func(){ this->a = 3; } this zeigt hier auf var1 Warum? 73

74 This-Pointer II class bsp{ private: int a, len; public: void set(int a, int length) { len = length; a = a;??? this-> a = a; } }; 74

75 Vererbung Nicht Prüfungsrelevant 75

76 Constructor: Ein Objekt backen klassenname v; Führt den Default-Constructor aus. Selber backen Dadurch wird der Default-Constructor gelöscht. Überladbar: Verschiedene Rezepte möglich Public: Alle dürfen probieren 76

77 Constructor II class Klassenname { private: int a; public: klassenname(int aa) { a = aa; } klassenname() { }; } a = 0; 77

78 Memory-Leak class bsp { private: double * a; public: bsp() { a = new double[ ]; } }; 78

79 Destructor/Deconstructor class bsp { private: double * a; public: bsp() { a = new double[ ]; } ~bsp() { }; } delete[] a; Nur wegen new! 79

80 Kopierconstructor Ist auch nur ein Constructor Wird automatisch aufgerufen, wenn: bsp a; bsp b = a; int func(bsp x) { return 0; } func(a); 80

81 Kopierconstructor II Falsch: Klassenname(Klassenname v) { a = v.a; *b = *(v.b); } Richtig: Klassenname(const Klassenname& v) { a = v.a; *b = *(v.b); } 81

82 Kopierconstructor III Es gibt einen Default-Kopierconstructor Muss NUR selbst definiert werden, wenn dynamische Strukturen in der Klasse sind (new). 82

83 Operatoren überladen bsp a; bsp b; bsp c = a + b; Was passiert in der letzten Zeile? Das dürfen/müssen wir selber definieren. 83

84 Operatoren überladen II // Der "+"-Operator bsp operator+(const bsp & v) { //erstelle Objekt bsp c; //fülle es c.a = a + v.a; *(c.b) = *b + *(v.b); return c; } Meistens mit const und & 84

85 Operatoren überladen III Beispiele auf die Zusammenfassung Wahrscheinlich 1 Teilaufgabe bei der Prüfung 85

86 Fallen & Hinweise Kompilierfehler: Codeblocks zeigt einen Fehler, wenn man auf das Zahnrad klickt. Ausführfehler (Laufzeitfehler): Das Programm startet. Plötzlich stüzt es ab, bzw. zeigt einen Fehler in der Konsole. Gründe: Zugriff ausserhalb eines Arrays 86

87 Fallen & Hinweise const int a = 3; int b = 4; int & c = a; const int & d = b; 87

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

Einführung in den Einsatz von Objekt-Orientierung mit C++ I Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen

Mehr

RO-Tutorien 3 / 6 / 12

RO-Tutorien 3 / 6 / 12 RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 2 AM 06./07.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML. JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung

Mehr

Einführung in die Programmierung Wintersemester 2011/12

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

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

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

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

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

Überladen von Operatoren

Überladen von Operatoren - Überladen des Indexoperators [] - Überladen des Ausgabeoperators > Programmieren in C++ Informatik FH Trier C++12-1 ähnlich dem Überladen von Funktionen Überladen

Mehr

Welche Informatik-Kenntnisse bringen Sie mit?

Welche Informatik-Kenntnisse bringen Sie mit? Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt

Mehr

AuD-Tafelübung T-B5b

AuD-Tafelübung T-B5b 6. Übung Sichtbarkeiten, Rekursion, Javadoc Di, 29.11.2011 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit 3 Stack und Heap Stack Heap 4 Blatt 6 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit

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

Advanced Programming in C

Advanced Programming in C Advanced Programming in C Pointer und Listen Institut für Numerische Simulation Rheinische Friedrich-Wilhelms-Universität Bonn Oktober 2013 Überblick 1 Variablen vs. Pointer - Statischer und dynamischer

Mehr

Erste Schritte der Programmierung in C

Erste Schritte der Programmierung in C Erste Schritte der Programmierung in C C versus C++ Anatomie von C-Programmen für AVR- Mikrocontroller Unterschiede zwischen C++ und C 1 Grundlegende Unterschiede File-Extensions (Header und Quellcode)

Mehr

Programmieren I + II Regeln der Code-Formatierung

Programmieren I + II Regeln der Code-Formatierung Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme WS 2016/2017, SS 2017 Programmieren I + II Regeln der Code-Formatierung In diesem Dokument finden

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

Einleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens

Einleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens Grundlagen von C Jonas Gresens Proseminar C Grundlagen und Konzepte Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens SS2013 Inhalt Projekt Vorlesung: praktische Implementierung üben Ein und

Mehr

5. Elementare Befehle und Struktogramme

5. Elementare Befehle und Struktogramme 5. Elementare Befehle und Struktogramme Programmablauf Beschreibung des Programmablaufs mittel grafischer Symbole Beispiel : Flussdiagramme ja nein Besser : Struktogramme Dr. Norbert Spangler / Grundlagen

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

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

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren 3. Kontrollstrukturen 04.11.2015 Prof. Dr. Ralf H. Reussner Version 1.1 LEHRSTUHL FÜR SOFTWARE-DESIGN UND QUALITÄT (SDQ) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD),

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

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

Wiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung

Wiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung Wiederholung Wozu? Schreiben Benutzen Rekursion?! Javakurs 2012, 3. Vorlesung maggyrz@freitagsrunde.org 5. März 2013 Wiederholung Wozu? Schreiben Benutzen Rekursion?! 1 Wiederholung 2 Wozu? 3 Schreiben

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

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

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

THE GO PROGRAMMING LANGUAGE. Michael Karnutsch & Marko Sulejic

THE GO PROGRAMMING LANGUAGE. Michael Karnutsch & Marko Sulejic THE GO PROGRAMMING LANGUAGE Part 1: Michael Karnutsch & Marko Sulejic Gliederung Geschichte / Motivation Compiler Formatierung, Semikolons Variablen, eigene Typen Kontrollstrukturen Funktionen, Methoden

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

Mehr

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

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 5. Kontrollstrukturen Allgemein Kontrollstrukturen dienen zur Steuerung des Programmablaufs. (Bemerkung: C und C++ besitzen die selben Kontrollstrukturen.)

Mehr

Primitive Datentypen

Primitive Datentypen Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.

Mehr

Zeiger, Arrays und Strings in C und C++

Zeiger, Arrays und Strings in C und C++ Zeiger, Arrays und Strings in C und C++ 1 Zeiger in Java und C/C++ Zeigervariable (kurz: Zeiger, engl.: pointer): eine Variable, die als Wert eine Speicheradresse enthält Java: Zeiger werden implizit für

Mehr

Klassen und Objekte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg

Klassen und Objekte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg Klassen und Objekte Einführung in Java Folie 1 von 28 12. Mai 2011 Ivo Kronenberg Inhalt Objekte Klassendefinitionen Datenelemente (Klassenattribute) Instanzieren von Objekten Konstruktoren Vergleich primitive

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

Annehmende Schleife do while

Annehmende Schleife do while Annehmende Schleife do while Schleife mit nachfolgender Bedingungsprüfung: annehmende Schleife B S Mit B wird eine Bedingung (logischer Ausdruck) bezeichnet, S ist ein Strukturblock. Zuerst wird S ausgeführt,

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

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

3. Anweisungen und Kontrollstrukturen

3. Anweisungen und Kontrollstrukturen 3. Kontrollstrukturen Anweisungen und Blöcke 3. Anweisungen und Kontrollstrukturen Mit Kontrollstrukturen können wir den Ablauf eines Programmes beeinflussen, z.b. ob oder in welcher Reihenfolge Anweisungen

Mehr

C++-Zusammenfassung. H. Schaudt. August 18, 2005

C++-Zusammenfassung. H. Schaudt. August 18, 2005 C++-Zusammenfassung H. Schaudt August 18, 2005 1 Datentypen 1.1 Grunddatentypen int (-32xxx bis +32xxx, implementerungs-abhängig) char -128 bis +128 float double bool (C++) int und char sind austauschbar:

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

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

1.4. Funktionen. Objektorientierte Programmierung mit C++

1.4. Funktionen. Objektorientierte Programmierung mit C++ mehrfache Deklarationen sind erlaubt für jede Funktion muss es (GENAU) eine Definition geben, ansonsten linker error [the one definition rule ODR] Deklarationen in *.h - Files, Definitionen in *.cpp -

Mehr

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung Übersicht 3.1 Modell Konto 3.2 Modell Konto - Erläuterungen 3.3 Benutzer Ein- und Ausgabe mit Dialogfenster I 3.4 Benutzer Ein- und Ausgabe mit Dialogfenster II 3.5 Klassen- und Objekteigenschaften des

Mehr

C++ - Einführung in die Programmiersprache Funktionen. Leibniz Universität IT Services Anja Aue

C++ - Einführung in die Programmiersprache Funktionen. Leibniz Universität IT Services Anja Aue C++ - Einführung in die Programmiersprache Funktionen Leibniz Universität IT Services Anja Aue Subroutine (Unterprogramm) Lösung von Teilen einer Gesamtaufgabe. Kapselung von Anweisungen, die zu einer

Mehr

Schleifen in C/C++/Java

Schleifen in C/C++/Java Schleifen in C/C++/Java Alle 3 Sprachen stellen mindestens die folgenden 3 Schleifenkonstruktionen zur Verfügung. In C gibt es auch keine weiteren, C++, Java und C# haben noch weitere nützliche Varianten.

Mehr

Die Programmiersprache C Eine Einführung

Die Programmiersprache C Eine Einführung Die Programmiersprache C Eine Einführung Christian Gentsch Fakutltät IV Technische Universität Berlin Projektlabor 2. Mai 2014 Inhaltsverzeichnis 1 Einführung Entstehungsgeschichte Verwendung 2 Objektorientiert

Mehr

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.

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

Mehr

Themen. Statische Methoden inline Methoden const Methoden this Zeiger Destruktor Kopierkonstruktor Überladen von Operatoren

Themen. Statische Methoden inline Methoden const Methoden this Zeiger Destruktor Kopierkonstruktor Überladen von Operatoren Themen Statische Methoden inline Methoden const Methoden this Zeiger Destruktor Kopierkonstruktor Überladen von Operatoren Statische Methoden Klassenmethoden Merkmal der Klasse nicht eines einzelnen Objekts

Mehr

PROGRAMMIERUNG IN JAVA

PROGRAMMIERUNG IN JAVA PROGRAMMIERUNG IN JAVA ZUWEISUNGEN (1) Deklaration nennt man die Ankündigung eines Platzhalters (Variablen) und Initialisierung die erste Wertvergabe bzw. die konkrete Erstellung des Platzhalters. In einem

Mehr

C++ Teil 1. Sven Groß. 9. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil 1 9. Apr / 19

C++ Teil 1. Sven Groß. 9. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil 1 9. Apr / 19 C++ Teil 1 Sven Groß IGPM, RWTH Aachen 9. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 1 9. Apr 2015 1 / 19 Organisatorisches Anmeldung zu Vorlesung und Praktikum über CampusOffice heute! Zugang zu

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

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

Programmieren I. Kapitel 5. Kontrollfluss

Programmieren I. Kapitel 5. Kontrollfluss Programmieren I Kapitel 5. Kontrollfluss Kapitel 5: Kontrollfluss Ziel: Komplexere Berechnungen im Methodenrumpf Ausdrücke und Anweisungen Fallunterscheidungen (if, switch) Wiederholte Ausführung (for,

Mehr

Klausurvorbereitung Lösung

Klausurvorbereitung Lösung Ausgabe 1 a) unsigned char erzeuge_bitmuster() static int z=0; int rest; unsigned char bm; rest = z % 4; z=z+1; switch (rest) case 0: bm = 0x00; break; case 1: bm = 0x11; break; case 2: bm = 0x33; break;

Mehr

Elementare Datentypen in C++

Elementare Datentypen in C++ Elementare Datentypen in C++ bool signed/unsigned char signed/unsigned short int signed/unsigned int signed/unsigned long int (signed/unsigned long long int) float double long double void enum char Der

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

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 9. Zeiger Arbeitsspeicher / Adressen Der Arbeitsspeicher des Computers (RAM) besteht aus einem Feld von Speicherzellen, beginnend bei Adresse

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 02: Klassen & Objekte Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Klassen Grundstruktur einer Java-Klasse Eigenschaften (Attribute) Variablen

Mehr

Java Cheatsheet. Mehrzeiliger Kommentar (beginnt mit /* und endet mit */)

Java Cheatsheet. Mehrzeiliger Kommentar (beginnt mit /* und endet mit */) Good code is its own best documentation. (Steve McConnell) Java Cheatsheet Java Grundlagen Aufbau einer Klasse Name der Klasse public class MeineKlasse { Textdatei MeineKlasse.java (muss dem Namen der

Mehr

Objective-C CheatSheet

Objective-C CheatSheet App-Templates: Erstellt automatisch einen Navigation Controller mit editierbarem UITableView und DetailView, der bei Klick auf einzelne UITableViewCell angezeigt wird. Kreiert einen GLKitViewController

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

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

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

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

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) II.1.3. Anweisungen und Kontrollsttukturen - 1 - 3. Anweisungen und Kontrollstrukturen

Mehr

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Blöcke. Beispiel: Variablen in Blöcken

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Blöcke. Beispiel: Variablen in Blöcken 4 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Blöcke Blöcke erweitern einzelne Anweisungen, etwa bei Kontrollstrukturen später Beispiel: Einzelne Anweisung: anweisung; Erweiterung

Mehr

5 Grundlagen der Java-Syntax

5 Grundlagen der Java-Syntax 5 Grundlagen der Java-Syntax Es sollen nun einige Grundregeln besprechen, die in jeder Java-Programmdatei berücksichtigt werden müssen. 5.1 Grundsätzliches zur Syntax von Java Programmen Zunächst sollten

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

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

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java: Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen

Mehr

C++ - Operatoren. Eigene Klassen mit neuen Funktionen

C++ - Operatoren. Eigene Klassen mit neuen Funktionen C++ - Operatoren Eigene Klassen mit neuen Funktionen Übersicht Klassen bisher Eigene Operatoren definieren 2 Bisher Durch Kapselung, Vererbung und Polymorphy können nun eigene Klassen definiert werden,

Mehr

Aufbau von Klassen. class punkt {...

Aufbau von Klassen. class punkt {... Einführung in C++ Aufbau von Klassen Eine wird mit dem Schlüsselwort class eingeleitet, und endet mit einem Semikolon. Der Inhalt wird zwischen geschweiften Klammern geschrieben. class punkt {... ; Im

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

Praxisorientierte Einführung in C++ Lektion: "Kontrollstrukturen"

Praxisorientierte Einführung in C++ Lektion: Kontrollstrukturen Praxisorientierte Einführung in C++ Lektion: "Kontrollstrukturen" Christof Elbrechter Neuroinformatics Group, CITEC April 24, 2014 Christof Elbrechter Praxisorientierte Einführung in C++ April 24, 2014

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

Klausur in Programmieren

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

Mehr

Programmieren in C / C++ Grundlagen C 4

Programmieren in C / C++ Grundlagen C 4 Programmieren in C / C++ Grundlagen C 4 Hochschule Fulda FB AI Wintersemester 2016/17 http://c.rz.hs-fulda.de Peter Klingebiel, HS Fulda, FB AI Anweisungen Anweisung im allgemeinsten Sinn: Programmieren

Mehr

Kapitel 3: Variablen

Kapitel 3: Variablen Kapitel 3: Variablen Thema: Programmieren Seite: 1 Kapitel 3: Variablen Im letzten Kapitel haben wir gelernt, bestimmte Ereignisse zu wiederholen solange eine Bedingung erfüllt ist. Nun möchten wir aber

Mehr

JAVA-Datentypen und deren Wertebereich

JAVA-Datentypen und deren Wertebereich Folge 8 Variablen & Operatoren JAVA 8.1 Variablen JAVA nutzt zum Ablegen (Zwischenspeichern) von Daten Variablen. (Dies funktioniert wie beim Taschenrechner. Dort können Sie mit der Taste eine Zahl zwischenspeichern).

Mehr

3. Semester : 1. Prüfung

3. Semester : 1. Prüfung 3. Semester : 1. Prüfung Name : Die gesamte Prüfung bezieht sich auf die!! Prüfungsdauer: 90 Minuten mit Kugelschreiber oder Tinte schreiben Lösungen können direkt auf die Aufgabenblätter geschrieben werden

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

10. Klassen. Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04)

10. Klassen. Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04) 10. Klassen Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04)!Objektorientierte Programmierung!Das Konzept der Klassen!Members!Objekte!Konstruktoren und Destruktoren!this-Pointer!Public und Private

Mehr

Java-Schulung Grundlagen

Java-Schulung Grundlagen Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings

Mehr

magnum C++ WALTER SAUMWEBER kompakt komplett kompetent

magnum C++ WALTER SAUMWEBER kompakt komplett kompetent magnum C++ WALTER SAUMWEBER kompakt komplett kompetent Quickview... 5 Liebe Leserin, lieber Leser... 13 Teil 1 Grundlagen... 15 1 Was ist Programmieren?... 17 1.1 Was ist eigentlich ein Computerprogramm?...

Mehr

Herzlich Willkommen. Über mich Termine Literatur Über PHP

Herzlich Willkommen. Über mich Termine Literatur Über PHP Über mich Termine Literatur Über PHP Herzlich Willkommen Über mich Termine Literatur Über PHP Wer ist das da vorne? Mario Lipinski Über mich Termine Literatur Über PHP Wer ist das da vorne? Mario Lipinski

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

Die Programmiersprache C99: Zusammenfassung

Die Programmiersprache C99: Zusammenfassung Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 7. Dezember 2010, 19:30 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.youtube.com/joernloviscach

Mehr

Die Kunst des schönen Kodierens

Die Kunst des schönen Kodierens Die Kunst des schönen Kodierens von Malte Ried Version vom 8. April 2004 Inhaltsverzeichnis 1 Einführung 3 2 Allgemeines 4 2.1 Versionskontrolle........................... 4 2.2 Zeilen.................................

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

Klausur in Programmieren

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

Mehr

C# 2000 Expression Beispielcodes für Konsolen- und Formularanwendung

C# 2000 Expression Beispielcodes für Konsolen- und Formularanwendung C# 2000 Expression Beispielcodes für Konsolen- und Formularanwendung 1. "Hai!" [Konsolenanwendung] Console.WriteLine("Hai, wie geht's?"); 2. Muktiplikation mit sich selbst [Konsolenanwendung] // Ausgabe

Mehr

Methoden (fortgeschritten) in C# - 1

Methoden (fortgeschritten) in C# - 1 Methoden (fortgeschritten) in C# - 1 Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Opertatoren Überladung 2. delegate 3. Anonyme Methoden delegate Lamda Ausdruck-Lamdas Anweisung-Lamdas Variablenbereich

Mehr

Java Einführung Methoden. Kapitel 6

Java Einführung Methoden. Kapitel 6 Java Einführung Methoden Kapitel 6 Inhalt Deklaration und Aufruf von Methoden Lokale und globale Namen (Bezeichner) Sichtbarkeit und Lebensdauer von Variablen in Methoden Überladen von Methoden 2 Methoden

Mehr

GI Vektoren

GI Vektoren Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung

Mehr

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden Javaprogrammierung mit NetBeans Variablen, Datentypen, Methoden Programmieren 2 Java Bezeichner Bezeichner: Buchstabe _ $ Buchstabe _ $ Ziffer Groß- und Kleinbuchstaben werden strikt unterschieden. Schlüsselwörter

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

Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6

Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6 Andre Droschinsky Ingo Schulz Dortmund, den 0. Dezember 2015 Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6 Block rot Es können 4 + 1 Punkte erreicht werden. Abgabedatum: 10. Dezember 2015 2:59 Uhr Hinweise

Mehr

Informatik 1 ( ) D-MAVT F2010. Logik, Schleifen. Yves Brise Übungsstunde 4

Informatik 1 ( ) D-MAVT F2010. Logik, Schleifen. Yves Brise Übungsstunde 4 Informatik 1 (251-0832-00) D-MAVT F2010 Logik, Schleifen Nachbesprechung Blatt 2 Aufgabe 3c): double(9/2) 4.0 double Zuerst wird die Operation ausgeführt und dann erst die Konversion! Allgemein: Dateiendungen:.c

Mehr