IPK Tutorium 04
Corona-Regeln der Universität
- Kontaktverfolgung über QR-Codes
- 3G - Pflicht
- Stichprobenartige Kontrolle
- Maskenpflicht
https://check-in.uni-heidelberg.de/erfassung/6205.03.104/
Ablauf des TUtoriums heute
- Blick auf Blatt 04
- Häufige Fehler
- Codebeispiele häufige Fehler
- Vorstellung der Aufgaben
- Fragen zu Blatt 04
- Hinweise zu Blatt 05
- Arbeitsphase Blatt 05
Blatt 4
- Wer hat das Blatt in =< 1h erfolgreich bearbeitet?
- Wer hat das Blatt in =< 2h erfolgreich bearbeitet?
- Wer hat das Blatt in =< 4h erfolgreich bearbeitet?
- Wer hat das Blatt in =< 8h erfolgreich bearbeitet?
- Wem hat das Blatt Spaß gemacht?
- Wer war hart frustriert?
- Wer war frustriert und hatte trotzdem Spaß?
Häufige Fehler bei Blatt 04
Error:
- Binaries mit im Git (war das letzte mal noch Warning)
- Folder kompliziert benannt / doppelt- & dreifach abgegeben
-Wall:
- Doppelte modifikation der Schleifenvariablen
- verschachtelte if statements und dann ein return true / false
- (unnötiger) call by value
-Weverything:
- ungenutzte include-Statements nicht entfernt
- fehlendes Errorhandling
- const-Correctness
Beispiel: boolsche funktionen
// Variante 1
// ebenfalls: unnötiger call by value
bool sort_by_angle(point a, point b)
{
if (a[0] * b[1] - a[1] * b[0] > 0) {
return true;
}
// Split up for readability
else if (a[0] * b[1] - a[1] * b[0] == 0 && std::abs(a[0]) > std::abs(b[0])) {
return true;
}
return false;
}
// Variante 2
bool sort_by_angle(const coordinate &a, const coordinate &b) {
return (a[0] * b[1] - a[1] * b[0] > 0) or
(a[0] * b[1] - a[1] * b[0] == 0 and
(std::abs(a[0]) > std::abs(b[0])));
}
Beispiel: Iterationsvariable
for (unsigned long i = 2; i < points.size(); ++i) {
if (!is_right(points[i-2], points[i], points[i-1])) {
points.erase(points.begin() + i - 1);
i -= 2;
}
}
Votieren
- Aufgabe 4.1 - Gruppe 27 (Darwin, David, Ilayda)
- Aufgabe 4.2 - Gruppe 26 (Tomer, Deniz, Elia)
Gibts Fragen Zu Blatt 04?
Sonst gerne auch gleich in der Übungsphase!
Wollt ihr meine Lösung?
Hinweise zu Blatt 05
Aufgabe 1:
Hinweise zu Blatt 05
Praktische Übung
Übungsblatt 05 im Moodlekurs
Christian Heusel c.heusel@stud.uni-heidelberg.de https://discord.mathphys.info
IPK Tutorium 04
By Christian Heusel
IPK Tutorium 04
- 33