Beruflich Dokumente
Kultur Dokumente
Strukturiertes Programmieren
WS 2023/24
Allgemeine Hinweise:
1. Abgabe immer via Moodle bis zum nächsten Montag 12:00 (nicht später!).
2. Bearbeitungszeit: ca. 8h
3. Maximale Punktzahl: 2 Punkte
4. Sind Sie mit JAVA schon vertraut? Machen Sie eine alternative Übung mit dens elben Zielen
(Rechnerumgebung kennenlernen).
5. Wichtig: Alle Quellen nennen! Bei Gruppenarbeit Namen und Matrikelnummer der
Gruppenmitglieder nennen.
Ziele:
1. Grundlegendes beherrschen der Linux-Umgebung
2. Ein JAVA- P r o gr a m m erstellen und übersetzen können.
1 Wiederholung (2h)
Arbeiten Sie das Skript (Folien) zur laufenden Vorlesung durch; insbesondere die Konzepte: Algorithmus (!),
Programm, Information (knifflig), Daten und Kodierung. Schauen Sie sich auch die Folien der
kommenden Vorlesung an.
Alles klar soweit? Was
ist unklar geblieben?
Investierte Zeit neben
den 6 SWS Präsenzver-
anstaltung:
1
2 Praktische Übung - LINUX und JAVA (4h)
Machen Sie sich mit der Rechnerumgebung vertraut (LINUX Shell), geben Sie ein JAVA-Programm
ein, übersetzen Sie es und führen Sie es aus. Geben Sie (a) das Programm und (b) seine
Ausgabe ab ineinem Dokument (PDF). Siehe Anhang für weitere Details.
2
P. Dittrich, V. Wesp, FSU Jena, 16.10.23
Anhang zu Blatt 1
[1] R. Sedgewick und K. Wayne, Einführung in die Programmierung mit Java, Pearson, München,
2011
Damit lernt man ruckzuck Programmieren und auch etwas JAVA. Es wird durch sehr nützliche
Informationen im Netz ergänzt. Aus meiner Sicht, sehr empfehlenswert.
Zur Übung nun folgendes:
1.Computerumgebung
Während der Übung im Pool arbeiten wir mit dem Betriebssystem Linux. Falls Sie zu Hause primär
Windows verwenden, können Sie JAVA dort installieren. Wollen Sie auch Linux unter Windows
nutzen empfiehlt sich eine Linux-Installation wie Ubuntu LTS mit Hilfe von VirtualBox o.ä.
Probieren Sie folgende Kommandos und finden Sie heraus, was sie bedeuten:
ls –l
ls –la
man ls (Finden Sie heraus, was die optionen „-l“ und „-a“ bedeuten)
ls
cd test
ls –la
cd ..
chmod 0700 test (Verzeichnis „test“ nur für sich selbst lesbar und schreibar)
ls –l test
chmod 0000 test
cd test
chmod 0755 test (Verzeichnis „test“ für alle anderen lesbar machen)
ls –l test
rmdir test
pwd
mkdir uebung
cd uebung
man echo
echo bla
echo bla > test.txt („>“ leitet Ausgabe in eine Datei, hier „test.txt“, um)ls
cat test.txt
less test.txt
emacs test.txt
ps (was läuft)
kill -9 <pid> (beendet einen Prozess, geben Sie als <pid> die PID von emacs ein.)
(mit q verlassen)
emacs test.txt & (Startet emacs „im Hintergrund“, entspricht emacs test.txt und Strg-z)
man man
Sie können nun über die Kommandozeile: Verzeichnisse anlegen und löschen. Sich in
Verzeichnisstrukturen bewegen. Textdateien editieren und ausdrucken. Wildgewordene
Programme „killen“ (ps, kill -9 <pid>). Sehen was so läuft (top, ps, who).
Austausch von Dateien zwischen Uni und zu Hause:
• git : git.uni-jena.de
Die FSU bietet gitlab. Ein Repository, das sich Änderungen der Dateien merkt und
archiviert.
Sollten Sie können.
Nutzung am Anfang knifflig. Später extrem nützlich und mächtig.
• Nextcloud : cloud.uni-jena.de
Offene Cloudlösung. Auch von der FSU angeboten. Keine Verfolgung von Änderungen.
Sollten Sie können.
Kann im Prinzip transparent in das Dateisystem eingebunden werden. Auch auf
Smartphones, Tablets, etc.
• unison : Nützlich um Verzeichnisse über das Internet zu synchronisieren. Aber ziemliche
Probleme, wenn die Version von client und server nicht übereinstimmen.
Keine Empfehlung.
3. Erste Schritte mit JAVA (Yea!)
Wir wollen zunächst lernen, JAVA ohne eine integrierte Entwicklungsumgebung zu nutzen.
Falls JAVA nicht bereits installiert ist, finden Sie bspw. hier Informationen, die Sie bei der
Installation unterstützen (aber auch anderes Nützliches):
www.cs.princeton.edu/IntroProgramming
a) Programm erzeugen
emacs HelloWorld.java
Und tippen (nicht kopieren!) das folgende JAVA Programm ein:
public class HelloWorld
{
public static void main(String[] args)
{
System.out.print(“Hello World!“);
System.out.println();
}
}
Dies ist ein vollständiges JAVA-Programm. Es besteht aus einer Klasse namens „HelloWorld“
mit nur einer Methode namens „main“. Innerhalb dieser Methode stehen zwei Anweisungen,
die ausgeführt werden, wenn wir das Programm starten (s. unten). Diese Anweisungen geben
dem Computer den Befehl „Hello World!“ auszugeben und den Cursor in die nächste Zeile zu
bewegen.
(JAVA erlaubt leider nicht einfach nur eine Anweisung zu geben. Es muss mindestens eine Klasse mit einer
Methode „main“ definiert werden, in der sich dann die Anweisungen befinden. Was eine Klasse und
Methoden sind, lernen wir später.)
java HelloWorld
d) Java Byte-Code anschauen (muss nicht sein, aber wer‘s will …)emacs
HelloWorld.class
im Emacs: „Esc“ drücken, „x“ drücken, „hexl-mode“ eingeben und Returntaste drücken.
4. Weitere Übungen
1.) Schreiben Sie ein Programm, das „Hello World!“ zehn Mal ausgibt.
(Das soweit gelernte genügt dafür.)
2.) Probieren Sie, was passiert, wenn Sie folgende Wörter in HelloWorld.java weglassen bzw.
fehlerhaft schreiben:
a. public
b. static
c. void
d. args