Dies ist eine statische Kopie unseres alten Forums. Es sind keine Interaktionen möglich.
This is a static copy of our old forum. Interactions are not possible.

hamena314

Zerschmetterling

  • "hamena314" is male
  • "hamena314" started this thread

Posts: 2,032

Date of registration: Aug 31st 2003

Location: Hannover

Occupation: Informatikstudent (d'uh)

1

Monday, December 5th 2005, 7:32pm

Scheme-Übung Nr. 6

Howdy!
Also Aufgabe 1-7 habe ich ja relativ einfach hinbekommen, war meistens nur Tipparbeit, aber ab Aufgabe 8 werde ich locker abgehängt.
Ich verstehe zwar, was ich im Grunde machen muss:

Kurs angeben --> hat Kurs prerequisites? Bei Ja --> Prerequisites als neuen Kurs angeben --> hat Kurs prerequisites? ...
Das ganze dann jeweils als Liste aneinanderhängen und mit list-union auf doppelte Einträge überprüfen.

Aber ich schaffe es nicht, auf die einzelnen Prozeduren zuzugreifen und zu verstehen, wie dort etwas ausgelöst wird.

Ausserdem frage ich mich, warum hier noch kein Beitrag zur 6. Übung stand. Habe ich den übersehen, oder sind hier alle doch so viel besser in Scheme als ich? ;)

HAVE PHUN!
Nicht der Wind bestimmt die Richtung, sondern das Segel! (Lao Xiang, China)

Posts: 60

Date of registration: Oct 10th 2005

2

Monday, December 5th 2005, 9:48pm

Jup, Aufgabe 8. begeistert einen schon für einige Minuten.

Als Tipp könnte ich die Verwendung von "list-intersection" empfehlen.

Naja muss nur leicht den Bedürfnissen an gepasst werden, wenn ihr den ersten Eintrag einer Liste von Listen lesen wollt muss da "(member (caar l1) l2)" eingesetzt werden.

Das dumme ist nur, dass wenn man Aufgabe acht nicht ordentlich hinbekommt man Aufgabe 9. und 10. auch vergessen kann.

Red Eye

Junior Schreiberling

  • "Red Eye" is male

Posts: 187

Date of registration: Oct 6th 2005

Occupation: Informatik

3

Monday, December 5th 2005, 10:24pm

Tach auch :)


Nee, ich glaub nicht das "die anderen" so viel besser sind. Nimm mich und noch 2 weitere aus unserem Smester. Wir haben uns heute so um 15.30 hingesetzte, und aufgabe 8 angefangen....um 20 Uhr haben wir aufgehört ud eigentlich nix hinbekommen. War ein sehr dolles Gefühl so viel Zeit in den Sand gesetze zu haben.

Also, ich versuch das mal mit dem list-intersection und mal schaun ob ich weiter komme.

Thx für den Tipp

Gruß

Red Eye
Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten.

hamena314

Zerschmetterling

  • "hamena314" is male
  • "hamena314" started this thread

Posts: 2,032

Date of registration: Aug 31st 2003

Location: Hannover

Occupation: Informatikstudent (d'uh)

4

Monday, December 5th 2005, 10:49pm

@ShadowScout: Jupp, Aufgabe 8 ist quasi der Knackpunkt, wenn man 8 nicht versteht, gehen auch die anderen nicht. 9 und 10 bauen direkt darauf auf, 11 und 12 vom Prinzip her indirekt.
14 will ja bisher nicht implementierte Funktionen sehen ... wozu ich erst mal verstanden haben muss, wie die Funktionen hier überhaupt ... funktionieren (:D).

@Red Eye: HA! Genau das ist mir am Sonntag passiert, hab um 10.00 Uhr angefangen und mit Unterbrechung (zwecks Weinens in mein Kopfkissen T_T) bis 20.00Uhr dran gesessen, aber nix zustande gebracht. Hab' dann damit geendet, dass ich ähnliche Aufgaben im Netz gesucht habe, um den Aufbau zu kapieren. Bin dabei dann sogar auf die Urform dieser Aufgabe gestossen, die dann auch erklärt, warum im Aufgabenblatt für uns folgendes steht, das im Code aber ganz anders heisst:

Quoted

with x matching the list (i want to) and y matching the list (math) and z matching the list (stamp collecting).


=)

