Tags:
create new tag
, view all tags

Strukturiertes Programmieren - Übung 2019/20

ACHTUNG: In diesem Semester transferieren wir die Übung von diesem Wiki zu Moodle. Bis die abgeschlossen ist gilt, dass aktuelle Informationen zur Übung hier und auf der Moodle-Seite zu finden sind.

Aktuelle Übungsblätter finden Sie zunächst bei Moodle. Falls nicht, bitte hier nachschauen (etwa ganz unten). Verwenden Sie einfach das Blatt vom letzten Jahr, sollte es noch keine neue Version für das aktuelle Semester geben.

JAVA Lernen

Literatur und Material zum Üben und JAVA Lernen (EMPFEHLUNG)

Für die Übung verwende ich Auszüge aus der ersten Hälfte des folgenden Buches:

http://introcs.cs.princeton.edu/java/home

Auf den Webseiten zum Buch finden Sie auch eine sehr nützliche Einführung in JAVA und viele spannende Übungen.

Der JAVA-Teil des Buches ist auch separat erhältlich. Und eine 2011er Version auch auf Deutsch. Sedgewick/Wayne 2011

In den ersten Wochen wollen wir uns im Wesentlichen Inhalte erarbeiten, die Sie hier finden:

Dazu kommt die Definition (statischer) Funktionen:

Tutorials (nicht unbedingt für den Anfang)

Ferner können Sie zu ausgewählten Themen entsprechende Tutorials lesen. Dies beginnt aber schon früh mit der objektorientierten Programmierung und ind daher für den Einstig für uns etwas zu heavy.

zu Blatt 1: Literatur und Material zur Übung

Das Übungsblatt finden Sie unten, in der Tabelle.

Ergänzende Informationen zur Rechnerumgbung: Tips zur Übertragung von Dateien:

ssh       - Einloggen auf einem anderen Rechner
sftp       - Dateien sicher übertragen  
scp       - Dateien über das Internet kopieren 
unison  - Verzeichnisse synchronisieren (Problem aber wenn Versionen nicht passen)
rsync    - Verzeichnisse kopieren
 

Unter Windows können Sie putty verwenden.

zu Blatt 2

JAVA Hello World

zu Blatt 3

IF-Statement und Schleifen in JAVA

Datentypen

zu Blatt 4

Arrays

Funktionen

Datenfile Gehirn eines Wurms

Unten finden Sie einen Graphen des neuronalen Netzwerks von C. Elegans:

Gibt es eine Verbindung von Neuron 24 zu Neuron 57 ? Gibt es eine Verbindung von Neuron 24 zu Neuron 55 ?

Können Sie zwei Neuronen v,w finden, sodass es einen (gerichteten) Weg von v nach w gibt, aber keinen Weg von w nach v ?

Von welchem Neuron aus erreicht man die meisten anderen Neuronen?

Welche Nummer (id) welchem Neuron entspricht, finden Sie in der .gml-Datei unten. Das Netzwerk ist aber schon etwas älter. Ein aktuelles Netzwerk finden Sie hier:

http://wormweb.org/neuralnet#c=BAG&m=1

Allerdings leider nicht in einem für diese Übung leicht zu verwendenden Format.

Übung 5

Stdlib und Daten Einlesen

Unter Windows gibt es Probleme Daten via stdin einzulesen. Alternativ können wir leicht wie folgt Daten aus einer Textdatei einlesen:

        In in = new In("c:/tmp/datafile.txt");
        while (!in.isEmpty()) {
            double  input = in.readDouble();
            System.out.println(input);
        }
Damit Template für die Übung:
public static void main(String[] args) {
  In in = new In("C:/pfad/USA.txt");         // eventuell den richtigen Pfad vor den Dateinamen
  double x0 = in.readDouble();
  double y0 = ...
  double x1 = ...
  double y1 = ...
  StdDraw.setXscale(x0, x1);
  StdDraw.setYscale(...);
  while (!StdIn.isEmpty()) {
  ...
  StdDraw.point(x,y);
  ...
  }
  StdDraw.show(0);
}
  • Problem: Datei wird nicht gefunden: Es könnten unsichtbare Zeichen im Dateinamen vorhanden sein. Dann ganze Zeile löschen und von Hand eintippen.

Freie Übung Empfehlung

JAVA Kenntnisse

Was sollten Sie bis hier können:

  • Generelle Struktur eines einfachen JAVA-Programms (Hello World)
  • Funktionen: Statische Funktionen definieren und aufrufen
  • Einfache Datentypen (int, double, String) nutzen, Variablen definieren und einfache Rechenoperationen
  • if, for, while (Schleifen und bedingte Verzweigung)
  • Arrays: Einfache ein-dimensionale Arrays erzeugen, Einträge setzen und Werte auslesen, Länge bestimmen (a.length).

Dazu;

  • Gültigkeitsberich einer definierten Variable und eines Funktionsargumentes kennen.
  • Bedeutung der geschweiften Klammern und des Semikolons

Übung 9

Übung 13: Spezielle Bemerkungen (für später)

zu Übung 14: Alternative Übung 14 - Spieltheorie

Übung 15 - für Geoinformatik (10 ECTS)

Übungsblätter im Folgenden

ACHTUNG: Aktuelle Übungsblätter zunächt in Moodle suchen. Nur falls dort nicht fündig, hier nachschauen.

Topic attachments
I Attachment History Action Size Date Who Comment
PDFpdf StdLibInstall.pdf r1 manage 95.0 K 2015-11-10 - 15:07 PeterDittrich zu Blatt5: Installation der stdlib
PDFpdf blatt01.pdf r3 r2 r1 manage 134.0 K 2019-10-21 - 09:06 PeterDittrich Blatt 1: JAVA und Rechnerumgebung (LINUX shell)
PDFpdf blatt02.pdf r7 r6 r5 r4 r3 manage 263.9 K 2019-10-21 - 09:06 PeterDittrich Blatt 2 - JAVA und Informationssysteme
PDFpdf blatt03.pdf r3 r2 r1 manage 179.4 K 2017-10-30 - 10:02 PeterDittrich Blatt 3 - Zahlendarstellung, JAVA Übung III (Schleifen, Zahlendarstellung)
PDFpdf blatt04.pdf r5 r4 r3 r2 r1 manage 188.0 K 2017-11-06 - 08:25 PeterDittrich Blatt 4 - Darstellung von Algorithmen, Termersetzungssysteme, JAVA IV (Funktionen und Felder)
PDFpdf blatt05.pdf r5 r4 r3 r2 r1 manage 196.5 K 2017-11-17 - 12:11 PeterDittrich Blatt 5 - Rechenstruktur, JAVA Übung: Ausdrücke, Daten einlesen, stdlib.jar installieren
PDFpdf blatt06.pdf r5 r4 r3 r2 r1 manage 278.7 K 2018-11-19 - 16:23 PeterDittrich Blatt 6 - JAVA, Ausdrücke, Verzweigungen, Schleifen, Funktionen, Semantik
PDFpdf blatt07.pdf r8 r7 r6 r5 r4 manage 198.6 K 2018-11-29 - 07:41 PeterDittrich Blatt 7: Felder, Postfix, Stack, Funktionen
PDFpdf blatt08.pdf r6 r5 r4 r3 r2 manage 202.1 K 2017-12-15 - 11:44 PeterDittrich Blatt 8: Überladen, Funktionen, Felder, CA, Klassen, Paar
PDFpdf blatt09.pdf r5 r4 r3 r2 r1 manage 183.6 K 2017-12-15 - 11:44 PeterDittrich Blatt 9: Klassen, Liste, Namensraum, Pakete, Ausnahmen
PDFpdf blatt10.pdf r5 r4 r3 r2 r1 manage 193.5 K 2017-12-19 - 14:04 PeterDittrich Blatt 10: Funktionale vs. Datenabstraktion, Random Walk, Ableiten, Drunken Turtle
PDFpdf blatt11.pdf r7 r6 r5 r4 r3 manage 176.2 K 2018-01-12 - 15:33 PeterDittrich Blatt 11: Abtract Class, Interface, Prority Queue
PDFpdf blatt12.pdf r6 r5 r4 r3 r2 manage 177.4 K 2018-01-15 - 10:31 PeterDittrich Blatt 12: Generisches Programmieren, generische Klassen, generische Methoden, Iteratoren
PDFpdf blatt13.pdf r3 r2 r1 manage 214.6 K 2017-01-17 - 08:47 PeterDittrich Namenlose Funktionen, Lambda, Streams, Rekursion, Lazy Evaluation, Surf-Robot
PDFpdf blatt14.pdf r3 r2 r1 manage 177.0 K 2018-01-29 - 10:35 PeterDittrich Rekursion, Dynamische Programmierung. Alternative Übung siehe oben !!!
Unknown file formatgml wurm.gml r1 manage 141.3 K 2016-11-10 - 13:06 PeterDittrich zu Blatt 4: Neural network of C. Elegans cf. D. J. Watts and S. H. Strogatz, Nature 393, 440-442 (1998)
Java source code filejava wurm.java r1 manage 20.8 K 2016-11-10 - 13:05 PeterDittrich zu Blatt 4: Neural network of C. Elegans cf. D. J. Watts and S. H. Strogatz, Nature 393, 440-442 (1998)
Topic revision: r83 - 2019-10-21 - PeterDittrich
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback

antalya escort bursa escort eskisehir escort istanbul escort izmir escort