www.jammni.de

Logo - Kleiner Drache
Login
Username:

Passwort:

Daten merken
Auto-Login
Registrieren
 
Online
niemand
 
Forumsuche
Suche nach:

Logo - DracheHaskell-Forum

vorherige Seite 1 2 3 4 5 6 nächste Seite

echsel

Gepostet:
18.01.2005 21:54

   
Es ist aber immer noch nicht mit der Liste verkettet. Die Funktion soll als Argument ein Element aus der Bücherliste erwartet und als Wert eine Zeichenkette liefert, in der alle relevanten Informationen zu diesem Buch sind. Und so bekomme ich das was ich selbs in aufruf eingebe.

grüß echsel
Zum Seitenanfang    
 
Jacke

Gepostet:
19.01.2005 11:50

   
also die Eingabe von showbook ist schon korrekt so, du mußt nur noch so ne Hilfsfunktion wie examplelist schreiben...das kannst du auch alleine...angenommen du nennst deine Hilfsfunktion first_book die als Rückgabewert das erste Buch der Bücherliste ausgibt...
dann rufst du show_book mit
show_book firstbook examplelist auf...

gruß jacke
Zum Seitenanfang    
 
echsel

Gepostet:
20.01.2005 19:43

   
Hallo Jacke

Habe heute mich mit meinem Profesor gotroffen. Er hat gesagt, das die Liste falsch erzeugt ist :/// Die Liste soll in Form [(((Schlüssel1,Eintrag1),(schlüssel2,Eintarg2)...),(...))]erstell werden. Bei mir fehlt die Schlüssel. z.B.
((authors,[Simon Thomson,Dan Gookin]),(...))
das ändert viell :/
kannst du mir noch mal helfen?

MfG
echsel
Zum Seitenanfang    
 
Jacke

Gepostet:
21.01.2005 09:08

   
hmm was sollen denn die schlüssel sein? authors?...also soll in authors alle authoren drin stehen...??? in titels alle titel..usw?
woran soll man dann erkennen welches element wo dazu gehört?...an der reihenfolge der listen?
bitte antworte schnell hier drauf...wenn er das so haben will muß man alles nochmal umschreiben...weil das jede funktion verändert..
hmm hab mir grad die aufgabenstellung angesehen..die hab ich wohl wirklich falsch interpretiert...tut mir leid...ich mach mir in der uni mal nen kopf und schreibt dir heute noch

gruß jacke
Zum Seitenanfang    
 
Jacke

Gepostet:
21.01.2005 09:57

   
also ich les mir grad immer wieder die aufgabe durch aber ich kann echt nicht das rein interpretieren was dein prof da will..
da steht alles in einzahl...erscheinungsjahr, titel...da muß man doch denken das er eine liste von tupeln meint und nicht ne liste von titel und ne liste von autoren und ne liste von erscheinungsjahren...


((authors,[Simon Thomson,Dan Gookin]),(...))----> hast du dir das ausgedacht oder hat dir das dein prof vorgegeben?

wenn das nicht von deinen prof kam...sondern von dir dann hätt ich noch ne vorstellung was er meinen könnte...
nämlich das alles mit nen schlüßelwort versehen wird...
(author,"Simon Thomson"),(titel,"Haskel the art of programming"),(year,("1998")...)
wobei die schlüßelwörter unglecih den datentypen sind...die müßte ich ja auch noch abändern...seufz...???
kannste du deinen prof noch mal ne mail schreiben?
Zum Seitenanfang    
 
echsel

Gepostet:
21.01.2005 12:27

   
also ich habe ein e-mail na prof. geschikt und warte jetzt auf eine Antwort. Aber in Afgabestellung steht (und so habe ich ihn verstanden) dass ich muss eine Liste erzeugen mit 4 Elementen und jedes Element muss solche Struktur haben
( (autoren , Liste von Autoren ),
(titel , Titel des Buches ),
(verlag , Verlag in welchem das Buch erschienen ist ),
(jahr , Erscheinungsjahr des Buches ),
(preis, Buchpreis in Euro ) )

also es geht um die Paaren. Jedes Element hat Schlüssel "autoren", und das ergibt 4 verschiedene Paaren
Element1: ((autoren,[autorA1,autorA2])...)
Element2: ((autoren,"autorB1")...)

Ich weiss nur nicht ob wenn es nur 1 Autor gibt, heiss das ((autoren,"autorB1")...) oder ((autoren,[autorB1])...)

beim Titel usw. denke ich man muss String nutzen, so wie du geschrieben hast
(titel,"Haskel the art of programming")
Zum Seitenanfang    
 
Jacke

Gepostet:
21.01.2005 15:40

   
so erstmal hab ich jetzt new_entry umgeschrieben...kannst deinen prof ja mal fragen ob das so korrekt ist oder ob er sich die schlüßelwörter anders als als strings vorstellt...
type Author=(String,[String])
type Titel=(String,String)
type Publisher=(String,String)
type Year=(String,String)
type Price=(String,String)
type Booklist=[(Author,Titel,Publisher,Year,Price)]

exampleList::Booklist
exampleList=new_entry (new_entry [] ([("Simon Thomson"),("tufftuff")],"The craft of functional Programming","Addison-Wesley","1999","39,90e")) ([("Dan Gookin")],"Haskell für Dummies","MitP","1998","99,99e")

