CoMa

Computerorientierte Mathematik

TU logo

Inhalt
.

Institut
 .  Vorlesungen
 .  .  CoMa
 .  .  .  ehemalige Zyklen
 .  .  .  .  CoMaI WS02/03
 .  .  .  .  .  Literatur
 .  .  .  .  .  Programmierregeln
 .  .  .  .  . Mailarchiv
 .  .  .  .  .  6. Programmieraufgabe
 .  .  .  .  .  7. Programmieraufgabe

back zurück

Mailarchiv zur Computerorientierte Mathematik I

Hier stehen alle Emails, die von uns an alle CoMa-Gruppen gleichzeitig geschickt wurden. Es handelt sich dabei im Wesentlichen um Ankündigungen, Aufgabenhinweise und -korrekturen.

Das gibt Euch die Möglichkeit, den Inhalt versehentlich von Euch gelöschter Emails (erneut) zu lesen.

Inhalt

Mon Oct 21 13:12:49 CEST 2002, co1-003@pool.math.tu-berlin.de
fehlende Matrikelnummern
Wed Oct 23 09:43:50 MEST 2002, co1-003@pool.math.tu-berlin.de
Quiz
Wed Oct 23 09:47:52 MEST 2002, co1-003@pool.math.tu-berlin.de
deadline fuer Members-Datei
Wed Oct 23 14:04:47 MEST 2002, co1-003@pool.math.tu-berlin.de
Coma-CD vergriffen
Fri Oct 25 10:48:42 MEST 2002, co1-003@pool.math.tu-berlin.de
Tipps zur 1. PAufg.
Fri Oct 25 11:27:25 MEST 2002, co1-003@pool.math.tu-berlin.de
Tipps zur 1. PAufg.
Mon Oct 28 11:56:24 MET 2002, co1-003@pool.math.tu-berlin.de
2. Programmieraufgabe im Netz
Tue Oct 29 10:51:50 MET 2002, co1-003@pool.math.tu-berlin.de
Tutorien: ab 8.11.
Tue Oct 29 15:08:11 MET 2002, co1-003@pool.math.tu-berlin.de
Tipp zur 2. P-Aufgabe (wirklich korrigiert!)
Tue Oct 29 15:10:21 MET 2002, co1-003@pool.math.tu-berlin.de
Tipp zur 2. P-Aufgabe (wirklich korrigiert!)
Tue Nov 5 18:40:06 MET 2002, co1-002@pool.math.tu-berlin.de
Anmerkungen zu Theorieblatt 3
Wed Nov 6 08:38:24 MET 2002, co1-002@pool.math.tu-berlin.de
Nachtrag Nachtrag Blatt 3
Thu Nov 7 11:37:05 MET 2002, co1-002@pool.math.tu-berlin.de
Schoene Gruesse...
Wed Nov 13 09:50:00 MET 2002, co1-003@pool.math.tu-berlin.de
prog3
Thu Nov 14 17:22:59 MET 2002, co1-003@pool.math.tu-berlin.de
3. Programm: Gliederung in Methoden
Wed Nov 20 15:47:29 MET 2002, co1-003@pool.math.tu-berlin.de
3. Programm: Fristverlaengerung
Thu Nov 28 16:40:36 MET 2002, co1-003@pool.math.tu-berlin.de
Tipps zum 4. Prog.
Fri Dec 6 15:10:01 MET 2002, co1-002@pool.math.tu-berlin.de
Punkteliste und Klausur
Wed Dec 11 15:22:20 MET 2002, co1-003@pool.math.tu-berlin.de
Gauss
Mon Dec 16 14:48:49 MET 2002, co1-003@pool.math.tu-berlin.de
5. Programm: Testen
Tue Dec 17 10:56:18 MET 2002, co1-003@pool.math.tu-berlin.de
5. Progamm: Instanz
Tue Dec 17 11:03:44 MET 2002, co1-003@pool.math.tu-berlin.de
Abgabe des 8. Blatts
Tue Dec 17 11:34:31 MET 2002, co1-003@pool.math.tu-berlin.de
Test: Fraction
Tue Dec 17 12:21:07 MET 2002, co1-003@pool.math.tu-berlin.de
2. Einsicht
Tue Dec 17 13:31:15 MET 2002, co1-003@pool.math.tu-berlin.de
Gruppen-Neu-Einteilung
Wed Dec 18 10:38:34 MET 2002, co1-003@pool.math.tu-berlin.de
Wiederholungs-Ruecksprachen
Wed Dec 18 13:41:07 MET 2002, co1-003@pool.math.tu-berlin.de
6. Programmieraufgabe
Fri Dec 20 10:37:23 MET 2002, co1-003@pool.math.tu-berlin.de
Bellman-Ford
Fri Jan 17 10:01:58 MET 2003, co1-003@pool.math.tu-berlin.de
Roboter
Sun Jan 26 12:36:23 MET 2003, co1-003@pool.math.tu-berlin.de
8. PAufgabe: SortAlgorithm-Interface
Fri Jan 31 10:12:53 MET 2003, co1-003@pool.math.tu-berlin.de
Scheinbed. fuer ITM/PI
Wed Feb 5 13:15:29 MET 2003, co1-002@pool.math.tu-berlin.de
Uebung 04.02.2003
Thu Feb 6 13:51:32 MET 2003, co1-003@pool.math.tu-berlin.de
Regeln fuer die Abnahmen
Fri Feb 7 09:55:56 MET 2003, co1-003@pool.math.tu-berlin.de
8. PAufg: 2 uebliche Fehler
Tue Feb 18 10:49:24 MET 2003, co1-003@pool.math.tu-berlin.de
Scheine/WH-Rueckspr

