[Progra] Blatt 11 Aufgabe 2a

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

Beitragvon NeX » 27.01.08 11:52

sind diese beiden listen

Store 10 "Uebung" (Store 2 "Essen" (Store 1 "schlafen" EmptyQueue ))
und
Store 2 "Essen" (Store 1 "schlafen" EmptyQueue )

im sinne der aufgabe 2 g gleich?

oder müssen es tatsächlich identische Listen sein?
Don't think about....Just do it!
Benutzeravatar
NeX
 
Beiträge: 550
Registriert: 18.10.07 16:03
Wohnort: Mönchengladbach
Studiengang: Informatik (B.Sc.)
Studiert seit: WS 08/09
Anwendungsfach: BWL

Beitragvon mirko » 27.01.08 11:54

die sind natürlich nicht gleich.
mirko
 
Beiträge: 1032
Registriert: 22.10.06 18:33
Studiert seit: WS 12/13

Beitragvon NeX » 27.01.08 11:57

so natürlich finde ich das gar nicht ...deshalb die frage...

denn in den beiden obengenannten Listen haben die Aufgaben jeweils dieselben Prioritäten...

deshalb auch die frage ....

aber jetzt habe ich ja bestätigung ...danke :)
Don't think about....Just do it!
Benutzeravatar
NeX
 
Beiträge: 550
Registriert: 18.10.07 16:03
Wohnort: Mönchengladbach
Studiengang: Informatik (B.Sc.)
Studiert seit: WS 08/09
Anwendungsfach: BWL

Beitragvon mirko » 27.01.08 12:16

NeX hat geschrieben:denn in den beiden obengenannten Listen haben die Aufgaben jeweils dieselben Prioritäten...


welche priorität hat denn die aufgabe '"Uebung" in der 2. queue? zugegeben, ich fand das gerade auch etwas seltsam formuliert, aber es müssen natürlich auch die selben aufgaben drin sein, sonst können die queues ja nicht wirklich gleich sein...
mirko
 
Beiträge: 1032
Registriert: 22.10.06 18:33
Studiert seit: WS 12/13

Beitragvon NeX » 27.01.08 12:22

mirko hat geschrieben:welche priorität hat denn die aufgabe '"Uebung" in der 2. queue? zugegeben, ich fand das gerade auch etwas seltsam formuliert, aber es müssen natürlich auch die selben aufgaben drin sein, sonst können die queues ja nicht wirklich gleich sein...


für die aufgaben die existieren sind es ja die gleichen....sinn machen würde es trotzdem nicht....

ich habe mich also nur von dieser doch "sehr seltsamen" Formulierung verwirren lassen :)
Don't think about....Just do it!
Benutzeravatar
NeX
 
Beiträge: 550
Registriert: 18.10.07 16:03
Wohnort: Mönchengladbach
Studiengang: Informatik (B.Sc.)
Studiert seit: WS 08/09
Anwendungsfach: BWL

Beitragvon Der Fuß » 27.01.08 16:19

Was genau will die Aufgabe 2a) denn von mir?
Soll ich da nur diese eine Zeile schreiben: data PriorityQueue a =...?
Wie kann man dann (z.B. bei der Aufgabe b) die Sache ausprobieren?
Bei mir leifert Hugs immer irgendwelche Fehlermeldungen, da ich ja nur die eine Zeile aus a) und mein deleteTasks habe.
Benutzeravatar
Der Fuß
 
Beiträge: 114
Registriert: 27.10.07 17:11

Beitragvon Purzelbaum » 27.01.08 16:38

Ich sitzt da jetzt auch schon paar Tage dran und hab keine Idee wie das funktionieren soll.

Über das von LeeJan (bisschen abgeändert)
Code: Alles auswählen
data PriorityQueue a = EmptyQueue | Store (PriorityQueue a) deriving Show
hab ich auch schon nachgedacht und hab es auch so benutzt.
Die Beispiele von der Folie III5_Typen versteh ich aber ich schaff einfach nicht dort eine Parallele zur Aufgabe 2 zu finden.

