Bild mit Unilogo
homeicon uni sucheicon suche kontakticon kontakt impressicon impressum
unilogo Universität Stuttgart 
Institut für Formale Methoden der Informatik

Abteilung Formale Konzepte

englishicon
 

Informatik I (autip) - WS 2007/08

Termine - Aktuelle Hinweise - Informationen zu Ada - Skript - Übungsblätter


Dozent:Dr. Stefan Lewandowski
Termine:Vorlesung: Mi. 14h00-15h30, V38 0.108 (Informatikneubau)
Übungen: Mi. 11h30-13h00,V38 0.108


Aktuelle Hinweise

Die momentan verlinkten Skripte sind im Wesentlichen vom Vorjahr. Diese werden an der einen oder anderen Stelle noch abgeändert, ergänzt und um die in diesem Jahr neuen Übungsaufgaben erweitert. Die zeitliche Planung weiter unten wird ebenfalls dann angepasst. -- Auf vielfachen Wunsch eines einzelnen Herrn sind nun auch die Folien online (Klick auf das Datum der Vorlesung - das Skript ist aber ausführlicher!).

Diskussionen über Vorlesungsinhalte und Übungsaufgaben (bitte keine fertigen Lösungen präsentieren!) sind möglich und erwünscht, nutzen Sie das Autip-Forum. Auch Fragen/Probleme zur Installation der Ada-Software können hier diskutiert werden.


Informationen zu Ada

Ein wesentliches Lernziel der Vorlesung ist die Beherrschung der Programmiersprache Ada 95 (lesen und(!) schreiben). Zur Einführung in Ada wird in den ersten zwei bis drei Wochen AdaLogo verwendet, danach dann auf Ada 95 umgestiegen. Ada 95 Compiler und Werkzeuge findet man unter der deutschen Ada-Homepage www.Ada-Deutschland.de. Die Ada Tour 2004 CD-ROM wird kostenlos in der Vorlesung zur Verfügung gestellt.

Die meisten Bücher über Ada 95 sind in englischer Sprache. Das einzige mir bekannte Buch in deutscher Sprache ist von Manfred Nagl: Softwaretechnik mit Ada 95, vieweg, 2. Auflage, 2003; dieses ist insbesondere für Studierende mit programmiertechnischen Vorkenntnissen gut geeignet. Daneben gibt es noch ein Skript von Prof. Grude (TFH Berlin), das auch für Anfänger geeignet ist (die technischen Details zu Zahldarstellungen können Sie überspringen). Für Studierende mit Vorkenntnissen bietet das Skript von Prof. Blieberger (TU Wien) einen straffen Überblick über Ada 95. Ebenso für Anfänger geeignet ist der Ada-Teil im Skript von Prof. Lagally (Uni Stuttgart).

Ein sehr gutes Buch für Anfänger in englischer Sprache ist von Jan Skansholm: Ada 95 - From the Beginning, Third Edition, Addison-Wesley, 1997 (die erste und zweite Auflage behandeln die Vorversion Ada 83). Dieses Buch liegt in 3 Exemplaren in der Unibibliothek vor (Signatur: 3H 7588(3N98)).

Es ist kein fester Ada-Compiler vorgeschrieben. In der Vorlesung wird die Entwicklungsumgebung AdaGIDE verwendet (erst den Compiler GNAT installieren, dann die Entwicklungsumgebung AdaGIDE). Übersetzen eines Programms mit F3, mit F4 ausführen lassen.
Benutzen des Debuggers GVD: In AdaGIDE im Menü Tools→Options den Debugger von gbd in gvd ändern. Wurde das Programm compiliert, kann man im Menü Run den Debugger starten. Beim ersten Start des Debuggers muss im Menü Edit→Preferences→Source das Anzeigen des Explorer Trees abgeschaltet werden. Bei Bedarf kann man das Datenfenster des Debuggers als extra Fenster anzeigen lassen ("Separate Window" im Menü Edit→Preferences→Data aktivieren) und (im gleichen Menü) die Anzeige des Call Stacks aktivieren. Im GVD dann das Programm mit F3 laden (die .exe-Datei!), anschließend über das Menü File→Open Source die zugehörige .adb-Datei laden. Einen Breakpoint setzen (einen der blauen Punkte anklicken), nach Start (Button Run) wird das Programm bis zum Breakpoint ausgeführt. Von einem Breakpoint aus kann dann das Programm mit F6 jeweils eine Zeile weiterlaufen lassen (mit F5 wird die jeweilige Prozedur schrittweise ausgeführt). Im Menü Data kann mit dem Punkt "Display any Expression" eine beliebige Variable angezeigt werden.


