Prof. Dr.-Ing. habil. Peter Sobe

Informatik 2, Diplom/Bachelor Elektrotechnik und Informationstechnik, Jahrgang 2018


Aktuelles

Die Vorlesung schließt inhaltlich an Informatik 1 an. Die bisherigen Unterlagen können Sie weiterhin auf der Webseite zu Informatik 1 finden. Die Nummerierung der neuen Abschnitte und die Nummerierung der Übungsaufgaben erfolgt fortlaufend zu Informatik 1.

Als Prüfungsvorleistung war eine Programmieraufgabe in C++ zu bearbeiten. Die Abgabefrist ist bereits beendet. Die Leistungen wurden im OPAL-Kurs mit bestanden bzw. nicht bestanden bewertet (7.7.2019). In einigen Fällen wurden noch Berichtigungen und Vervollständigungen nachgefordert. Die davon betroffenen Teilnehmer wurden per Email informiert.

Die schriftliche Prüfung am 18.7.2019 wurde inzwischen bewertet. Die Ergebnisse sind im Notenportal verfügbar.


Vorlesung

Inhalt und Organisatorisches

0_Inhalt_Orga_Info2.pdf

Weiterführende Techniken zur Programmierung in C

2k_Dateiverarbeitung.pdf
2l_Bitlevel-Verarbeitung.pdf

Verschiedenes

3a_Fehlersuche.pdf
3b_OrganisationQuellcode.pdf
3c_Standardbibliothek_Clib.pdf

Objektorientierte Programmierung in C++

C++: Einführung in C++
C++: Erweiterungen (Streambasierte E/A, Referenzen, new und delete)
C++: Typkonzept, Ziele der Objektorientierung
C++: Klassen und Objekte, Methoden, Konstruktor, ...
C++: Operatoren
C++: Elementobjekte, Elementobjektkonstruktoren, statische Member
C++: Vererbung und Polymorphie
C++: Abstrakte Klassen und Beispiel
C++: Templates
C++: Verschiedenes
Exkurs: GUI-Anwendungen mit Qt

Übungen

Wiederholung und fortgeschrittene
Programmierung in C
Objektorientierte
Programmierung in C++
A43-A46.pdf, zeichenketten_vorlage.c A53.pdf
A47-A48.pdf, ein.txt, datei_zeichenweise.c A54-A55.pdf, A54-C.c, A55_Vorlage.cpp
A49.pdf, messreihe.txt A56-A57.pdf, A56_Vorlage.cpp
A50-A52.pdf A58.pdf
A59.pdf, A59_Vorlage.cpp
A60.pdf
A61-A62.pdf, punkt61.h, punkt61.cpp
A63-A64.pdf, A63_Vorlage.cpp, A64_Vorlage.cpp
A65.pdf
A66-A67.pdf, A66_Vorlage.cpp, A67_Vorlage.cpp


Prüfungsvorleistung

Aufgabenstellung: pvl_info2_Aufgabe_2019.pdf
Ausgangsmaterial: pvl_main.cpp, matrix.h
Hinweis: Bei Nutzung von Visual Studio 2017 und neuerer C++ Compiler müssen die Referenzobjekte für den Copy-Konstruktor und für den =-Operator zwingend als konstante Referenzen angegeben werden. Dafür wurde die Datei matrix.h entsprechend aktualisert.
Die Abgabe ist Ende der Kalenderwoche 25 im Sommersemester 2019 gefordert. Die Abgabe erfolgt per Upload in einem Opal-Kurs: https://bildungsportal.sachsen.de/opal/auth/RepositoryEntry/20624867328


Beispiele

Datei-Zugriff: textdatei_fgetc_fputc.c, textdatei_fgets.c, textdatei_fscanf_1.c, textdatei_fscanf_2.c, laeufer_w.txt

Bitlevel-Operationen in C: Bitlevel_Zugriff.c, Bitoperationen.c

Demonstration für Fehleruche, FIFO-Puffer: fifo_puffer_mit_fehlersuche.c

Modularisierung, Countdown in C: countdown_main.c, countdown.h, countdown.c

Modularisierung in C++, Countdown mit C++ Elementen: countdown_main.cpp, countdown.h, countdown.cpp

Countdown vollständig in C++ mit Konstruktor, new, delete, iostream: countdown_main.cpp, countdown.h, countdown.cpp

Nutzung von C-Standardbibliotheksfunktionen: Uhrzeit.c, Pseudozufallszahlen.c

Erstes C++-Programm: tupel.cpp

C++, cin, cout, iomanip-Funktionen: iostream_beispiele.cpp

C++, verschiedene Anwendungen von new und delete: new_delete_verschiedenes.cpp

C++, verschiedene Beispiele für Vektor-Klasse: vektor1.cpp, vektor2.cpp vektor3.cpp, vektor4.cpp, vektor4_stdpar.cpp, vektor4_anderes.cpp, vektor5.cpp, vektor6.cpp, vektor7.cpp, vektor8.cpp, vektor9.cpp

C++, Beispiele für Elementobjektinitialisierung und verschiedene Operatoren: complex_beispiel.cpp

Klassen Punkt und Linie mit Elementobjekten: punkt1.cpp, punkt2.cpp

Vererbung mit Auswirkung auf Konstruktoren, Destruktor, =-Operator: vererbung_destruktor_etc.cpp

C++ Templates:
Template_Programmierung.cpp, Benutzung_exist_Templateklassen.cpp

C++ Verschiedenes:
typeumwandlung.cpp, set.cpp (Index-Operator), try_catch_demo.cpp

Vorschlag zum Aufbau des Arbeitsblatts für die Prüfung: Arbeitsblatt_Schablone.pdf


Letzte Änderung am 26.8.2019