Emails


From: co1-003@pool.math.tu-berlin.de
Date: Mon Oct 21 13:12:49 CEST 2002
Subject: fehlende Matrikelnummern

Hallo allerseits,

es gibt einige von euch, die noch keine
Matrikelnummer haben. Schreibt dann
bitte "000 000" in die Datei "Members".

Sobald ihr die Matrikelnummer mitgeteilt
bekommt, tragt diese bitte in der Datei 
"Members" ein und schickt uns eine eMail
mit dem Subject "Matrikelnummer".

Gruss,

Alex



From: co1-003@pool.math.tu-berlin.de
Date: Wed Oct 23 09:43:50 MEST 2002
Subject: Quiz

Hallo allerseits,

hier die falsche vollstaendige Induktion aus der Uebung
als Quiz. Aufloesung in der naechsten Uebung.

  Behauptung: Wenn sich unter n Tieren ein Elefant befindet, 
  dann sind alle diese n Tiere Elefanten.

  Beweis durch vollstaendige Induktion ueber n: 
  IA: Wenn unter 1 Tier sich 1 Elefant befindet, 
      dann sind alle 1 Tiere Elefanten.

  IS: n --> n+1 
    IVor: Sei eine beliebige, aber feste Zahl n.
          Wenn sich unter einer beliebigen Gruppen 
          von n Tieren 1 Elefant befindet, dann sind 
          alle Tiere dieser Gruppe Elefanten.

    IBeh: Wenn sich unter einer beliebigen Gruppen 
          von n+1 Tieren 1 Elefant befindet, dann sind 
          alle Tiere dieser Gruppe Elefanten.
    
    Bew:  Sei gegeben eine Gruppe von n+1 Tieren, 
          wobei mindestens ein Tier ein Elefant ist. 

          Wir stellen alle $n$ Tiere in eine Reihe.
          OBdA. ist ein Elefant unter den ersten n Tieren.
          Nach IV sind alle ersten n Tiere Elefanten.

          ==> Unter den letzten n Tieren ist ein Elefant.
          Nach IV sind alle letzten n Tiere Elefanten.\\

          ==> Alle n+1 Tiere sind Elefanten.

Was ist falsch?

Gruss,

Alex


From: co1-003@pool.math.tu-berlin.de
Date: Wed Oct 23 09:47:52 MEST 2002
Subject: deadline fuer Members-Datei

Hallo,

die "dead line" zur Erstellung der korrekten 
"Members"-Datei ist

  heute, 16:00 Uhr !

Dies betrifft auch die Gruppen, die sich gestern
neu gebildet oder geandert haben. 

Gruss,

Alex



From: co1-003@pool.math.tu-berlin.de
Date: Wed Oct 23 14:04:47 MEST 2002
Subject: Coma-CD vergriffen

Liebe Coma-Studenten,

Andreas Fest hat alle Coma-CDs verkauft, 
weitere werden nicht (von uns) gebrannt.

Da 120 im Umlauf sind, sollte es kein Problem
sein, sich von anderen Coma-Studenten eine 
CD auszuleihen oder zu brennen.

Gruss,

Alex



From: co1-003@pool.math.tu-berlin.de
Date: Fri Oct 25 10:48:42 MEST 2002
Subject: Tipps zur 1. PAufg.

Hallo allerseits,

einige Tipps zur 1. Programmieraufgabe:

a) Es gibt in Java den Operator ^ fuer
   Integers, aber dieser Operator berechnet
   fuer "a^3" *nicht* "a*a*a", sondern
   die xor-Verbindung der Bits der beiden Zahlen!
   Also, bitte nicht "a^3" verwenden.

b) Die leidige "NumberFormatException" koennt
   ihr wie folgt "loswerden":

   public static void main ( String[] args ) {
     try {
       int n = Integer.getInt(args[0]);

       ...
     }  
     catch(NumberFormatException e) {
       System.out.println("Not a number!"); 
     }
   }

   Erklaerung folgt in der Uebung/VL!

c) In Zunkunft sollen Eure Programme alle
   moeglichen Eingabefehler sinnvoll behandeln
   und geeignet darauf reagieren.
   Fuer Aufgabe 1 heisst dies, dass Ihr testet,
   ob die Laenge 1 ist, oder nicht.


d) Lest Euch unsere Programmierregeln (im WWW)
   durch, und versucht diese zu verstehen und
   (soweit moeglich) umzusetzen.

Viel Erfolg,

Alex