In 2a) steht wie data PriorityQueue a auszusehen hat aber weiter kommt ich einfach nicht. Denn was mach ich jetzt, wenn dort steht:
"Die Priority Queue spq des Studenten könnte also wie folgt repräsentiert werden: .... und hat den Typ PriorityQueue String."
Wie erstell ich jetzt so eine Priority Queue spq vom Typ String?
Code: Alles auswählen
type spq = PriorityQueue String
funktioniert nicht, was anderes weiß ich auch nicht. Die spq muss ja irgendwas mit dem vorher definierten Datentypen zu tuen haben aber mehr weiß ich auch nicht.
Purzelbaum
 
Beiträge: 63
Registriert: 15.12.07 20:13

Beitragvon Coolcat » 27.01.08 16:43

@DerFuß:
Dank des "deriving Show" kann Hugs den Queue auf dem Bildschirm
ausgeben. D.h. wenn deine Funktion einen Queue zurückgibt kannst du
prüfen ob der richtig ist. Einfach ein paar Werte einsetzen.

Beispielsweise die Funktion insertTask sieht ja so aus:
insertTask :: Eq a => Int -> a -> PriorityQueue a -> PriorityQueue a
Wenn du nun also z.B.
insertTask 5 "Blabla" EmptyQueue
eintippst, sollte da
Store 5 "Blabla" EmptyQueue
rauskommen.

@Purzelbaum: Das a ist eine Typvariable. Haskell sucht sich den passenden Typ selbst. Du musst also nicht explizit angeben, dass es sich um einen String handeln soll.
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 Der Fuß » 27.01.08 16:55

Ich kann das Programm (Bsp. deleteTasks) aber garnicht in den Interpreter laden, weil immer irgendwelche seltsamen Fehler auftauchen
(Syntax error in declaration (unexpected `;', possibly due to bad layout) oder Undefined data constructor "PriorityQueue")
Dabei benutze ich im ganzen Programm kein einziges ;!!!
Benutzeravatar
Der Fuß
 
Beiträge: 114
Registriert: 27.10.07 17:11

Beitragvon Coolcat » 27.01.08 17:01

Dann liegt das aber daran das du da murks eingetippt hast und nicht an der Aufgabe.
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 Der Fuß » 27.01.08 17:07

Ja, ich weiß, dass ich da Fehler drin habe, aber ich habe keine Ahnung, wo die sind.
Ohne zuviel meines eh falschen Programms preiszugeben, beschreibe ich nun kurz, was ich bisher habe und würde mich freuen, wenn jemand mir sagen könnte, was da fehlt:

Ich habe eine Zeile: data PriorityQueue a =...
und dann das Programm deleteTasks, mit Patterns für
1. irgendwas und EmptyQueue
2. irgendwas und PriorityQueue

FINITO

Da fehlt wahrscheinlich noch was, ich weiß aber nicht was UND: Mein Programm ist falsch, weil ich nicht weiß, wie genau ich die Patterns formulieren soll.
Ich habe versucht, die Patterns aus Übungen (Binärbaum) oder die aus der Vorlesung (Liste) zu übertragen, funktioniert aber nicht.
Benutzeravatar
Der Fuß
 
Beiträge: 114
Registriert: 27.10.07 17:11

Beitragvon mirko » 27.01.08 17:07

edit: hm, zu langsam :P
mirko
 
Beiträge: 1032
Registriert: 22.10.06 18:33
Studiert seit: WS 12/13

Beitragvon Der Fuß » 27.01.08 17:08

ja, das kann sein... was sollte ich denn stattdessen nehmen, das was als alternative in der datenstruktur vorkommt und nicht emptyQueue ist? (Da kommt aber auch das Wort PriorityQueue drin vor...?)
Benutzeravatar
Der Fuß
 
Beiträge: 114
Registriert: 27.10.07 17:11

Beitragvon mirko » 27.01.08 17:09

Der Fuß hat geschrieben:1. irgendwas und EmptyQueue
2. irgendwas und PriorityQueue


da solltest du dich wohl lieber auf den anderen konstruktor beziehen und nicht auf den datentyp
mirko
 
Beiträge: 1032
Registriert: 22.10.06 18:33
Studiert seit: WS 12/13

Beitragvon Der Fuß » 27.01.08 17:12

ok, laut Übungsblatt sieht das ja so aus:

Store a (PriorityQueue a)
Benutzeravatar
Der Fuß
 
Beiträge: 114
Registriert: 27.10.07 17:11

VorherigeNächste

Zurück zu Praktische Informatik