new_entry::Booklist->([String],String,String,String,String)->Booklist
new_entry list (a,t,pub,y,pr) =[(("author",a),("titel",t),("publisher",pub),("year",y),("price",pr))]++list


so weit so gut...;)
Zum Seitenanfang    
 
Jacke

Gepostet:
21.01.2005 16:16

   
so hier ist erstmal alles ausser die showfunktion...Smilie
die mach ich erstmal nicht...erst wenn dein prof das ok gibt das das jetzt so stimmt hier...
type Author=(String,[String])
type Titel=(String,String)
type Publisher=(String,String)
type Year=(String,String)
type Price=(String,String)
type Booklist=[(Author,Titel,Publisher,Year,Price)]

exampleList::Booklist
exampleList=new_entry (new_entry [] ([("Simon Thomson"),("tufftuff")],"The craft of functional Programming","Addison-Wesley","1999","39,90e")) ([("Dan Gookin")],"Haskell für Dummies","MitP","1998","99,99e")

new_entry::Booklist->([String],String,String,String,String)->Booklist
new_entry list (a,t,pub,y,pr) =[(("author",a),("titel",t),("publisher",pub),("year",y),("price",pr))]++list

searchTitel::Booklist->String->[String]
searchTitel eList s=[(t)|((author,a),(titel,t),(publisher,pub),(year,y),(price,pr))<-eList,substr s t]

substr :: String -> String -> Bool
substr [] _ = True
substr (_:_) [] = False
substr (x:xs) (y:ys) = substr (x:xs) ys || f_substr (x:xs) (y:ys)
where
f_substr [] _ = True
f_substr (_:_) [] = False
f_substr (x:xs) (y:ys) = (x==y) && f_substr xs ys

allAuthors :: Booklist->[Author]
allAuthors eList=[(author)|(author,titel,publisher,year,price)<-eList]

num_List::Booklist->[(Int,Titel)]
num_List eList= zip [1..length titels] titels
where titels=[(titel)|(author,titel,publisher,year,price)<-eList]


ich fahre morgen mittag zum geburstag von meinen opa...kuck aber bis morgen mittag noch mal ins forum...sonntag hab ich dann wieder richtig viel zeit dir weiter zu helfen...

gruß jacke
Zum Seitenanfang    
 
echsel

Gepostet:
21.01.2005 17:26

   
Ich habe ne Antwort bekommen:

in dem 5er-Tupel von Paaren
( (autoren , Liste von Autoren ),
(titel , Titel des Buches ),
(verlag , Verlag in welchem das Buch erschienen ist ),
(jahr , Erscheinungsjahr des Buches ),
(preis, Buchpreis in Euro ) )

müssen Sie für die kursiv dargestellten Elemente natürlich geeignete Datenobjekte von Haskell wählen, um die gewünschten Informationen darstellen zu können.
Eine Darstellung der Form

( (autoren,[Simon Thomson,Dan Gookin]), (...), ... )

kann nicht richtig sein, da Buchstabenfolgen, die mit einem Großbuchstaben beginnen, nur als Klassen oder Modulnamen dienen oder Namen von speziellen Datenobjekten sind, z.B. True und False. Sofern die Bedeutung der Namen nicht in Prelude.hs deklariert ist, müssen Sie in Ihrem Programm eigene Deklarationen dafür angeben. Ich glaube nicht, daß Sie das für alle Namen von Personen tun wollen! - Die Verwendung von Zeichenketten ist hier sicher sinnvoller.

Ihr Vorschlag ist aber auch in diesem Sinne nicht korrekt:
((autoren,"Simon Thomson"),(titel,"Haskel the art of programming"),(jahr,("1998")...)

1) bei autoren ist eine Liste von Autoren anzugeben, bei Ihnen steht nur eine Liste von Buchstaben
2) beim Paar (jahr, xxx) kann xxx eine Zeichenkette sein, aber sie haben dann keine Möglichkeit, direkt mit diesem Objekt zu rechnen, z.B. in der Form xxx-5, sondern müssen die Zeichenkette immer erst in eine Zahl umwandeln
3) Bemerkung 2 gilt auch für das Paar (preis, ppp)
ENDE :)

Also beim ([("Simon Thomson"),("tufftuff")],"The craft of functional Programming", ... ) denke ich sind schon die richtege Datenobjekte:)
Und ich verstehe nicht examplelist. Alle Typen wie Autor,Titel usw. sollen die Paaren sien.
in exampleList=new_entry (new_entry [] ([("Simon Thomson"),("tufftuff")],"The craft of functional Programming","Addison-Wesley","1999","39,90e"))
sehe ich einzelne Einträge. Ich weiss nicht, ob man Slüssel "autoren"... usw. verlassen kann. Die muss man irgendwie berücksichtigen.

ps. Danke dass du mir immer noch hilfst


Smilie

MfG
echsel
Zum Seitenanfang    
 
Jacke

Gepostet:
21.01.2005 22:46

   
ok ich mach mir bis sonntag mal nen kopf...garnich mal so einfach was er da will...hmm was kann mir nich so richtig vorstellen was er jetzt nun für schlüssel will...die string idee scheint ihm ja wenigstens schonmal zuzusagen...gutgut...
ich meld mich sonntag wieder...seufz werd wohl doch nicht um data rumkommen...

gruß jacke
ps: helf dir doch gerneSmilie
Zum Seitenanfang    
 

vorherige Seite 1 2 3 4 5 6 nächste Seite