Werde später auch mal schaun, ob mich list-intersection da weiterbringt.

HAVE PHUN!
Nicht der Wind bestimmt die Richtung, sondern das Segel! (Lao Xiang, China)

This post has been edited 1 times, last edit by "hamena314" (Dec 5th 2005, 10:50pm)


Posts: 60

Date of registration: Oct 10th 2005

5

Tuesday, December 6th 2005, 11:47am

list-intersection hilft euch bei der suche nach den passenden subjecten des catalogs bzw. zu schauen ob es das gesuchte subjekt überhaupt gibt.

Dann noch list-ref dazu nehmen und schon wären alle wichtigen werkzeuge da.

This post has been edited 1 times, last edit by "ShadowScout" (Dec 6th 2005, 11:48am)


BLUESCREEN

Junior Schreiberling

  • "BLUESCREEN" is male

Posts: 244

Date of registration: Oct 11th 2005

6

Tuesday, December 6th 2005, 2:24pm

Guckt euch die Funktion in-catalog an und schreibt sowas ähnliches, wo ihr dann noch map, reduce und list-union verwendet.

Wanja

Junior Schreiberling

Posts: 150

Date of registration: Feb 4th 2003

7

Tuesday, December 6th 2005, 3:57pm

RE: Scheme-Übung Nr. 6

Kann mir vielleicht wer nen tipp geben warum, obwohl ich mir die aktuellste advisor.scm gezogen hab und dann (see-advirsor "HAL") ausführe alle rules funktionieren ausser die folgende:

can I take 20:410

bei dieser eingabe greift er auf die zufälligen antworten zurück...

und ohne zu verstehen warum das so ist, komm ich bei aufgabe 13 einfach nicht weiter >< (im übrigen auch nicht bei aufgabe 7)

mfG Wanja

This post has been edited 3 times, last edit by "Wanja" (Dec 6th 2005, 4:03pm)


maxsz

Praktikant

  • "maxsz" is male

Posts: 23

Date of registration: Oct 6th 2005

Location: Hannover

Occupation: B.Sc. Informatik / 4. Semester

8

Tuesday, December 6th 2005, 4:07pm

bei "can I take 20:410" hatte ich das selbe problem. bis ich in der advisor.scm das "I" in ein "i" umgeschrieben habe und dann mit "can i take..." aufgerufen habe. dann gings...

Wanja

Junior Schreiberling

Posts: 150

Date of registration: Feb 4th 2003

9

Tuesday, December 6th 2005, 4:19pm

RE: Scheme-Übung Nr. 6

hab den fehler gefunden in der aktuellen version von advisor.scm ist in der regel für can i take das "i" GROSS GESCHRIEBEN !!!!
Daurch kommt der fehler zustanden ...

für alle die sich wundern :P

julianr

Erfahrener Schreiberling

Posts: 298

Date of registration: Oct 13th 2005

Location: I live in a giant bucket.

10

Tuesday, December 6th 2005, 8:36pm

Aber das ist selbstverfreilich kein Fehler im Aufgabenblatt (Gott bewahre), denn laut Görries' letzter Mail kann man Scheme irgendwo auf case-insensitive stellen... oO

ruffy85

Trainee

  • "ruffy85" is male

Posts: 103

Date of registration: Oct 12th 2005

Location: Hildesheim

Occupation: B.Sc. Informatik / 1. Semester

11

Wednesday, December 7th 2005, 10:09am

Die Aufgabe 8 ist echt etwas fies ;) ich sitze auch schon etwa zwei Tage daran, habe mehrere Ideen probiert und wieder verworfen, die meisten Ideen scheitern durch folgende Fehlermeldung beim Ausführen.

Source code

1
...too large [not a proper list]


