[Progra] Blatt 11 Aufgabe 2a

[Progra] Programmierung
[DSAL] Datenstrukturen und Algorithmen
[SWT] Softwaretechnik
[DB] Datenbanken und Informationssysteme

Blatt 11 Aufgabe 2a

Beitragvon LeeJan » 23.01.08 16:26

Hi @ all,
ich habe da eine Frage zu der Aufgabe 11 a
Bei der Aufgabe soll ich ja einen neue Datenstruktur entwickeln, womit man Einträge speichern kann.
Und jeder Eintrag besteht aus einer Priorität und aus einem Wert.

Jetzt die Frage: dieses 'a' aus PriorityQueue a
beinhaltet es zugleich die Priorität und den Wert oder wie soll ich das verstehen`?

also bis jetzt habe ich das so bei der Aufgabe a.)

"data PrioQ a = EmptyQ | Store a (PrioQ a)"

und dann habe ich noch die Idee

"type Eintrag = (Int, [Char])"
und dann anstatt a muss dann soll dann vom typ "Eintrag" sein.

Schöne Grüße
pajemaisch par rusky?
LeeJan
 
Beiträge: 73
Registriert: 09.12.06 01:58
Wohnort: Aachen

Beitragvon Coolcat » 23.01.08 19:24

Das a ist nur der Typ-Parameter. a soll der Typ sein vom dem die gespeicherten Elemente sind, nicht der Typ der Prioritäten. Also bei dem in der Teilaufgabe a) gegebenen Beispiel wäre a der Typ String.
My software never has bugs. It just develops random features.
Benutzeravatar
Coolcat
Promoter
 
Beiträge: 2574
Registriert: 28.11.05 21:26
Wohnort: Kohlscheid / Düsseldorf
Studiengang: Informatik (Dipl.)
Studiert seit: fertig
Anwendungsfach: BWL

Re: Blatt 11 Aufgabe 2a

Beitragvon O.D. » 23.01.08 20:09

LeeJan hat geschrieben:"data PrioQ a = EmptyQ | Store a (PrioQ a)"


Warum baust Du den von Haskell bereitgestellten Stapelspeicher (auch bekannt als Liste) nach und nennst ihn Warteschlange (Q soll doch Queue andeuten)? ;)
Oder hat man Euch mittlerweile auch das Verwenden einfacher Listen untersagt?
I can hear deaf people!
Benutzeravatar
O.D.
 
Beiträge: 745
Registriert: 05.08.06 19:31
Wohnort: Aachen & Minden
Studiengang: Informatik (M.Sc.)
Anwendungsfach: Physik

Beitragvon Coolcat » 23.01.08 20:19

Warum (...)

Weil das die Aufgabestellung ist, außerdem kommt man mit Listen alleine nicht weit, es soll nämlich einer Priorität eine Aufgabe zugeordnet werden.
My software never has bugs. It just develops random features.
Benutzeravatar
Coolcat
Promoter
 
Beiträge: 2574
Registriert: 28.11.05 21:26
Wohnort: Kohlscheid / Düsseldorf
Studiengang: Informatik (Dipl.)
Studiert seit: fertig
Anwendungsfach: BWL

Beitragvon O.D. » 23.01.08 21:48

Ja gut, aber
Code: Alles auswählen
data PrioQ a = EmptyQ | Store a (PrioQ a)

ist genau das gleiche wie die Haskell-Liste, nur dass halt : jetzt Store heißt und [] jetzt PrioQ heißt.
I can hear deaf people!
Benutzeravatar
O.D.
 
Beiträge: 745
Registriert: 05.08.06 19:31
Wohnort: Aachen & Minden
Studiengang: Informatik (M.Sc.)
Anwendungsfach: Physik

Beitragvon mirko » 23.01.08 22:34

O.D. hat geschrieben:Ja gut, aber
Code: Alles auswählen
data PrioQ a = EmptyQ | Store a (PrioQ a)

ist genau das gleiche wie die Haskell-Liste, nur dass halt : jetzt Store heißt und [] jetzt PrioQ heißt.


es soll aber eine prioritäts-warteschlange und keine liste sein - guck dir doch bitte einfach mal die aufgabe an, statt aus der lösung die aufgabe zu erraten zu versuchen...

http://verify.rwth-aachen.de/programmie ... bung11.pdf
mirko
 
Beiträge: 1032
Registriert: 22.10.06 18:33
Studiert seit: WS 12/13

Beitragvon C-Otto » 23.01.08 22:46

O.D. hat geschrieben:und [] jetzt PrioQ


EmptyQ.
Benutzeravatar
C-Otto
 
Beiträge: 568
Registriert: 10.08.06 00:20
Wohnort: Schwalbach am Taunus
Studiert seit: fertig
Anwendungsfach: BWL

Beitragvon O.D. » 24.01.08 07:13

C-Otto hat geschrieben:
O.D. hat geschrieben:und [] jetzt PrioQ


EmptyQ.
Nein - ich meinte schon den Typkonstruktor!
Aber Du hast schon recht, dass der zugehörige Datenkonstruktor jetzt EmptyQ heißt.

@mirko: Recht hast Du, mein Fehler.
I can hear deaf people!
Benutzeravatar
O.D.
 
Beiträge: 745
Registriert: 05.08.06 19:31
Wohnort: Aachen & Minden
Studiengang: Informatik (M.Sc.)
Anwendungsfach: Physik

Beitragvon aRo » 25.01.08 20:09

ich denke ich habe da ein ähnliches Verständnisproblem wie LeeJan. Diese Liste als Datenstruktur zu implementieren, ist ja nicht schwer.
Mir ist jedoch auch nicht klar, wie folgender Satz umgesetzt werden soll:
"wobei jeder Eintrag genau einem Paar aus einer Priorität und einem Wert entspricht".
Riecht ja, wie von LeeJan auch schon gesagt, verdammt nach einem Tupel. Das muss ich jedoch nicht extra neu irgendwie implementieren, oder? Ich kann mit der neuen Datenstruktur direkt mit den Tupeln arbeiten (die dann sozusagen das a sind).
aRo
 
Beiträge: 311
Registriert: 23.10.07 01:28
Anwendungsfach: Medizin

Beitragvon theTux » 25.01.08 20:25

Wirf' mal einen Blick auf den Datentyp List aus den Beispielen zu Teil III.5 der Vorlesung.
Stur lächeln und... oh, falscher Pinguin.
Benutzeravatar
theTux
 
Beiträge: 577
Registriert: 15.01.06 16:41

Beitragvon O.D. » 25.01.08 21:18

aRo hat geschrieben:Ich kann mit der neuen Datenstruktur direkt mit den Tupeln arbeiten [..]
Kann, muss aber nicht.
Die Zuordnung von Priorität und Datum muss ja von der Datenstruktur übernommen werden, und nicht vom Anwender (der DS).
I can hear deaf people!
Benutzeravatar
O.D.
 
Beiträge: 745
Registriert: 05.08.06 19:31
Wohnort: Aachen & Minden
Studiengang: Informatik (M.Sc.)
Anwendungsfach: Physik

[Progra] Blatt 11 Aufgabe 2 f-g

Beitragvon Saruwatari » 26.01.08 16:25

hätte da auch ne frage und zwar
zum aufgabenteil f und g
soll man hier davon ausgehen, dass die listen bereits sortiert sind? da man ja mit der insert funktion, die man vorher geschrieben hat, sortiert einfügt.

oder soll man hier erst die listen sortieren und dann vergleichen? (für die zweite variante wären es zu wenig punkte ^^")
Benutzeravatar
Saruwatari
 
Beiträge: 6
Registriert: 20.09.06 07:18

Beitragvon mirko » 26.01.08 16:49

ihr dürft davon ausgehen, dass die queues sortiert sind.
mirko
 
Beiträge: 1032
Registriert: 22.10.06 18:33
Studiert seit: WS 12/13

Beitragvon Coolcat » 26.01.08 16:51

Ich glaube man sollte einfach noch eine Aufgabe 0 für 1-2 Punkte einführen: "Aufgabenstellung lesen!"

Übung 11 hat geschrieben:Sie dürfen davon ausgehen, dass die Funktionen in (b) - (f) stets mit korrekten Priority Queues aufgerufen werden.
My software never has bugs. It just develops random features.
Benutzeravatar
Coolcat
Promoter
 
Beiträge: 2574
Registriert: 28.11.05 21:26
Wohnort: Kohlscheid / Düsseldorf
Studiengang: Informatik (Dipl.)
Studiert seit: fertig
Anwendungsfach: BWL

Beitragvon LeeJan » 26.01.08 18:01

Hi @ all,
wie ich sehe hat "aRo" auch das Problem was ich am Anfang hatte, aber ich habe es nun verstanden wie sie das haben wollten bzw wie man das implementiert.

Man kann es wie ein Tupel auffassen (Priorität, Wert/Aufgabe), aber man muss nicht.
Versuch mal, anstatt nur zwei Argumente noch eins reinzubringen bei dem Konstruktor "Store".

Gruß
pajemaisch par rusky?
LeeJan
 
Beiträge: 73
Registriert: 09.12.06 01:58
Wohnort: Aachen

Nächste

Zurück zu Praktische Informatik