Skripte und Beispiel-Programme

17.10.   0.Einführung
AdaLogo: for-Schleifen, Prozeduren,
Fallunterscheidungen
   (pdf) (Stand: 16.10.07)
24.10.AdaLogo: while-Schleifen, Rekursion
1.Programmieren im Kleinen mit Ada 95
Algorithmen und Programme
(pdf) (Stand: 20.12.06)
31.10.Syntaxdiagramme, EBNF
Standarddatentypen integer
07.11.und float, strenges
Typkonzept in Ada 95,
Arithmetische Ausdrücke,
14.11.Boolesche Ausdrücke,
Bäume und Rechenbäume
21.11.Subtypen, Bereiche, Arrays,
Beispiel Sortieren durch Minimumsuche
28.11.Blöcke, Übergabe-Mechanismen
5.12.Lebensdauer, Sichtbarkeit
Beispiele zur Rekursion
12.12.Zeichen und Zeichenketten
19.12.2.Formale Konzepte
Grammatiken und Formale Sprachen
(pdf) (Stand: 17.01.07)
09.01.Berechenbarkeit
16.01.Aufwandsabschätzungen - O-Notation
23.01.3.Programmierung
Weiterführende Konzepte
Aufzählungstypen, Verbunde, Listen
(pdf) (Stand: 22.01.07)
30.01.Stack, Queue, Binärbäume
und Baumdurchläufe
06.02.Graphen und einfach Graphalgorithmen
Packages
13.02.Exception-Handling
31.10.Beispiel-Programm Fakultät(adb)

Übungsblätter

Die Übungen werden über das System eClaus verwaltet und bearbeitet. Eine kleine Einführung sowie Username und Passwort gibt es in der ersten Vorlesungsstunde.

Die Programme der ersten beiden Übungsstunden können Sie herunterladen. Im AdaLogo können Sie sie über File->Open laden und nochmals nachvollziehen.

  1. Übung - 17.10. - Programm (Dreiecke - for, procedure, if-then-elsif-else)
  2. Übung - 24.10. - Programm (Stiftung, Hanoi - while, Rekursion)
  3. Übung - 24.10. - Quadrat mit L-Bausteinen (zum Multistep-Debuggen in Zeile 42 den Breakpoint setzen)
  1. Übungsblatt (pdf) - Abgabe und Besprechung: 31.10., 9h45, eClaus
  2. Übungsblatt (pdf) - Abgabe und Besprechung: 07.11., 9h45, eClaus
  3. Übungsblatt (pdf) - Abgabe und Besprechung: 14.11., 9h45, eClaus
  4. Übungsblatt (pdf) - Abgabe und Besprechung: 21.11., 9h45, eClaus
  5. Übungsblatt (pdf) - Abgabe und Besprechung: 28.11., 9h45, eClaus
  6. Übungsblatt (pdf) - Abgabe und Besprechung: 05.12., 9h45, eClaus
  7. Übungsblatt (pdf) - Abgabe und Besprechung: 12.12., 9h45, eClaus
  8. Übungsblatt (pdf) - Abgabe und Besprechung: 19.12., 9h45, eClaus
  9. Übungsblatt (pdf) - Abgabe und Besprechung: 09.01., 9h45, eClaus
  10. Übungsblatt (pdf) - Abgabe und Besprechung: 16.01., 9h45, eClaus
  11. Übungsblatt (pdf) - Abgabe und Besprechung: 23.01., 9h45, eClaus
  12. Übungsblatt (pdf) - Abgabe und Besprechung: 30.01., 9h45, eClaus, listenblatt12.ads, listenblatt12.adb, testblatt12.adb
  13. Übungsblatt (pdf) - Abgabe und Besprechung: 06.02., 9h45, eClaus
  14. Übungsblatt (pdf) - Abgabe und Besprechung: 13.02., 9h45, eClaus