From: co1-003@pool.math.tu-berlin.de
Date: Fri Oct 25 11:27:25 MEST 2002
Subject: Tipps zur 1. PAufg.

Hallo allerseits,

der Fehlerteufel hat sich eingeschlichen:
Es heisst

  int n = Integer.parseInt(args[0]);

und nicht ".getInt(..)".

Gruss,

Alex



From: co1-003@pool.math.tu-berlin.de
Date: Mon Oct 28 11:56:24 MET 2002
Subject: 2. Programmieraufgabe im Netz

Hallo allerseits,

die 2. Programmieraufgabe findet ihr auf unserer 
WWW-Seite:

 http://www.math.tu-berlin.de/CoMa/coma1.WS02/#Uebungen


Gruss,

Alex


From: co1-003@pool.math.tu-berlin.de
Date: Tue Oct 29 10:51:50 MET 2002
Subject: Tutorien: ab 8.11.

Hallo,

die Tutorien starten ab Freitag, den 8.11.2002.
Bis dahin wird die Rechnerbetreuung aufgestockt,
d.h. die Tutoren sind zum Termin ihres Tutoriums
im Pool zu finden!

Gruss,

Alex



From: co1-003@pool.math.tu-berlin.de
Date: Tue Oct 29 15:08:11 MET 2002
Subject: Tipp zur 2. P-Aufgabe (wirklich korrigiert!)

Hallo allerseits,

ein kleiner Tipp zur 2. Programmieraufgabe.
Tippt unbedingt

   java Match abc??f abc ef

statt

   java Match "abc??f" "abc ef"

Erklaerung: 
Die Shell verwendet auch die Wildcards '?' und
'*'. Wenn z.B. der Befehl

   java Match abc??f abcdef

eingegeben wird, dann merkt die Shell, dass "abc??f"
Wildcards enthaelt. Dann wird nach allen Datei in
dem aktuellen Verzeichnis gesucht, die diesem Ausdruck
entsprechen, und "abc??f" durch Liste aller dieser Dateien
ersetzt!

Leerzeichen haben ebenfalls eine besondere Bedeutung:
sie trennen zwei Argumente. 


Gruss,

Alex




From: co1-003@pool.math.tu-berlin.de
Date: Tue Oct 29 15:10:21 MET 2002
Subject: Tipp zur 2. P-Aufgabe (wirklich korrigiert!)

Hallo allerseits,

in der letzten eMail war es leider vertauscht.
Daher nochmal:

Ein kleiner Tipp zur 2. Programmieraufgabe.
Tippt unbedingt

   java Match "abc??f" "abc ef"

statt

   java Match abc??f abc ef

Erklaerung: 
Die Shell verwendet auch die Wildcards '?' und
'*'. Wenn z.B. der Befehl

   java Match abc??f abcdef

eingegeben wird, dann merkt die Shell, dass "abc??f"
Wildcards enthaelt. Dann wird nach allen Datei in
dem aktuellen Verzeichnis gesucht, die diesem Ausdruck
entsprechen, und "abc??f" durch Liste aller dieser Dateien
ersetzt!

Leerzeichen haben ebenfalls eine besondere Bedeutung:
sie trennen zwei Argumente. 


Gruss,

Alex




From: co1-002@pool.math.tu-berlin.de
Date: Tue Nov 5 18:40:06 MET 2002
Subject: Anmerkungen zu Theorieblatt 3

Liebe Comas,

leider gibt es erst jetzt Praezisierungen zum dritten Uebungsblatt.
Einiges versteht sich eigentlich von selbst, anderes wollten wir
euch eigentlich bereits frueher mitteilen...

Aufgabe 7
Ein besserer Aufgabentext waere gewesen:
"Zeigt, dass sich das Maximum von n>=2 Zahlen darstellen lässt
 durch Maxima zweier Zahlen. Beweist dazu die folgende Formel und
 zeigt unter Verwendung dieser Formel mit Hilfe vollständiger
 Induktion die Korrektheit der Behauptung."

Aufgabe 8
Ihr duerft das euch uebergebene Array *nicht* veraendern (Zu-
weisungen der Art arr[0]=arr[i] sind also tabu!) und auch *kein*
neues Array erzeugen (int[] tmp=new int[arr.length] auch tabu!).

Aufgabe 9
Gemaess Uebung halten wir es fuer eine angemessene Beantwortung
der Aufgabe, wenn ihr mathematische Summenformeln aufstellt, die
die counter-Ergebnisse ergeben, und ihr dann Beziehungen zwischen
den Laufindices bzw. Ergebnissen eurer Summenformeln und den im
Code auftretenden Variablen herstellt.

Sorry vor allem fuer die zu spaete Klarstellung der Aufgabe 7.

Bis naechste Woche,
Christian



From: co1-002@pool.math.tu-berlin.de
Date: Wed Nov 6 08:38:24 MET 2002
Subject: Nachtrag Nachtrag Blatt 3

Ich nochmal.

Damit bei euch nicht allzu grosse Irritationen die Punktverteilung
betreffend entstehen, moechte ich kurz die gestrigen Anmerkungen
zum dritten Uebungsblatt praezisieren.


