Aufgabe 1 Aufgabe 2

Werbung
Übungen zu Algorithmik I
Wintersemester 2004/05
Prof. Dr. Herbert Stoyan, Dr.-Ing. Bernd Ludwig
Aufgabenblatt 1 (Lösungen) vom 18.10.2004
Aufgabe 1
Einige Grundbegriffe der Algorithmik
30 Punkte
1. Vgl. Skript!
(a) Endliche 1 Beschreibung 1 einer Berechnung einer Probleml ösung 2
4
(b) Umsetzung 1 eines Algorithmus 1 in einer bestimmten 1 Programmiersprache
1
4
(c) Formale Sprache 2 zur Formulierung von Computerprogrammen 2
4
(d) Loslösung 2 von der Darstellung von Daten in einem Rechner 1 hin zu einer
problemorientierten Sichtweise 1
2. effektiv: Berechnung braucht endlich viele Schritte; 3
effizient: Berechnung braucht möglichst wenige Schritte, Zeit, Resourcen 3
6
3. Objekt: abstrakte Einheit eines Programms, das zur Laufzeit entsteht, 1 einen inneren
Zustand hat, und Methoden ausführen kann. 1
Klasse: Vor der Laufzeit feststehende terminologische Einheit, 1 die Objekte mit denselben Methoden und Feldern gruppiert. 1
4
4. Methode: Formulierung einer Vorschrift, 2 wie die Objekte einer Klasse eine gegebene
Funktion berechnen sollen. 2
4
30
Aufgabe 2
Erstellen und Compilieren von Java-Programmen
Tafelübung
1. Festlegung von Parameterwerten für die Ausführung von Programmen unter Linux
2. je nach shell anders; in der tcsh über setenv. Zu Details siehe man setenv!
3. Die Umgebungsvariable CLASSPATH listet alle Verzeichnisse und Klassenarchieve auf,
in denen beim aktuellen Compiliervorgang bzw. Programmstart nach extern definierten
Klassen gesucht wird.
4. javac test.java
1
5. java test
Aufgabe 3
Hello, world!
Tafelübung
1. Siehe HelloWorld.java!
2. Eine public deklarierte Klasse, die heißt, wie die Datei (ohne .java) und die Methode
public static void main (String [] args).
Aufgabe 4
Konventionen für Code und Kommentare
Tafelübung
1. Siehe links!
2. Siehe Lösung zu Aufgabe 3.1!
3. javadoc HelloWorld.java
4. Siehe Kommentar zu main in Aufgabe 3.1! Alternative: Lege ein Objekt von HelloWorld
(mittels new) an und rufe dort eine Methode auf, die die Ausgabe des Textes durchf ührt.
Aufgabe 5
Konventionen für Code und Kommentare
30 Punkte
1. Siehe ALGOFileReader.java!
Lernziele:
• Man braucht Konstruktoren, die private Variablen der Instanz richtig intialisieren.
4
4
• main oder eine Methode von ALGOFileReader, die das angegebene CodeFragment nutzt. Wird die Datei nicht byteweise in einer Schleife eingelesen, muss
die Länge der Datei ermittelt und dann die Datei im Ganzen eingelesen werden. 5
5
• Dateiinhalt schrittweise in string speichern und dann ausgeben. 4
• Fehlerbehandlung: exceptions von read, open und close abfangen. 5
4
5
2. Siehe ALGOFileReader.java!
Lernziele:
• Variablen-, Methoden- und Klassennamen entsprechend Konvention 3
2
3
• Dokumentation aller Konstruktoren und Methoden 3
• Kommentare zur Implementierung 3
3
3
3. javadoc ALGOFileReader.java
Lernziel: fehler- und warnungsfreier Durchlauf von javadoc 3
3
30
3
Herunterladen