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 (mechatronik/autip) - WS 2008/09

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


Dozent:Dr. Stefan Lewandowski
Termine:Vorlesung: Mi. 14h00-15h30, V38.03 (Informatikneubau)
Übungen: Mi. 15h45-17h15,V38.02


Aktuelle Hinweise

eClaus: aus gegebenen Anlass - falls Sie wegen eines abgelaufenen Zertifikats nicht auf das eClaus-System zugreifen können, erlauben Sie den Zugriff trotz des abgelaufenen Zertifikats (unter Firefox wird einem dies direkt als Option angeboten, beim IE wird es vermutlich nicht anders sein).

In der letzten Woche beginnen wieder die Übungen um 14h00 und Vorlesung um 15h45.

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 steht kostenlos im WWW zur Verfügung.

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.

Bei den Studierenden der letzten Jahre wurde zum Teil als Alternative zu AdaGIDE die Entwicklungsumgebung myAda verwendet - Sie haben die Wahl.


Skripte und Beispiel-Programme

15.10.   0.Einführung
AdaLogo: for-Schleifen, Prozeduren,
Fallunterscheidungen
   (pdf) (Stand: 14.10.08)
22.10.AdaLogo: while-Schleifen, Rekursion
1.Programmieren im Kleinen mit Ada 95
Algorithmen und Programme
(pdf) (Stand: 20.10.08)
29.10.Syntaxdiagramme, EBNF
Standarddatentypen integer
05.11.und float, strenges
Typkonzept in Ada 95,
Arithmetische Ausdrücke,
12.11.Boolesche Ausdrücke,
Bäume und Rechenbäume,
Subtypen, Bereiche, Arrays
19.11.Beispiel Sortieren durch Minimumsuche,
Blöcke, Übergabe-Mechanismen
26.11.Lebensdauer, Sichtbarkeit
Beispiele zur Rekursion
03.12.Zeichen und Zeichenketten
10.12.2.Formale Konzepte
Grammatiken und Formale Sprachen
(pdf) (Stand: 17.01.07)
17.12.Berechenbarkeit
07.01.Aufwandsabschätzungen - O-Notation
14.01.3.Programmierung
Weiterführende Konzepte
Aufzählungstypen, Verbunde, Listen
(pdf) (Stand: 22.01.07)
21.01.Stack, Queue, Binärbäume
und Baumdurchläufe
28.01.Graphen und einfach Graphalgorithmen
Packages
04.02.Exception-Handling
Generizität
29.10.Beispiel-Programm Fakultät(adb)
05.11.Beispiel-Programm Studienstiftung(adb)
12.11.Beispiel-Programm Sortieren(adb)
04.02.Beispiel-Programme Generizität/Exceptions(gensort.adb, genexcept.adb (Dateien ggf. umbenennen V1 (roh), V2 (mit exceptions), V3 (und generisch), V4 (noch eine Variante)))

Unterlagen der Hauptfach-Vorlesung finden Sie hier. Zur Übersicht ist hierbei insbesondere die Planung interessant, da Sie ab dem 2. Semester diese Veranstaltung besuchen. Ebenso gibt hier noch viele Links zu Ada und allgemeine Programmierrichtlinien.


Ü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 (nach den Terminen hier) herunterladen. Im AdaLogo können Sie sie über File->Open laden und nochmals nachvollziehen.

  1. Übung - 15.10. - Programm (Dreiecke - for, procedure, if-then-elsif-else - Stiftung - while)
  2. Übung - 22.10. - Programm (Hanoi, Fraktale, Baum des Pythagoras - Rekursion)
  3. Übung - 22.10. - Quadrat mit L-Bausteinen (zum Multistep-Debuggen in Zeile 43 den Breakpoint setzen)
  1. Übungsblatt (pdf) - Abgabe und Besprechung: 29.10., 9h45, eClaus
  2. Übungsblatt (pdf) - Abgabe und Besprechung: 05.11., 9h45, eClaus
  3. Übungsblatt (pdf) - Abgabe und Besprechung: 12.11., 9h45, eClaus
  4. Übungsblatt (pdf) - Abgabe und Besprechung: 19.11., 9h45, eClaus
  5. Übungsblatt (pdf) - Abgabe und Besprechung: 26.11., 9h45, eClaus
  6. Übungsblatt (pdf) - Abgabe und Besprechung: 03.12., 9h45, eClaus
  7. Übungsblatt (pdf) - Abgabe und Besprechung: 10.12., 9h45, eClaus
  8. Übungsblatt (pdf) - Abgabe und Besprechung: 17.12., 9h45, eClaus
  9. Übungsblatt (pdf) - Abgabe und Besprechung: 07.01., 9h45, eClaus
  10. Übungsblatt (pdf) - Abgabe und Besprechung: 14.01., 9h45, eClaus
  11. Übungsblatt (pdf) - Abgabe und Besprechung: 21.01., 9h45, eClaus, listenblatt11.ads, listenblatt11.adb, testblatt11.adb
  12. Übungsblatt (pdf) - Abgabe und Besprechung: 28.01., 9h45, eClaus
  13. Übungsblatt (pdf) - Abgabe und Besprechung: 04.02., 9h45, eClaus
  14. Übungsblatt (pdf) - Abgabe und Besprechung: 11.02., 9h45, eClaus