Der Hinweis zu Aufgabe 9 sollte es lediglich euch und den Tutoren
erleichtern, euch gegenseitig besser zu verstehen. Auswirkungen
auf die Punktvergabe ergeben sich also ausdruecklich nicht.


Bei Aufgabe 8 ist der 3 Punkte werte Korrektheitsbeweis nicht von
dem Nachtrag betroffen, Stichwort "Folgefehler". Lediglich im
ersten Teil muessen wir euch dazu erziehen, Eingabedaten nur dann,
wenn es explizit erlaubt bzw. gefordert ist, zu veraendern. Ei-
gentlich duerfte bei Manipulation der Uebergabeparameter nicht
mehr die halbe Punktzahl erreichbar sein. Da unsere Anmerkung
leider erst gestern kam, sollen diesmal noch ausnahmsweise bis
zu 1.5 der 2 Punkte erreichbar sein, wenn ihr das Array veraen-
dert und die Methode ansonsten korrekt funktioniert.


Da bereits in der gedruckten Formulierung von Aufgabe 7 das ei-
gentliche Ziel der Aufgabe steht,

("Zeigt, Zeigt, dass sich das Maximum von n>=2 Zahlen darstellen
  lässt durch Maxima zweier Zahlen.")

haben wir euch im zweiten Satz "lediglich" den Weg nicht sauber
aufgezeigt. Die zu beweisende Aussage bleibt jedoch die selbe.
Eigentliches Ziel dieser Aufgabe war es, Induktion einmal an-
ders zu betreiben (ohne Summenzeichen oder for-loop), was mit
mind. drei Punkten honoriert werden sollte. Der fuer den Induk-
tionsschritt hilfreiche Zusammenhang auf dem Blatt waere als
Hilfsmittel maximal zwei Punkte Wert gewesen. Da ihr jedoch auf
eine falsche Faehrte gelockt worden sein koenntet, sollen auch
diejenigen, die die eigentliche Aussage (s. Zitat oben) nicht
explizit (per Induktion) nachweisen, bis noch zu drei Punkte
erreichen koennen, um im Semesterschnitt nicht durch unser Ver-
schulden "ueber Par" (wie der Golfer sagen wuerde) zu geraten.


Alle Klarheiten beseitigt?
Christian



From: co1-002@pool.math.tu-berlin.de
Date: Thu Nov 7 11:37:05 MET 2002
Subject: Schoene Gruesse...

... vom Fehlerteufel!

Keine Sorge, diesmal (bislang zumindest) ein eher harmloser
Fehler, der zudem rechtzeitig von einem eurer Kommilitionen
gemeldet wurde.

In Aufgabe 10 solltet ihr Boolean durch Byte ersetzen.

Gutes Gelingen,
Christian



From: co1-003@pool.math.tu-berlin.de
Date: Wed Nov 13 09:50:00 MET 2002
Subject: prog3

Liebe Mitstreiter,

nach reiflicher Ueberlegung macht fuer das leere
Suchpattern ("") nur Sinn, dass es von *keiner*
Zeile gematcht wird. Denn: Wir suchen in Zeilen
nach Woertern, die mit dem Pattern exakt ueber-
einstimmen. Der StringTokenizer sorgt allerdings
dafuer, dass es in keiner Zeile leere Woerter
geben kann, die mit Pattern "" uebereinstimmen
koennten.

Um die Ausgabe von check_prog3 besser verstehen
zu koennen, solltet ihr mal

  man diff

eingeben. Wir nutzen ausdruecklich dieses nuetz-
liche Kommando.

Frohes Schaffen weiterhin,
Christian



From: co1-003@pool.math.tu-berlin.de
Date: Thu Nov 14 17:22:59 MET 2002
Subject: 3. Programm: Gliederung in Methoden

Hallo allerseits,

in der Aufgabenstellung fuer das 3. Programm
stand:

  Wir empfehlen euch, euer Programm (mindestens) 
     ^^^^^^^^^^
  in folgende Methoden zu gliedern...


Vegesst "empfehlen" --- ihr *muesst* unbedingt
das Programm in die angegeben Methoden gliedern !!!!
(Zusaetzliche methoden sind natuerlich erlaubt.)

Dies ist keine Bedingung um euch zu quaelen, sondern
um zu verhindern, dass ihr euch in eurem Code "verlauft".
Dies soll schon vorgekommen sein. ;)


Zuer Behandlung der Streams: Kopiert unbedingt
"WC.java" und fuegt eure "match*"-Mehtoden ein.
Dann funktioniert die Behandlung der Streams sofort.


Gruss,

Alex

  


From: co1-003@pool.math.tu-berlin.de
Date: Wed Nov 20 15:47:29 MET 2002
Subject: 3. Programm: Fristverlaengerung

Hallo allerseits,

wir verlaengern die Bearbeitszeit fuer das
3. Programm. Neuer Abgabetermin ist 

   Montag, den 25. 11. bis spaetestens 14:00 Uhr