Es ist echt zum Verzweifeln, ich weiß, was gemacht werden muss, kriege aber den Ansatz nicht hin und nur noch zwei Tage bis zur Abgabe, das wird verdammt eng.

Kann jemand mal einen Ansatz kurz erläutern, keine Lösung bitte. Nur halt, Gedankenmodell und verwendete Befehle oder so, den Rest kann man sich dann zusammenbasteln ;) Sicherlich haben auch andere noch Probleme mit dieser Aufgabe...

Gruß, Ruffy

Souly

Praktikant

Posts: 4

Date of registration: Dec 6th 2005

12

Wednesday, December 7th 2005, 10:46am

also den fehler hatte ich nun gar nicht

also falls dus nicht benutzt hast, könntest du wie in einer mail gut mit find arbeiten, damit du den ganzen entry von was hast und dann davon das 5te ding raussuchen (hoffe das war aufgabe 8)

hamena314

Zerschmetterling

  • "hamena314" is male
  • "hamena314" started this thread

Posts: 2,032

Date of registration: Aug 31st 2003

Location: Hannover

Occupation: Informatikstudent (d'uh)

13

Wednesday, December 7th 2005, 11:07am

Also für alle, die die Mail nicht bekommen und/oder gelesen haben, hier der Text der Mail von Christian Görries:

Quoted

Liebe Studentinnen und Studenten,

es gab mal wieder einige wichtige Fragen zum aktuellen Aufgabenblatt, die
ich gerne für alle beantworten möchte.

Gruß Christian

Allgemeines zur 8. Aufgabe:
---------------------------

Wie viele ja bereits aus der Aufgabenstellung entnommen haben, so ist all-prerequisites eine Prozedur mit einem Parameter. Der Parameter selber muss dann ein Fach als Symbol, also etwa '70:123, sein. Es handelt sich NICHT um eine Liste oder einen String oder vielleicht sogar um den entsprechenden Katalog-Eintrag! Diese Eigenart ist dann auch entsprechend bei der in Aufgabe 9 geforderten Regel zu beachten!


1. Frage:
---------

Wenn ich mit den Befehlen:

(entry-prerequisites (find '70:123 catalog))

(entry-prerequisites (find '6:03 catalog))

die Voraussetzungen für die Fächer 70:123 und 6:03 abfragen möchte, erhalte ich folgende Ausgabe:

(5 days of free time each week)

(you need to know java --- "no," you will learn it there)

Das Problem ist, dass ich als Rückgabe eine Liste benötige, die entweder leer ist oder die Bezeichnungen anderer Fächer enthält. Ich brauche die Werte in Aufgabe 8. Können Sie bitte bekannt geben, wie dieses Problem zu umgehen ist?

Antwort 1:
----------

Wie bereits in den Hinweisen (s.o.) angegeben, soll all-prerequisites KEINE Liste aufnahmen. Aber all-prerequisites soll eine weitere Eigenschaft haben. Wenn ein Fach übergeben wird, welches nicht existiert, so ist die Rückgabe eine leere-Liste. In diesem Fall ist es nicht weiter tragisch, wenn die obigen Listen zurückgegeben werden, da jedes Element, interpretiert als Fach, die leere-Liste liefern würde. Es ist nicht nötig und auch, wenn man den advisor ein wenig verstanden hat, unsinnig eine Regel schon in Aufgabe 8 einzuführen. Diese kann nämlich nicht von der Regel aus 9 aufgerufen werden und all-prerequisites soll auch so funktionieren. Die Aufgabe ist allein durch geschickte rekursive Aufrufe und den Einsatz der Befehle map, list-union und reduce zu lösen, andere Lösungen, die die Anforderungen erfüllen, werden aber auch akzepziert.

Frage 2:
--------

Wie ist das bei Aufgabe 14? Sollen wir den Originalcode aus advisor.scm verändern? Oder nur nicht allein funktionsfähige Teile, die dann in den Originalcode kopiert werden müssten, abgeben?

Antwort 2:
----------

Ich hoffe ja , dass jeder die advisor.scn oben in seine Abgabedatei kopiert hat und dann die eigentlichen Aufgabenlösungen mit entsprechender Trennung (Kommentar oder Abstand) unten unter geschrieben hat. Somit kann man z.B. bei den Aufgaben, wo Programmteile erweiter werden sollen, einfach den Abschnitt herausKOPIEREN und im Lösungsbereich ieder mit den Zusätzen einfügen. So wäre es auch für Aufgabe 14 wümschenswert.

Frage 3:
--------

Ist in Zeile 535 (unveränderter Quelltext) auch noch ein Fehler?
Da steht
(can I take (? s ,in-catalog))
Muss das I nicht klein geschrieben werden, damit es funktioniert?

Antwort 3:
----------

Hier habe ich ein wenig länger überlegt und dann endlich die RICHTIGE Lösung gefunden. Hier ist in Scheme die Unterscheidung zwischen Groß- und Kleinschreibung angeschaltet, welche normalerweise deaktiviert sein sollte. Die entsprechende Einstellung ist unter "Sprache -> Sprache auswählen" zu finden. Hier dann über den Button "Details anzeigen" einen weiteren Bereich öffnen und unter "Eingabe Syntax" nachsehen.


Habe mit meinem Korrektor Rücksprache gehalten und sinngemäß sind alle Funktionen, die in advisor.scm definiert werden, auch erlaubt (bezugnehmend auf das "find").

Mal sehen, ob es damit geht. =)

HAVE PHUN!
Nicht der Wind bestimmt die Richtung, sondern das Segel! (Lao Xiang, China)

This post has been edited 1 times, last edit by "hamena314" (Dec 7th 2005, 11:07am)


dertermi

Praktikant

Posts: 19

Date of registration: Oct 26th 2005

14

Wednesday, December 7th 2005, 11:49am

Also ich hab es so gemacht, dass ich 2 Listen habe

Der Startwert der 1. Liste ist das Element der Frage (also 2:02 z.B.) die 2. Liste ist leer.

Jetzt wird aus dem catalog der Listeneintrag mit 2:02 rausgesucht und davon das 5. Element genommen (mit in-catalog und entry-prerequisites). Dann füge ich dieses Element mittels list-union (damit es nur einmal auftritt in den entsprechenden Listen) an die 1. Liste und die 2.Liste hinzu. Dann wird dieses Element, da es in der 1. Liste ist wieder abgearbeitet usw.. Wenn dann die 1. Liste leer ist, gebe ich die 2. aus
und fertig :-)

hoffe, das reicht euch

die Ideallösung ist es wahrscheinlich nicht, aber es ist EINE Lösung :)

Wanja

Junior Schreiberling

Posts: 150

Date of registration: Feb 4th 2003

15

Wednesday, December 7th 2005, 1:27pm

hat sich schon erledigt :P

This post has been edited 1 times, last edit by "Wanja" (Dec 7th 2005, 1:27pm)


ruffy85

Trainee

  • "ruffy85" is male

Posts: 103

Date of registration: Oct 12th 2005

Location: Hildesheim

Occupation: B.Sc. Informatik / 1. Semester

16

Wednesday, December 7th 2005, 8:47pm

Ich drehe bald durch, ich habe schon viele Ansätze probiert, immer kommen ähnliche Fehler.

Habe es nun geschafft, für ein spezielles Fach die Voraussetzungen der Vorausetzungen zu lesen, mit dem Ansatz versuche ich nun schon den ganzen Tag eine Funktion zu schreiben, die sich auf beliebige Fächer anwenden list, ich bleibe immer beim Zusammenfügen der Listen hängen...

Ich lese die Voraussetzungen von dem Fach aus, füge diese an eine (Startwert: leer) Liste an (list-union), dann sollen die Voraussetzungen wieder als Fach verwendet werden (map, let) und dann soll der Spaß von vorne beginnen, bis er auf leere Listen trifft (Abbruchbedingung). Sobald dieser Fall eintritt, soll er die erzeugte Liste aus den Voraussetzungen ausgeben.

Jedoch bricht das Programm ab, Index 5 wäre keine richtige Liste, des Weiteren sei die Liste zu groß, was für mich eine völlig unsinnige Aufgabe ist.

Inzwischen habe ich Aufgabe 11 gelöst und mit Aufgabe 14 angefangen, aber bei Aufgabe 8 streiche ich solangsam die Segel, ich sehe absolut keinen Ausweg aus dem Desaster mehr, entweder ich habe einen totalen Denkfehler oder ich bin echt zu blöd für Scheme...

Gibt es nicht ein Tool, dass mal eben aus einer Programmiersprache den Code in eine andere Programmiersprache übersetzt? :-P *lol*

Gruß, Ruffy

hamena314

Zerschmetterling

  • "hamena314" is male
  • "hamena314" started this thread

Posts: 2,032

Date of registration: Aug 31st 2003

Location: Hannover

Occupation: Informatikstudent (d'uh)

17

Wednesday, December 7th 2005, 9:02pm

Quoted

Original von ruffy85
(...)Gibt es nicht ein Tool, dass mal eben aus einer Programmiersprache den Code in eine andere Programmiersprache übersetzt? :-P *lol*

Gruß, Ruffy


Ja, Informatiker! :D

SCNR!

HAVE PHUN!
Nicht der Wind bestimmt die Richtung, sondern das Segel! (Lao Xiang, China)

This post has been edited 1 times, last edit by "hamena314" (Dec 7th 2005, 9:03pm)


Red Eye

Junior Schreiberling

  • "Red Eye" is male

Posts: 187

Date of registration: Oct 6th 2005

Occupation: Informatik

18

Thursday, December 8th 2005, 12:36am

Nabend :)

Also,
wir haben nun Aufgabe 8 auch fertig (d.h. Cadzie und me, haben das gemeinsam gemacht). War wirklich viel Arbeit....hat uns 2h gekostet...aber es geht nun.....aber ehrlich, ich weiß nicht wieso meins jetzt geht *g* .....hatte so viele Ideen und Ansätze und hab bei jedem kleinen Erfolg darauf aufgebaut und nun geht es..alles ein bisschen durcheinander....werde es nun ein bisschen überarbeiten und hoffen, das dann die "Erleuchtung kommt".

Falls jemand die unsere Lösung will...einfach mal anschreiben, wir schicken es gerne weiter *g*


Gruß

Red Eye

P.S.

Quelltext is nicht komentiert *g*
Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten.

oixio

Senior Schreiberling

  • "oixio" is male

Posts: 517

Date of registration: Oct 3rd 2004

19

Thursday, December 8th 2005, 8:11am

Quoted

Original von Red Eye
P.S.

Quelltext is nicht komentiert *g*

Dann solltest du das für die Abgabe aber noch machen, das erleichtert dem Korrektor die Arbeit und hilft dir beim Vorstellen.
Dieser Post wurde aus 100 % chlorfrei gebleichten, handelsüblichen, freilaufenden, glücklichen Elektronen erzeugt!

Red Eye

Junior Schreiberling

  • "Red Eye" is male

Posts: 187

Date of registration: Oct 6th 2005

Occupation: Informatik

20

Thursday, December 8th 2005, 11:51am

Tach....

@oixio

klar, erleichtert das die Arbeit...aber ich hab jetzt einfach keine Lust mehr mich damit zu beschäftigen....habs jetzt auch vorgestellt...aber nur bis ich die 28 Punkte hatte, den Rest hab ich aus reinem Frust wegen der letzten "Scheme-Nacht" erst gar nicht vorgetragen. Hauptsache die 50% erreicht....gibt ja keine Bonus Punkte die einem helfen könnten (und ich hab ja alles geprogt, also auch geübt).

Und wenn ich mich mit solch teilweise "schlechten" Beschreibungen rumschlagen musste, ist es mir auch erlaubt, einen unkommentierten Quellcode abzuschicken...solange ich ihn dann noch erklären kann *g*



Gruß

Red Eye
Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten.