01. Übungsblatt - Technische Universität Braunschweig

Werbung
Technische Universität Braunschweig
Institut für Programmierung und Reaktive Systeme
Dr. Werner Struckmann
19. Oktober 2012
Programmieren I
1. Übungsblatt
Die Rechnerübungen beginnen in der zweiten Semesterwoche.
Sie können sich vom 19. bis 21. Oktober 2012 auf der Internet-Seite dieser Veranstaltung
zu den Rechnerübungen anmelden.
Wir bitten Sie dringend, sich in der Rechnerübung Ihrem Tutor vorzustellen.
Sie können sich einen Partner/eine Partnerin suchen und sich gemeinsam vorstellen.
Hinweis: Zur Arbeit an den Rechnern benötigen Sie eine y-Nummer. Falls Sie noch keine
y-Nummer besitzen, besorgen Sie sich bitte umgehend eine im Gauß-IT-Zentrum.
Die Aufgaben dieses Übungsblatts sollten während der Rechnerübungen vom 22.
bis zum 26. Oktober 2012 bearbeitet werden. Sie brauchen die Einzelheiten der JavaProgramme noch nicht zu verstehen.
Aufgabe 1: Melden Sie sich an einem der Rechner an. Ändern Sie Ihr Passwort. Gehen
Sie dabei wie folgt vor:
Nehmen Sie von einem Satz mit mindestens sechs Wörtern die Anfangsbuchstaben jedes Worts. Fügen Sie die Anzahl der Wörter des Satzes sowie zwei
feste Sonderzeichen hinzu.
Melden Sie sich anschließend ab und wieder an. Zur Änderung Ihres Passworts sollten Sie
das Web-Interface
https://www.tu-braunschweig.de/it/service-interaktiv/passwortaendern
verwenden.
Aufgabe 2: Am Ende dieses Aufgabenblatts finden Sie eine Zusammenstellung wichtiger
Unix-Kommandos. Lesen Sie die Manual-Seiten zu den Kommandos und informieren Sie
sich über ihre Optionen und Parameter.
Die bekanntesten Unix-Shells sind die Programme sh, ksh, bash, zsh, csh und tcsh.
Empfehlung: Machen Sie sie sich mit der bash-Shell oder der tcsh-Shell näher vertraut
und wählen Sie eines der beiden Programme zu Ihrer Lieblingsshell.
Sehen Sie sich in Ihrer Lieblingsshell insbesondere den Befehlspuffer, den Kommandozeileneditor, das Alias-Kommando sowie den Mechanismus zur Vervollständigung von
Namen gründlich an.
Einzelheiten zu den Kommandos und Shells können Sie auf den Folien zum Vorkurs
Informatik nachlesen. Weitere Literaturhinweise erhalten Sie in der Vorlesung und auf der
Internet-Seite dieser Veranstaltung.
Aufgabe 3: Legen Sie in Ihrem Home-Verzeichnis das Verzeichnis aufgabe03 an. Geben Sie mit einem Editor in diesem Verzeichnis die Datei ProduktUndQuotient.java mit
folgendem Inhalt ein. Die Auswahl des Editors bleibt Ihnen überlassen.
public class ProduktUndQuotient {
public static void main (String[] args) {
int i;
i = 232 * 67;
System.out.println(i);
i = 232 / 67;
System.out.println(i);
}
}
Übersetzen Sie das Programm mit dem Java-Compiler und führen Sie es anschließend mit
dem Java-Interpreter aus:
javac ProduktUndQuotient.java
java ProduktUndQuotient
Aufgabe 4: Was passiert, wenn Sie im Programm aus der vorigen Aufgabe a) ein Semikolon weglassen, b) 67 durch 0 ersetzen oder c) die Zeile int i durch int j austauschen?
Lesen Sie sehr genau die Meldungen des Compilers.
Aufgabe 5:
Erstellen Sie eine Datei mit dem Namen Exp.java und folgendem Inhalt:
public class Exp {
public static void main(String[] a) {
int
i = 0,
f = 1;
double s = 1.0;
System.out.printf("%3.8f%n",s);
for (i = 1; i <= 12; i++) {
f = f * i;
s = s + 1.0/f;
System.out.printf("%3.8f%n",s);
}
}
}
Der Text, den Sie soeben eingegeben haben, ist ein Java-Programm zur näherungsweisen
Berechnung der Zahl e = 2,71828 . . . Übersetzen Sie dieses Programm, indem Sie den
Befehl javac Exp.java ausführen. Starten Sie das übersetzte Programm durch den Befehl
java Exp. Sie erhalten als Ausgabe eine Folge von Näherungswerten für e. Was passiert,
wenn die Zeile s = s + 1.0/f; durch die Zeile s = s + 1/f; ersetzt wird?
–2–
Aufgabe 6: Ganz schön ärgerlich, wenn man einen dringenden Termin hat, am Bahnhof
auf den Zug wartet und dann die freundliche Durchsage „Wegen Gleisbauarbeiten hat der
gemäß Fahrplan um 13:47 Uhr ankommende Zug 23 Minuten Verspätung“ hört. Wann
kommt der Zug schließlich an?
Geben Sie einen Algorithmus an, der eine Uhrzeit in der Form „ab:cd Uhr“ und die
Verspätung in Minuten als Eingabe erhält und die Ankunftszeit berechnet. Berücksichtigen
Sie, dass die Verspätung mehr als eine Stunde betragen und der Zug auch nach Mitternacht
eintreffen kann.
Zur Formulierung Ihres Algorithmus können Sie zum Beispiel ein Flussdiagramm oder
ein Struktogramm (Nassi-Shneiderman-Diagramm) verwenden. Beispiele hierfür finden Sie
auf der Vorkurs-Seite in der PDF-Datei Folien 1 (Konzepte der Informatik). Beschreiben
Sie Ihren Algorithmus noch nicht als Java-Programm.
Wichtige Unix-Kommandos
Verzeichnisse
Shells
ls
cd
mkdir
rmdir
sh, ksh, bash, zsh, csh, tcsh, . . .
Anzeigen des Inhalts
Verzeichniswechsel
Anlegen eines Verzeichnisses
Löschen eines Verzeichnisses
Dateien
Editor
less
cp
mv
rm
diff
cat
lpr
Dateibearbeitung
Ansehen einer Datei
Kopieren einer Datei
Verschieben einer Datei
Löschen einer Datei
Vergleich von Dateien
Konkatenieren von Dateien
Drucken einer Datei
tcsh (als Beispiel)
tcsh
exit
setenv, unsetenv
set, unset
alias
history
Aufruf der Shell
Beenden der Shell
Umgebungsvariable
Shell-Variable
Abkürzungen
Befehlsliste
Umgebungsvariable:
HOME, USER, SHELL, PATH, . . .
tcsh-Variable:
home, user, shell, path, prompt, cwd, . . .
Editoren
gedit, nedit, vi, emacs, . . .
Informationen
Pfade
man
info
pwd
.
..
/
Anzeige des aktuellen Pfads
aktuelles Verzeichnis
übergeordnetes Verzeichnis
Wurzelverzeichnis
Manual-Seiten
Info-Seiten
Java
javac
java
–3–
Compiler
Interpreter
Herunterladen