Dies ist als Reserve zu verstehen. Wir gehen davon aus, 
dass ihr Donnerstag und Freitag mit Hochdruck an dem 
Programm arbeitet -- und falls moeglich schon 
Donnerstag/Freitag abnehmen lasst, damit die Abnahmen 
sich nicht am Montag haeufen.  
Jeder muss sich am Montag vor 13:00 Uhr anmelden fuer
die Abnahme (und nicht erst um 5 vor 2).

Ach, aus gegebenen Anlass: Es ist ausdruecklich
verboten eine 'StringIndexOutOfBoundsException'
oder eine 'ArrayIndexOutOfBoundsException' zu
fangen!


Gruss,

Alex

  


From: co1-003@pool.math.tu-berlin.de
Date: Thu Nov 28 16:40:36 MET 2002
Subject: Tipps zum 4. Prog.

Hallo allerseits,

aus gegebenen Anlass einige Tipps zur 4. Programmieraufgabe:

Es sind mehrere Klassen zu schreiben!

class     ListNode       -- schon fertig (VL)
interface Stack          -- schon fertig (WWW)
class     StackImpl      -- eure Implementation des Stack-Interface,
	                    verwendet ListNode
class     CharAndLine    -- eine kleine Klasse, die einen char und ein int speichert. 
class     BracketChecker -- eure Klasse mit main-Methode,
	                    verwendet StackImpl und CharAndLine


Die Namen fuer eure eigenen Klassen duerfen natuerlich variieren.
Die Verwendung von weniger Klassen als die oben angegeben ist jedoch nicht ok.

Ebenfalls nicht ok:
  - Die Verwendung von mehr als einem Stack.
  - Bei jeder Klammer mehrfach push aufzurufen.


Ich hoffe dies hilft beim "Sortieren".

Gruss,

Alex





From: co1-002@pool.math.tu-berlin.de
Date: Fri Dec 6 15:10:01 MET 2002
Subject: Punkteliste und Klausur

Liebe Comas,

ihr werdet verstehen, dass wir uns bei den Klausuren keinen
unnoetigen Korrekturaufwand machen moechten. Unnoetig waere
der Aufwand zur Korrektur eines Teilnehmers, der in der er-
sten Semesterhaelfte nicht mindestens 50% der in den theo-
retischen Hausaufgaben erreichbaren Punkte erzielt hat.

Ruft dazu bitte VOR DO, 12.12.2002 einmal ~co1-002/status_info
auf, um nachzusehen, dass bei euch auch wirklich saemtliche
Theorieblaetter (korrekt) eingetragen sind. Wenn ihr euch nicht
bis zu BEGINN DER UE DO, 12.12.2002, 12-14 bei uns meldet,
dann gehen wir davon aus, dass saemtliche eurer Eintraege
sachlich und rechnerisch korrekt sind.

Ein schoenes Wochenende wuenscht
Christian



From: co1-003@pool.math.tu-berlin.de
Date: Wed Dec 11 15:22:20 MET 2002
Subject: Gauss

Hallo allerseits,

die Implementation des Gauss-Algorithmus aus der Uebung
findet ihr nun auf unserer WWW-Seite.

Achtung: Diese Version des Codes ist noch nicht komplett 
dokumentiert und es fehlt die ueberarbeitete 
GaussElimination.getSolution(). Daher: auf der WWW-Seite 
der COMA ab und zu nach dem Update schauen.

Gruss,

Alex



From: co1-003@pool.math.tu-berlin.de
Date: Mon Dec 16 14:48:49 MET 2002
Subject: 5. Programm: Testen

Hallo allerseits,

ihr koennt  euren Code  fuer die 5. Programmieraufgabe 
wie folgt testen:

 1. Klassenbibliothek laden

	ftp://ftp.math.TU-Berlin.de/pub/Lehre/Computerorientierte_Mathematik/coma1.WS02/ShortestPath_16.12.2002.zip     


    (nun mit Kommentaren + Test-Klasse)

 2. auspacken (unzip ...)
 
 3. eure Implemenatationen dazupacken + kompilieren
  
Dann koennt ihr 

   /net/co1/bin/check_prog5

aufrufen.

Dabei wird die neue  Klasse CompareShortestPathImplementations 
verwendet, welche alle drei Implementationen miteinander 
vergleicht. Wenn eine Implementation fehlt, dann gibt dies 
nur eine Warnung (nur neu-kompilieren geht nicht).

Falls die u_ij-Werte nicht uebereinstimmen, wird eine
entsprechende Fehlermeldung ausgegeben.

Die Klasse kennt viele Optionen, um mehr Tests/Ausgaben zu machen:

  usage: java CompareShortestPathImplementations [options] graph_file
  options:
    -u   print U matrix
    -t   print Tree matrix
    -c   print check tree matrix
    -r   print result (shortest paths/negative cycles)
    -T   print running times
    -h   print help  -v   print version



Sorry, dass diese eMail etwas spaet kommt, aber die Implementation
der Algorithmen kann auch ja auch ohne Testklasse gemacht werden, 
oder nicht?


Gruss,

Alex



