Zeitplan Übungen Abgabegruppen bilden Entwurf und Analyse von Algorithmen Übung 0 Florian Pelz E-Mail: [email protected] XMPP: [email protected] Zu Beachten Zeitplan Übungen Abgabegruppen bilden Fragen stellen! Zu Beachten Zeitplan Übungen Abgabegruppen bilden Heute… Zeitplan Übungen Abgabegruppen bilden Zu Beachten Zu Beachten Zeitplan Übungen Abgabegruppen bilden Übungen • Alle in richtiger Übung? Andere mittags 56-230, 56-232 / nachmittags 52-207. • Im OLAT angemeldet? Dort Mailadresse hinterlegt? • Keine Anwesenheitspflicht, aber -empfehlung. • Keine Tracks. Zu Beachten Zeitplan Übungen Abgabegruppen bilden Zu Beachten • 12 Übungsblätter? Oder 13? • Ausgabe Donnerstag → Abgabe Donnerstag“ → Besprechung Donnerstag ” • In Vierergruppen abzugeben. • 70% der Punkte aller Nicht-Bonus-Aufgaben nötig. • Aufholen mit Bonus-Aufgaben möglich. • Wer die Zulassung schon hat, sinnvoll mitmachen oder separate Gruppe. • Von Hand bzw. gedruckt und dann getackert oder digital per Mail als PDF oder Textdatei (gerne mit LATEX geschrieben). Zeitplan Übungen Abgabegruppen bilden Abgabegruppen bilden! Zu Beachten Zeitplan Übungen Abgabegruppen bilden Zu Beachten • Es gibt ein TCS Cheat Sheet“. ” • Unser Pseudo code-Stil: Mini-C++“ / C mit Referenzen, ” Methoden von Klassen“. ” • Wir sind nicht kleinlich bei Syntax – wenn verständlich! • Antworten begründen! • Schwer verständlichen Code bitte kommentieren! • Nicht so: https://en.wikipedia.org/wiki/ Obfuscation_%28software%29 Zu Beachten Zeitplan Übungen Abgabegruppen bilden • Keine funktionale Programmierung! Definition pred (n : nat) : nat := match n with | O => O | S n' => n' end. • Kein Algorithmus. • Laufzeit unklar. • Nicht eindeutig auf RAM (mit Arithmetik) reduzierbar. • Stattdessen so: int pred (int n) { assert (n >= 0); if (n == 0) return 0; else return n - 1; } Zu Beachten Zeitplan Übungen Abgabegruppen bilden int half (int n) { return n / 2; } void main () { int a = 10; a = half (a); printf ("a␣ist␣%d\n", a); } Zu Beachten Zeitplan Übungen Abgabegruppen bilden void make_half (int &n) { n = n / 2; } void main () { int a = 10; make_half (a); printf ("a␣ist␣%d\n", a); } Zu Beachten Zeitplan Übungen Abgabegruppen bilden void make_half (int *n) { *n = *n / 2; } void main () { int a = 10; make_half (&a); printf ("a␣ist␣%d\n", a); } Zu Beachten Zeitplan Übungen Abgabegruppen bilden Zu Beachten
© Copyright 2024 ExpyDoc