Test - Beginn Die Verwendung von Unterlagen ist nicht zulässig. Entfernen Sie daher alle Unterlagen und sonstigen Utensilien. Tragen Sie Ihren Namen, Ihre.

Slides:



Advertisements
Ähnliche Präsentationen
Einführung in die Programmiersprache C/C++
Advertisements

Programme in C++.
Klassen - Verkettete Liste -
Ein- und Ausgabe von Dateien
Verteilte Software - Java - Prozedurale Programmierung 1
Gliederung des Inhalts
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
FH-Hof Fehlerbehandlung Richard Göbel. FH-Hof Konzept Fehler können mit dem Operator throw einer übergeordneten Funktion signalisiert werden. Parameter.
SWITCH - Anweisung.
SWITCH - Anweisung.
Klassenvariable (auch Klassendaten bzw. statische Attribute genannt) und statische Methoden.
Dateien. Eine Datei wird in C++ als ein Stream, also als ein Objekt einer bestimmten Klasse dargestellt.

EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 2 Gisbert Dittrich; Claudio Moraga FBI Unido
Abstrakter Datentyp in C++ I - Klasse -
Das erste Programm (Folie 16)
DVG Ausnahmen. DVG Was sind Programmfehler? 4 Programm erzielt gar kein Ergebnis. 4 Berechnetes Ergebnis stimmt nicht mit dem erwarteten.
DVG Ausnahmen1 Ausnahmen. DVG Ausnahmen 2 Was sind Programmfehler? Programm erzielt gar kein Ergebnis. Berechnetes Ergebnis stimmt nicht.
Planung einfache Dateibehandlung (externe Dateien, Öffnen, Lesen/Schreiben, Schließen). Diskussion des Problems, die Wörter in einem gegebenen Text.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Einfach verkettete Listen
Einführung in die Programmiersprache C 3.Tag Institut für Mathematische Optimierung - Technische Universität Braunschweig.
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.
Einführung in die Programmierung Wintersemester 2012/13 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
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.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung
Grundlagen der Informatik 4 Lehrstuhl für Betriebssysteme 1 Wie werden Funktionen realisiert? Beispiel: int maximum(int x, int y) { int j = x; if (y >
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
Dynamische Datentypen
Ganze Zahlen Die Typen int, unsigned int; Auswertung arithmetischer Aus-drücke, arithmetische Operatoren.
Grundlagen wissenschaftlichen Arbeitens An Overview of C++ Ali CICEK
Arrays / Felder Themen: Arrays / Felder / Vektoren Was soll das eigentlich? Erstellen von Arrays Arrays auslesen. Wie sie verwaltet werden.
Vorlesung 5. #include double fv(double x) { return sin(x); } int main(){ int i,N=10; double a=1,b=2,del,x,sum,f,integral; for(i=1,sum=0.0,del = (b-a)/N;i
Java-Kurs - 8. Übung Besprechung der Hausaufgabe.
Repetitorium PG : Standard Template Library FH-Darmstadt, FB Informatik.
Polymorphie (Vielgestaltigkeit). Wenn eine Methode, wie z.B. print für verschiedene Programmteile steht (und z.B. einmal Objekte verschiedener Klassen.
early binding (frühe Bindung) late binding (späte Bindung)
A) Erklären Sie den Datentyp char. b) Erklären Sie den Datentyp Struct c) Erklären Sie die Wirkungsweise des Operators & bei Anwendung im Zusammenhang.
1 // Laengste Zeile bestimmen // // Liest die Eingabe Zeichen fuer Zeichen, bis // das erscheint. // Die laengste Zeile wird ausgegeben (bei.
Ausnahmen Vorlesung besteht aus zwei Teilen Programmierung (4 SWS)
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
1 // Verkettete Liste 3 // demonstriert verkettete Listen und // Rekursion // (mit Entfernen eines Listenelementes) // #include struct Liste { int Element;
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Programmierkurs JavaUE 4 Anweisungen und ProgrammeDietrich BolesSeite 1 Programmierkurs Java Dr. Dietrich Boles Teil Imperative Programmierung Unterrichtseinheit.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Funktionen. Aufgabe : Eingabe zweier Zahlen ---> Minimum bestimmen Dann nochmals Eingabe zweier Zahlen ---> Minimum bestimmen.
1 // 9_1_Datei_IO //Elementare Verwendung von Dateien // Vorsicht: nicht robust, #include const int maxLen = 70; void Schreiben(char *, ofstream *); void.
Namensräume (namespaces). verwendet man umfangreiche eigene und fremde Bibliotheken (Sammlungen von Funktionen) so ist die Wahrscheinlichkeit groß, daß.
1 // Verkettete Liste 2 // demonstriert verkettete Listen und // Rekursion // (Einfügen am "Fuß") // #include struct Liste { int Element; Liste *weiter;
Tutorium Software-Engineering SS14 Florian Manghofer.
Grundlagen der Informatik: Algorithmen und ProgrammiertechnikenRWTH Aachen – Lehrstuhl für Informatik 31 Grundgebiete der Informatik 2: Algorithmen und.
Dynamischer Speicher malloc wird in c++ eher nicht mehr verwendet.
IOStreamLibrary.
Aufgaben zu Rückgabewerten
Friends C++ ermöglicht, einzelne Funktionen oder ganze Klassen zu friends zu erklären. Friendfunktionen haben Zugang zu den privaten Daten einer Klasse.
Referenzen In c kennen wir gewöhnliche Variablen und Pointer.
IOStreamLibrary.
Einführung in die Programmierung
Cäsar-Verschlüsselung
Einführung in die Programmierung
Cäsar-Verschlüsselung
Einführung in die Programmierung
Einführung in die Programmierung
 Präsentation transkript:

Test - Beginn Die Verwendung von Unterlagen ist nicht zulässig. Entfernen Sie daher alle Unterlagen und sonstigen Utensilien. Tragen Sie Ihren Namen, Ihre Matrikelnummer, Reihe und Nummer Ihres Sitzplatzes sowie Ihre Praktikumsgruppe in das Testformular ein. Legen Sie Ihren Studentinnenausweis sichtbar neben Ihr Testformular und belassen Sie ihn während der gesamten Dauer des Tests dort. Notizen sind ausschließlich in den dafür vorgesehenen Bereichen des Testformulars vorzunehmen. (Nicht auf den Tisch schreiben!) Beim Testende SOFORT das Ausfüllen einstellen! Notizteil eventuell abtrennen und Testformular an die Person zu Ihrer Rechten weitergeben. Sollten Sie nach Testende beim Ausfüllen Ihres Testformulars angetroffen werden, ist Ihr Test ungültig!

Test 00 1 1:10 1:20 1:40 1:50 1:00 1:30 0:40 0:00 0:10 0:20 0:30 0:50 2:00 3:30 3:20 3:40 3:50 4:00 2:10 3:10 2:20 3:00 2:30 2:40 2:50 #include <iostream> using namespace std; void f(int m, int& n, int* k) { m = m+1; n = n+1; k = k+1; } int main() { int m=5; int n=7; int k=12; f(m, n, &k); cout << m << n << k; return 0; 6

Test 00 2 1:10 1:20 1:30 1:40 1:00 0:40 0:00 0:10 0:20 0:30 0:50 1:50 3:30 3:20 3:40 3:50 4:00 2:00 3:10 2:20 2:10 3:00 2:30 2:40 2:50 #include <iostream> using namespace std; void f(char* p1, char* p2) { p1 = p1 +1; char tmp = *p1; *p1 = *p2; *p2 = tmp; } int main() { char str[]="Ein Test"; f(str+1, str+3); f(str+5, str); cout << str; return 0; 1