From: co1-003@pool.math.tu-berlin.de
Date: Tue Dec 17 10:56:18 MET 2002
Subject: 5. Progamm: Instanz

Hallo allerseits,

zum Erzeugen der Kuerzeste-Wege-Instanz auf dem eure 
Implementation des Floyd-Warshall einen anderen K\"urzeste-Wege-Baum 
liefert als unsere Implementation des Bellman-Ford einige Tipps:


Gesucht ist ein gerichteter Graph mit Kantenlaengen, der die
gewuenschten Eigenschaften besitzt.

Ihr "zeigt" und den Graphen 
   - als Zeichnung und
   - als Input-Datei.

Das Format fuer die Inputdatei ist folgendes:
 1. Zeile:    Anzahl der Knoten (int)
 2. Zeile:    Wert fuer "Nichtkanten" (double) 
 ab 3. Zeile: Kantenlaengenmatrix, Eintraege sind durch 
              Leerzeichen/Tabulator getrennt.

Bsp.: Ein gerichteter Graph mit 3 Knoten.

    0 --- 77 ---> 1
    ^      
    |          /
    |         /
    5        32 
    |       /
    |      /
    2 <---/

Datei: 
3
9
0 77 9
9  0 32
5 9 0



Gruss,

Alex





From: co1-003@pool.math.tu-berlin.de
Date: Tue Dec 17 11:03:44 MET 2002
Subject: Abgabe des 8. Blatts

Hallo allerseits,

um den Vorweihnachts- und Nachtest-Stress etwas
zu entschaerfen, kommen wir euch etwas entgegen
und geben euch die Moeglichkeit das 8. Uebungs-
blatt im neuen Jahr abzugeben:  

  bis Mittwoch, den 8. Januar 2003 vor der VL.

Ihr koennt natuerlich auch morgen abgeben. Der 
Abgabetermin des 9. Blattes ist wie geplant  

   Mittwoch, der 8. Januar 2003 vor der VL.

Dafuer ist das 8. Blatt nicht so umfangreich wie 
ueblich.


Der Abgabetermin fuer die 5. Programmieraufgabe
verschiebt sich nicht, er bleibt auf 

   Freitag, den 20.12.2002. 

Abgegeben wird die P-Aufgabe in den *neuen* Gruppen. 
Daher muss am Donnerstag die neue Members-Datei 
'Members2' fertig sein.



Gruss,

Alex




From: co1-003@pool.math.tu-berlin.de
Date: Tue Dec 17 11:34:31 MET 2002
Subject: Test: Fraction

Hallo allerseits,

auf vielfachen Wunsch die Loesung zur letzten 
Aufgabe des Tests:

public class Fraction
{
    protected int p;
    protected int q; // >0

    public Fraction ( int p, int q )
	throws IllegalArgumentException
    {
	if (q <= 0)
	    throw new IllegalArgumentException("q <= 0");

	this.p = p;
	this.q = q;
    }

    public void add ( Fraction r ) {
	
	this.p  = this.p * r.q + this.q * r.p; 
	this.q  = this.q * r.q;
    }

}    

Wird bei Bedarf in den Tutorien besprochen.

Gruss,

Alex



From: co1-003@pool.math.tu-berlin.de
Date: Tue Dec 17 12:21:07 MET 2002
Subject: 2. Einsicht

Hi,

2. Einsichtstermin: 

 heute, Di, 17.12. ab 17:30 im MA606.


Alex



From: co1-003@pool.math.tu-berlin.de
Date: Tue Dec 17 13:31:15 MET 2002
Subject: Gruppen-Neu-Einteilung

Hallo allerseits,

heute findet die "Gruppenneueinteilung" statt.
Ein paar Spielregeln:

  - Alle die nochmal in die Ruecksprache muessen
    gehen erstmal davon aus, dass es klappt und sie
    weitermachen koennen.
  
  - Alle die, die nicht mitgeschrieben haben
    (und nicht entschuldigt sind), sind nicht mehr 
    dabei.  

  - Ihr koennt voellig neue Gruppen bilden.
    Wenn die Zusammenarbeit nicht so richtig geklappt
    habt, dann denkt doch mal ueber Wechsel nach.

  - Ihr sucht euch selbst neue Gruppenpartner(innen).
    Wir stellen heute in der Uebung nur das Forum.

  - Die "Eintragung" in die neuen Gruppen findet aus-
    schliesslich am Rechner statt: Ihr erstellt bis 
    spaetestens Donnerstag 18:00 eine Members2-Datei.

  - Vor Freitag koennt ihr euch am Rechner nur ueber
    die "alten" Gruppenmitglieder anmelden.
    (Nur komplett neue Gruppen muessen sich bei uns 
     melden.) 

  - Die Abgabe des 5. Programms findet mit der *neuen*
    Gruppe statt.
  
Gruss,

Alex

 


From: co1-003@pool.math.tu-berlin.de
Date: Wed Dec 18 10:38:34 MET 2002
Subject: Wiederholungs-Ruecksprachen

Hallo allerseits,

die Wiederholungs-Ruecksprachen finden statt  am

  
   Donnerstag, den  9. Januar und
   Freitag,    den 10. Januar.

Eintragen koennt ihr euch heute nach der VL,
morgen in der Uebung und ab Do, 14:00 Uhr
bei Christian.


Dauer der Ruecksprache: ca. 15 Minuten.


Viel Erfolg,


Alex






From: co1-003@pool.math.tu-berlin.de
Date: Wed Dec 18 13:41:07 MET 2002
Subject: 6. Programmieraufgabe

Hallo allerseits,

die 6. Programmieraufgabe ist im Netz:

   
  http://www.math.tu-berlin.de/CoMa/coma1.WS02/program_robot1/


Details morgen in der Uebung.

Gruss,

Alex



From: co1-003@pool.math.tu-berlin.de
Date: Fri Dec 20 10:37:23 MET 2002
Subject: Bellman-Ford

Hallo,

falls euch Erstellen der Kuerzeste-Wege-Instanz das Verhalten 
des Bellman-ford suspekt erscheint: 

  Die Grundversion des BF hat eine Laufzeit von n^5.
  Wenn der BF in n^4 implementiert wird, wie bei unserer
  Implementation, dann muss man darauf verzichten zu
  jedem Zeitpunkt die korrekten u_ij^(m) zu haben.
  Nur die u_ij^(n-1) = u_ij sind korrekt.
 

  Besonders auffaellig ist das Verhalten auf einem Graphen,
  der nur aus einem Pfad besteht:

    0 --> 1 --> 2 --> .... --> n-1

  Hier berechntet die n^3-Implementation des BF die Distanzen 
  u_ij schon in der 1. Iteration der aeusseren Schleife, und nicht
  erst in der letzten.


Gruss,

Alex

  
  


From: co1-003@pool.math.tu-berlin.de
Date: Fri Jan 17 10:01:58 MET 2003
Subject: Roboter

Hallo allerseits,

bei der 6. Programmieraufgabe gibt es 2 Probleme,
die viele Gruppen uebersehen haben:

1) MyMazeMatrix.getFreeCells(n)
wird oft wie folgt implementiert:

   public MazePosition[] getFreeCells(int n) throws MazeMatrixException {
   ...

     for (int k=0; k < n; ++k) 
	do {
	   int i = (int)(Math.random()*rows);
 	   int j = (int)(Math.random()*cols);
        while(!feld leer und es wurde noch nicht ausgewuerfelt);

        ...
     }


Dabei ergibt sich folgendes Problem: Ihr koennt nicht garantieren,
dass die innere Schleife terminiert. (Stellt euch vor die
Matrix habe die Groesse 10.000 * 10.000 -- und ihr sucht das letzte
Feld...)

Daher folgenden Loesungsansatz: Erst alle freien Felder ermitteln
und dann von diesen welche auswuerfeln. Achtet dabei darauf,
dass nicht Felder mehrfach "erwischt werden".


2) Beim Fuellen der Matrix mit den MazeObjects darf kein Code
kopiert werden! (--> Programmierregeln: keine Methode laenger als
eine Bildschirmseite + keine Code-Kopien.)
 
Lieber in Methoden auslagern, oder Schleifen/Arrays
verwenden.


Gruss,

Alex
 


From: co1-003@pool.math.tu-berlin.de
Date: Sun Jan 26 12:36:23 MET 2003
Subject: 8. PAufgabe: SortAlgorithm-Interface

Hallo allerseits,

bei der Aufgabenstellung zur 8. Programmieraufgabe
ist uns ein Fehler unterlaufen. Das Interface SortAlgorithm
muss wie folgt aussehen:


/** An algorithmic class which implements a single
  * algorithm which sorts a given array.
  */
public interface SortAlgorithm {

    /** Sorts an array of given items "in-place".
      *
      * @param items       homogeneous array of objects
      * @param comparator  the 'order relation' to be used
      *
      * @exception WrongSortTypeException iff a comparision method 
      *              throws because the array is not homogeneous.
      */
    public void sort(Object[] items, Comparator comparator) 
      throws WrongSortTypeException;
}


Wir haben das Design geaendert seit dem letzten Jahr und trennen
nun die Daten (Object[]) und die Ordnungsrelation (Comparator).
(In euren Loesungen dar kein 'Comparable' auftauchen; fallt nicht 
auf angebliche Musterloesungen aus den vergangenen Semestern rein.)


Gruss,

Alex



From: co1-003@pool.math.tu-berlin.de
Date: Fri Jan 31 10:12:53 MET 2003
Subject: Scheinbed. fuer ITM/PI

Liebe PI/ITM-ler,

Christian Liebchen hat bei den
entsprechenden Pruefungsobmaennern
(Herrn Brunk/Herrn King) nachgefragt. 
Ergebnis:

Sowohl fuer PI, als auch fuer ITM,
ist ein benoteter Uebungsschein
zwingende Voraussetzung zur muendlichen
Vordiplomspruefung.

Also: Ruecksprache machen!

Gruss,

Alex



From: co1-002@pool.math.tu-berlin.de
Date: Wed Feb 5 13:15:29 MET 2003
Subject: Uebung 04.02.2003

