Department of Computer Science | Institute of Theoretical Computer Science | CADMO
Prof. Emo Welzl and Prof. Bernd Gärtner
Informatik für Mathematiker und Physiker (251-0847-00) WS04/05 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Termine
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Inhalt
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ArbeitsumgebungFür die Programmieraufgaben stehen die Rechner im HG D13 (13 Linux-Workstations), HG E19 (34 Sun-Workstations) sowie HG E26.1 (36 Sun-Workstations) zur Verfügung. Wo vorhanden, können natürlich auch eigene Rechner benutzt werden. Wer mit dem Gedanken spielt, sich ein eigenes Notebook anzuschaffen, der sollte einen Blick auf die Neptun Angebote werfen. Wir arbeiten mit einer Unix Umgebung. Unter MS Windows kann man eine solche Umgebung sehr einfach mittels cygwin emulieren. Weiter unten findet man eine Kurzanleitung zur Installation von cygwin. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hinweise zur ÜbungAuf jeder Übungsserie gibt es mehrere Aufgaben, die schriftlich zu bearbeiten und zum angegebenen Termin - meist in der Woche darauf - abzugeben sind. Gruppenabgabe wie auch das Einreichen identischer Lösungen sind nicht zulässig. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TestatbedingungenAm Ende der Übungen wird ein Testat vergeben. Das Testat erhält, wer | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PrüfungDie Prüfung besteht aus einer zweistündigen Klausur. Bedingung für die Zulassung zur Prüfung ist das Übungstestat. Es sind folgende Hilfsmittel erlaubt: maximal zwei handgeschriebene DIN A4 Blätter (beidseitig beschrieben, also max. vier A4 Seiten). Als Anhaltspunkt dafür, wie die schriftliche Prüfung ungefähr aussehen könnte: die Klausur, welche die Repetenten im März geschrieben haben. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SchnellübungenAuf einigen Übungsserien wird die erste Aufgabe aus einer Schnellübung bestehen. Diese Aufgaben sind in den ersten x (typischerweise x = 20) Minuten der Übungsstunde zu bearbeiten und werden dann vom Übungsleiter eingesammelt. Es versteht sich, dass hierfür die Anwesenheit in der Übungsstunde erforderlich ist, eine nachträgliche Abgabe ist nicht möglich. Schnellübungen werden in der Regel eine Woche vorher angekündigt. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Literatur
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Datum Themen Folien Übungsserie Programme
#1 (19.10.2004) Grundlagen, elementare arithmetische Operationen [PDF][PS] [PDF][PS] prime.C, prog1.C, prog2.C, prog3.C, summe.C, absurd.C.
#2 (26.10.2004) Schleife, bedingte Anweisung, Priorität und Assoziativität arithmetischer Operationen - [PDF][PS] fahrenheit.C, binaer.C, random.C.
#3 (2.11.2004) Fliesskommazahlen: Darstellung und Konversionen - [PDF][PS] muenzwurf.C, harakiri.C, subtract.C.
#4 (9.11.2004) Rechnen mit Fliesskommazahlen, Zusammenfassung Kontrollstrukturen, Blöcke und Sichtbarkeit, boolesche Ausdrücke - [PDF][PS] convert.C, harmonic.C, bigsmall.C, one.C.
#5 (16.11.2004) Prozedurale Abstraktion (Funktionen) - [PDF][PS] math.h, math.C, prime.C, libifm-1.17.tar.gz.
#6 (23.11.2004) Rekursion, Strings - [PDF][PS] math.C, fib.h, ggt.h, ackermann.h, login.h, code.C.
#7 (30.11.2004) Call by reference, reguläre Ausdrücke - [PDF][PS] mac2unix.C, mac2unix-index.C, mac2unix-iterator.C, linecount.C, freude.txt.
#8 (7.12.2004) Iteratoren, Kontextfreie Grammatiken - [PDF][PS] brackets.C, calc-simple.C.
#9 (14.12.2004) Vektoren - [PDF][PS] eratosthenes.C, eratosthenes-it.C, minsort.C.
#10 (21.12.2004) Sortieren: Bubblesort und Quicksort - [PDF][PS] quicksort.C, bubblesort.h.
#11 (11.01.2005) Name lookup, Überladen von Funktionen, Abstrakte Datentypen (Einführung) - [PDF][PS] rational.C.
#12 (18.01.2005) Klassen - [PDF][PS] rational.h.
#13 (25.01.2005) Dynamische Speicherverwaltung, Listen - [PDF][PS] list.h (erste Version).
#14 (01.02.2005) Iteratoren für Listen - - - list.h.
Dokumentation der libifm [HTML] [PS] [PDF] (Postscript-Ausgabe für libturtle: Ersetze src/turtle.C durch turtle_ps.C.)
Merkblatt zur Vorlesung [PS] [PDF]
Wichtige Unix Kommandos [PS] [PDF]
Cygwin ist eine Unix-artige Umgebung für MS Windows. Eine kurze Installationsanleitung findet man hier.Eine cygwin shell öffnet man durch Doppelclick auf das schwarz-grüne cygwin icon. In dieser shell kann man mittels des Kommandos startx einen X-server und ein zugehöriges Terminal starten. So ein Terminal ist unsere bevorzugte Arbeitsumgebung, von wo aus man z.B. den emacs, den compiler g++ und die erstellten ausführbaren Programme aufruft.
Den file .emacs solltet Ihr in Euer Heimatverzeichnis kopieren. (Diese neue Version vom 25.10.2004 behebt die Probleme mit dem Compiler auf den Solaris Maschinen.)Unter Cygwin ist das Heimatverzeichnis im Verzeichnisbaum unterhalb des bei der Installation angegebenen cygwin Wurzelverzeichnisses zu finden, z.B. als c:\cygwin\home\myname.
Wem die Schriftgrösse zu klein ist: Shift-Taste drücken und mit der linken Maustaste in das Emacs Fenster klicken. Es erscheint ein Menu zu Schriftart und -grösse.
Mac OS 10 Benutzer sollten die Developer CD installieren, insbesondere auch das Paket X11. Eine grosse Auswahl von open source software packages wie z.B. emacs kann sehr bequem via fink installiert werden. Marcus Deluigi (Übungsleiter der Gruppe K) ist im Falle von Fragen oder Problemen auf dieser Plattform der geeignete Ansprechpartner.
Last modified: $Date: 2005/10/10 14:45:09 $ by Michael Hoffmann. |