Test 00 3 1:10 1:20 1:30 1:40 1:00 0:40 0:00 0:10 0:20 0:30 0:50 1:50 3:30 3:20 3:40 3:50 4:00 2:00 3:10 2:20 2:10 3:00 2:30 2:40 2:50 #include <iostream> using namespace std; char* f(char* str, int size) { size = size/2+1; char *buf = new char[size]; for (int i=0; i<size-1; i=i+1) buf[i]=str[i*2]; buf[size-1]=0; return buf; } int main() { char str[]="Ein Test"; char *pc = f(str, sizeof(str)); cout << pc << ":" << str; delete[] pc; return 0; 2

Test 00 4 1:10 1:20 1:30 1:40 1:00 0:40 0:00 0:10 0:20 0:30 0:50 1:50 3:30 3:20 3:40 3:50 4:00 2:00 3:10 2:20 2:10 3:00 2:30 2:40 2:50 #include <iostream> using namespace std; char* f(char* str) { return str+3; } int f(int k) { return k+3; double f(double d, int k) { return d+k+0.5; int main() { for (int i=0;i<4;i=i+1) switch (i) { case 0: cout<<f(i); break; case 1: cout<<f("abcdef"); break; case 2: cout<<f(0.5,2.5); break; case 3: cout<<f(1.5); break; case 4: cout<<f("danger"); break; return 0; 4

Test 00 5 1:10 1:20 1:30 1:40 1:00 0:40 0:00 0:10 0:20 0:30 0:50 1:50 3:30 3:20 3:40 3:50 4:00 2:00 3:10 2:20 2:10 3:00 2:30 2:40 2:50 #include <iostream> using namespace std; char* f(char *str="rstuv") { return str+3; } int f(int k) { return k+3; double f(double d, int k=10) { return d+k+0.5; int main() { cout<<f(1); cout<<f("abcdef"); cout<<f(0.5,2.5); cout<<f(1.5); cout<<f(); return 0; 5

Test 00 6 1:10 1:20 1:30 1:40 1:00 0:40 0:00 0:10 0:20 0:30 0:50 1:50 3:30 3:20 3:40 3:50 4:00 2:00 3:10 2:20 2:10 3:00 2:30 2:40 2:50 #include <iostream> using namespace std; void rek(char* p, int &r) { if (!*p) return; r=r+1; rek(p+2,r); cout<<*p; } int main() { int c=0; rek("abcdef",c); cout<<c; return 0; 5

Test 00 7 1:10 1:20 1:30 1:40 1:00 0:40 0:00 0:10 0:20 0:30 0:50 1:50 3:30 3:20 3:40 3:50 4:00 2:00 3:10 2:20 2:10 3:00 2:30 2:40 2:50 #include <iostream> using namespace std; void rek(int p, int &r) { if (p==3) return; cout<<p<<r; r=r+1; rek(p+1,r); } int main() { int a = 0; rek(0,a); return 0; 5

Test 00 8 1:10 1:20 1:30 1:40 1:00 0:40 0:00 0:10 0:20 0:30 0:50 1:50 3:30 3:20 3:40 3:50 4:00 2:00 3:10 2:20 2:10 3:00 2:30 2:40 2:50 #include <iostream> using namespace std; int f2() { try { cout<<"throw "; throw 3; cout<<"after throw "; } catch (int) { cout<<"c "; throw; void f1() { cout<<"call f2 "; f2(); cout<<"return from f2 "; catch (int k) { cout<<"b "<<k; int main() { cout<<"call f1 "; f1(); cout<<"return from f1 "; cout<<"a "; return 0; 5

Test 00 9 1:10 1:20 1:30 1:40 1:00 0:40 0:00 0:10 0:20 0:30 0:50 1:50 3:30 3:20 3:40 3:50 4:00 2:00 3:10 2:20 2:10 3:00 2:30 2:40 2:50 #include <iostream> using namespace std; void f(int arr[][2]) { for (int i=0;i<2;i=i+1) for (int j=0;j<2;j=j+1) arr[i][j]=arr[i][j]+i+j; } int main() { int arr[3][2][2]={0,1,2,3,4,5,6,7}; f(arr[0]); f(arr[2]); for (int i=0;i<3;i=i+1) for (int k=0;k<2;k=k+1) cout<<arr[i][j][k]; return 0; 5

