Skip to content

{ Tag Archives } homework

Hausaufgabe 7, Abgabe bis 16.02.2013

Die Hausaufgabe 7 gibt es hier zum Download: SE 2, WS 12/13, Hausaufgabe 7

Die für die Aufgabe benötigte SDMLib Bibliothek kann hier heruntergeladen werden: SDMLib.zip

Wichtig: Deadline für die Abgabe ist Sonntag der 16.02.2013 über das Hausaufgabenabgabesystem!

Also tagged ,

Erinnerung Hausaufgabe 4

Die Abgabe ist bis Di, den 12.02.2012 23:59 Uhr fällig!

Für diese Aufgabe soll der mit Hilfe von von BCEL http://commons.apache.org/bcel/ (Hinweise unter http://commons.apache.org/bcel/manual.html) ein Compiler entwickelt werden. Dieser soll folgendes unterstützen:

  • als Eingabe dienen mehrstellige Zahlen >= 0 inklusive beliebigen Nachkommastellen, bspw. 62.231
  • Alternativ muss auch die Exponentialschreibweise unterstützt werden, bspw. 3.81E-6 (dabei gilt: positive und negative Exponenten müssen unterstützt werden)
  • Addition (+) wird korrekt ausgewertet, bspw. 1.33+1.4 ergibt 2.73
  • Subtraktion (-) wird korrekt ausgewertet, bspw. 2.61-1.3 ergibt 1.31
  • Multiplikation (*) wird korrekt ausgewertet, bspw. 5.2*1.5 ergibt 1,8
  • Division (/) wird korrekt ausgewertet, bspw. 8.4/2.8 ergibt 3
  • Geklammerte Ausdrücke werden korrekt ausgewertet, bspw. (3+4)*5 ergibt 35
  • ’Punkt vor Strich’ wird korrekt ausgewertet, bspw. 3+4*5 ergibt 23
  • Es muss möglich sein (mehrbuchstabige) Variablen zu definieren, bspw. ahsd=…
  • Zuweisungen zu Variablen sollen mit Zahlen, anderen Variablen oder eine Mischung dieser möglich sein, bspw. x=y+(3-z)
  • Mehrere Ausdrücke, bspw. y=2 z=5 x=y+(3-z)
  • ‘If’-’else’-Abfragen müssen unterstützt werden
    • Schachtelung soll möglich sein, d.h. so etwas wie if (…) { if (…) {}else{} }else{}
    • für die If-Bedingung sollen mindestens ==, < und > in Verbindung mit Variablen, Dezimahl- oder Exponentialzahlen möglich sein
    • die If-Bedingung soll beliebig komplex mit Hilfe von &, | und Klammerungen aufgebaut sein können, bspw.  if ( (x < y) & 3 < z | 3.81E-6  == y ) …
  • ‘While’-Schleifen müssen unterstützt werden
    • für die While-Bedingung sollen mindestens ==, < und > in Verbindung mit Variablen, Dezimahl- oder Exponentialzahlen möglich sein, bspw. while x < 22 …
  • Funktionen mit und ohne Parameter müssen definiert und aufgerufen werden können
    • in den Funktionsrümpfen müssen alle hier aufgeführten Strukturen nutzbar sein, d.h. if, while, usw.
  • rekursive Funktionsaufrufe müssen unterstützt werden, bspw. function fibu (number){ if number < 2 {number} else {fibu ( number – 1 ) + fibu ( number – 2 )} }
Zudem sollte eine aussagekräftige Fehlerbehandlung erfolgen, d.h. falls die Generierung einer Class-Datei nicht möglich ist, sollte die fehlerhafte Stelle identifiziert und dem Benutzer ausgegeben werden.
Automatisch korrigierbare Fehler, bspw. eine fehlerhafte Klammerung sollten (sinnvoll) behoben werden und NICHT zu einem Fehlschlagen der Generierung der Class-Datei führen, d.h. ’1+2*(3-1′ sollte zu ’1+2*(3-1)‘ ergänzt werden. Das betrifft auch komplexere Ausdrücke wie: ‘if(3>2){1+2*(3-1}else{5}’ sollte zu ‘if(3>2){1+2*(3-1)}else{5}‘ ergänzt werden. 
WICHTIG:
Für alle Funktionalitäten müssen Unit Tests mitgeliefert werden. Jede Funktionalität, für die kein Unit Test vorliegt, gilt als nicht implementiert und kann nicht bewertet werden. Diese Abgabe muss als separates Eclipse-Projekt implementiert und abgegeben werden. Sofern nicht explizit zugelassen, dürfen zusätzliche Bibliotheken Dritter nicht verwendet werden. Im Zweifel bitte bei mir rückversichern.
Also tagged ,

Tipp für Task Contentlabel

Hi,

um den Code eines Tasks im Diagramm darstellen zu können, könnt ihr an Attribute im Klassendiagramm die Eugenia Annotation “@gmf.label” schreiben. Aus dem Eugenia Tutorial:

gmf.label (for EAttribute)
Defines additional labels for the containing EClass. These labels will be displayed underneath the default label for the containing EClass. It accepts the following details:
  • label.readOnly (optional) : A value of true denotes that the label cannot be changed in the generated diagram editor.

 

Also tagged ,

Hausaufgabe 6, Abgabe bis 03.02.2013

Die Hausaufgabe 6 gibt es hier zum Download: SE 2, WS 12/13, Hausaufgabe 6

Wichtig: Deadline für die Abgabe ist Sonntag der 02.02.2013 über das Hausaufgabenabgabesystem!

Also tagged ,

Hausaufgabe 5: Ab morgen (22.01.2013) Mittag!

Die Formale Hausaufgabe 5 verspätet sich etwas und wird ab morgen (22.01.2013) hier zum Download bereit stehen. Als Ausgleich wird es in der Hausaufgabe ein paar mehr nützliche Tipps geben.

Also tagged ,

Hausaufgabe 5, Abgabe bis 23.12.2012

Die Hausaufgabe 5 gibt es hier zum Download: SE 2, WS 12/13, Hausaufgabe 5

Wichtig: Deadline für die Abgabe ist Sonntag der 23.12.2012 über das Hausaufgabenabgabesystem!

Also tagged ,

Hausaufgabe 4, Abgabe bis 09.12.2012

Die Hausaufgabe 4 gibt es hier zum Download: SE 2, WS 12/13, Hausaufgabe 4

Für alle, die mit der Musterlösung von Hausaufgabe 3 weiterarbeiten wollen, gibt es das Eclipse Projekt hier zum runterladen: Exercise 3 sample solution

Wichtig: Deadline für die Abgabe ist Sonntag der 09.12.2012 über das Hausaufgabenabgabesystem!

Also tagged ,

Hausaufgabe 3, Abgabe bis 02.12.2012

Die Hausaufgabe 3 gibt es hier zum Download: SE 2, WS 12/13, Hausaufgabe 3.

Für alle, die mit der Musterlösung von Hausaufgabe 2 weiterarbeiten wollen, gibt es das Eclipse Projekt hier zum runterladen: Exercise 2 sample solution

Wichtig: Deadline für die Abgabe ist Sonntag der 02.12.2012 über das Hausaufgabenabgabesystem!

Also tagged ,

Musterlösung zu Hausaufgabe 2

Die Musterlösung zu Hausaufgabe 2 könnt ihr hier herunterladen: Exercise 2 sample solution

Also tagged ,

Info zu Hausaufgabe 2

Hier ein Hinweis zur Hausaufgabe 2, Aufgabe 3:

"[...] Achten Sie dabei darauf, dass die Darstellung der abgebildeten Grafik so nah wie möglich kommt. [...]"

Damit ist gemeint “alles was Eugenia hergibt”. Mit anderen Worten: Ihr müsst euch nicht selbst in EOL oder dergleichen einarbeiten, manuell GMF Artefakte oder gar Quellcode editieren!

 

Also tagged ,