Liebe Comas,

folgende Nachtraege zur Grossen Uebung von gestern:
- Auf dem Informationsblatt stand bereits zu Semesterbeginn,
  dass sich "Die Zensuren f\"ur benotete \"Ubungsscheine"
  u.a. "aus der in den theoretischen Aufgaben erreichten
  Punktzahl" zusammen setzen.
- Die Loesung von Aufgabe 36(f) war THETA(log(n)). Der
  Hinweis war derart zu verstehen, dass ihr zuerst mit
  Zweiterpotenzen von Zweiterpotenzen ansetzt, also
  2 hoch 8, 2 hoch 16, 2 hoch 32 betrachtet, um Regel-
  maessigkeiten aufzuspueren. Dann laesst sich die Ver-
  mutung erneut unmittelbar durch Einsetzen nachweisen.

Alles Gute,
Christian


P.S.: Nicht vergessen:
http://www.math.tu-berlin.de/Vorlesungen/WS02/CoMa.1/GrosseUebungen/Uebung030204/Find/Find.html
und
http://www.math.tu-berlin.de/Vorlesungen/WS02/CoMa.1/GrosseUebungen/Uebung030204/HexIntTextField/index.html
...



From: co1-003@pool.math.tu-berlin.de
Date: Thu Feb 6 13:51:32 MET 2003
Subject: Regeln fuer die Abnahmen

Hallo allerseits,

morgen ist der Abgabetermin fuer die
letzte Programmieraufgabe. Um den Ansturm
irgendwie bewaeltigen zu koennen, haben wir
uns etwas ueberlegt:

1. Anmelde-Fristen: 

     Freitag,    7.2. bis 12:00 Uhr
     Donnerstag, 6.2. bis 16:15 Uhr
  
   Wer sich bis zu diesem Zeitpunkt 
   nicht angemeldet hat, bekommt keinen
   Termin zur Abnahme.

2. Anmeldung: erfolgt nicht bei den
   Betreuern, sondern am "weissen Brett".
   Es gibt dort 2 Spalten:
      - Abnahmen 
      - Probleme/Fragen

   Ihr tragt euch dort ein, wir "holen" 
   uns dort die Gruppennummern ab.

   Wer das Programm noch nicht fertig hat,
   traegt sich unter "Probleme/Fragen" ein.
   Es gibt keine pauschalen Verlaengerungen
   ohne ein Gespraech ueber den Stand des
   Programms.

Und bitte: Kommt nicht Donnerstag um 5 oder Freitag mittag
mit "Mein Programm funktioniert nicht...".
Wenn es Probleme gibt, dann klaert diese unbedingt
am Donnerstag bzw. Freitag frueh (vor 12:00!!!).
Zur Fehlersuche hefen bekanntlich Ausgaben -- und
es gab da mal ein nettes Tool in der Uebung...


Gruss,

Alex




From: co1-003@pool.math.tu-berlin.de
Date: Fri Feb 7 09:55:56 MET 2003
Subject: 8. PAufg: 2 uebliche Fehler

Moin,

ich moechte euch vor zwei ueblichen Fehlern 
bei der Implementation der 8. Programmieraufgabe
warnen:

1. "Konvertierung von Strings in Integers 
    im Comparator".

Wenn ganze Zahlen sortiert werden, dann muessen
diese auch als solche gespeichert werden, d.h.
als Integer. Da jeder Sortieralgorithmus jedes 
Element deutlich oefter als einmal "anschaut"
geht die gesamte Laufzeit fuer das Sortieren
drauf. (Schoene Ruecksprachenfrage: Wie
oft betrachtet der ...-Sortieralgorithmus ein
Element?)

Das Argument "das steht ja gar nicht in
der Aufgabenstellung" ist nicht ueberzeugend.
Es ist selbstverstaendlich, dass die Daten
im "best-moeglichen" Format gespeicht werden.
Strings taugen nur dazu Zeichenketten zu speichern.


2. "kopierter Code im Applet/Tester"


... ist klar, oder?

Verpackt alles in geeignete Funktionen --
und kopiert niemals, NIEMALS (!!!) mehr als 5 Zeilen
Code.




Gruss,

Alex



From: co1-003@pool.math.tu-berlin.de
Date: Tue Feb 18 10:49:24 MET 2003
Subject: Scheine/WH-Rueckspr

Hallo allerseits,

dies ist bestimmt die letzte eMail von der COMA I.
Meldungen des Tages:

a) Die Scheine liegen im Sekretariat MA6-2 zur Abholung
   bereit. Bitte die Oeffnungszeiten beachten.
     (Mo/Di/Do/Fr  9:30 - 11:30)

b) Fuer die Wiederholungsruecksprachen liegen
   die Listen im Sekretariat aus.
   Termine sind Do 10.4. und Fr 11.4.


Viel Erfolg im weiteren Studium,

Euer COMA-Team


top top
zuletzt bearbeitet: Tue Sep 8 2009, zuletzt erstellt: Tue Sep 8 2009
Jens Schulz <jschulz at math.tu-berlin.de>
Validate HTML