Bitte nach RECHTS zum Rand weitergeben Test - Ende Geben Sie Ihr Testformular unverzüglich ab, indem Sie es JETZT SOFORT (IN DIESEM MOMENT) zum rechten Rand Ihrer Sitzreihe weitergeben. Bitte nach RECHTS zum Rand weitergeben

1 5912 #include <iostream> using namespace std; Test 00 1 #include <iostream> using namespace std; void f(int m, int& n, int* k) { m = m+1; n = n+1; k = k+1; } int main() { int m=5; int n=7; int k=12; f(m, n, &k); cout << m << n << k; return 0; 5912 1

2 si nTeEt #include <iostream> using namespace std; Test 00 2 #include <iostream> using namespace std; void f(char* p1, char* p2) { p1 = p1 +1; char tmp = *p1; *p1 = *p2; *p2 = tmp; } int main() { char str[]="Ein Test"; f(str+1, str+3); f(str+5, str); cout << str; return 0; si nTeEt 2

3 EnTs:Ein Test Test 00 #include <iostream> using namespace std; char* f(char* str, int size) { size = size/2+1; char *buf = new char[size]; for (int i=0; i<size-1; i=i+1) buf[i]=str[i*2]; buf[size-1]=0; return buf; } int main() { char str[]="Ein Test"; char *pc = f(str, sizeof(str)); cout << pc << ":" << str; delete[] pc; return 0; EnTs:Ein Test 3

4 3def34 Test 00 #include <iostream> using namespace std; char* f(char* str) { return str+3; } int f(int k) { return k+3; double f(double d, int k) { return d+k+0.5; int main() { for (int i=0;i<4;i=i+1) switch (i) { case 0: cout<<f(i); break; case 1: cout<<f("abcdef"); break; case 2: cout<<f(0.5,2.5); break; case 3: cout<<f(1.5); break; case 4: cout<<f("danger"); break; return 0; 3def34 5

5 4def312uv Test 00 #include <iostream> using namespace std; char* f(char *str="rstuv") { return str+3; } int f(int k) { return k+3; double f(double d, int k=10) { return d+k+0.5; int main() { cout<<f(1); cout<<f("abcdef"); cout<<f(0.5,2.5); cout<<f(1.5); cout<<f(); return 0; 4def312uv 5

6 eca3 #include <iostream> using namespace std; Test 00 6 #include <iostream> using namespace std; void rek(char* p, int &r) { if (!*p) return; r=r+1; rek(p+2,r); cout<<*p; } int main() { int c=0; rek("abcdef",c); cout<<c; return 0; eca3 5

7 001122231303 #include <iostream> using namespace std; Test 00 7 #include <iostream> using namespace std; void rek(int p, int &r) { if (p==3) return; cout<<p<<r; r=r+1; rek(p+1,r); } int main() { int a = 0; rek(0,a); return 0; 001122231303 5

8 call f1 call f2 throw c b 3return from f1 Test 00 5 #include <iostream> using namespace std; int f2() { try { cout<<"throw "; throw 3; cout<<"after throw "; } catch (int) { cout<<"c "; throw; void f1() { cout<<"call f2 "; f2(); cout<<"return from f2 "; catch (int k) { cout<<"b "<<k; int main() { cout<<"call f1 "; f1(); cout<<"return from f1 "; cout<<"a "; return 0; call f1 call f2 throw c b 3return from f1 5

9 023545670112 #include <iostream> using namespace std; Test 00 9 #include <iostream> using namespace std; void f(int arr[][2]) { for (int i=0;i<2;i=i+1) for (int j=0;j<2;j=j+1) arr[i][j]=arr[i][j]+i+j; } int main() { int arr[3][2][2]={0,1,2,3,4,5,6,7}; f(arr[0]); f(arr[2]); for (int i=0;i<3;i=i+1) for (int k=0;k<2;k=k+1) cout<<arr[i][j][k]; return 0; 023545670112 5