[Progra] Ü-Blatt 12

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

Ü-Blatt 12

Beitragvon bunower » 02.02.10 14:03

Ich braüchte ein bisschen hilfe bei der program Übung 12 1c
ich bekomme andauernd wenn ich es versuche auszuführen eine fehlermeldung :
Code: Alles auswählen
Main> sumTree bspInt

Program error: pattern match failure: sumTree bspInt

Benutzeravatar
bunower
 
Beiträge: 130
Registriert: 07.10.08 17:34
Studiengang: Informatik (B.Sc.)
Studiert seit: WS 09/10
Anwendungsfach: BWL

Beitragvon Domestos » 02.02.10 14:21

Was gibt denn bspInt für einen Typen zurück und welche Typen erwarten deine Pattern von sumTree?
Benutzeravatar
Domestos
 
Beiträge: 71
Registriert: 30.12.08 22:45
Studiengang: Informatik (M.Sc.)
Studiert seit: WS 08/09
Anwendungsfach: E-Technik

Beitragvon bunower » 02.02.10 14:34

hab dir eine pn geschriben
Benutzeravatar
bunower
 
Beiträge: 130
Registriert: 07.10.08 17:34
Studiengang: Informatik (B.Sc.)
Studiert seit: WS 09/10
Anwendungsfach: BWL

Beitragvon bunower » 02.02.10 15:02

kann mir vielleicht jmd ein Tipp geben wenn ich z.b.
ein Liste mit Int werten habe " [Int]"
wie ich jedes element einzel ausgeben könnte hiter einander.
meine Idee:
ausgabe::[Int]->Int
ausgabe (kopf:[])=kopf
ausgabe (kopf:rest)=kopf, ausgabe rest

da es dieses Komma nicht gibt stehe ich gerade im dunkel wie ich das amchen könnte.
Benutzeravatar
bunower
 
Beiträge: 130
Registriert: 07.10.08 17:34
Studiengang: Informatik (B.Sc.)
Studiert seit: WS 09/10
Anwendungsfach: BWL

Beitragvon C-Otto » 02.02.10 15:49

Ausgeben?
Dr. rer. nat. Carsten Otto
http://verify.rwth-aachen.de/otto/
Benutzeravatar
C-Otto
 
Beiträge: 568
Registriert: 10.08.06 00:20
Wohnort: Schwalbach am Taunus
Studiert seit: fertig
Anwendungsfach: BWL

Beitragvon bunower » 02.02.10 15:52

beser gesagt ich will zu einer anderen funktion ubergeben.
Benutzeravatar
bunower
 
Beiträge: 130
Registriert: 07.10.08 17:34
Studiengang: Informatik (B.Sc.)
Studiert seit: WS 09/10
Anwendungsfach: BWL

Beitragvon C-Otto » 02.02.10 15:53

Wenn du jedes Element der Liste weitergeben möchtest, solltest du einfach die ganze Liste übergeben.
Dr. rer. nat. Carsten Otto
http://verify.rwth-aachen.de/otto/
Benutzeravatar
C-Otto
 
Beiträge: 568
Registriert: 10.08.06 00:20
Wohnort: Schwalbach am Taunus
Studiert seit: fertig
Anwendungsfach: BWL

Beitragvon bunower » 02.02.10 15:56

Die aufgabensteller waren nicht so dumm, die ollten ja unbedingt:
Code: Alles auswählen
sumTree:: Tree Int -> Int
und nicht
sumTree::[Tree Int]-> Int

und deshlab versuche ich dieses [Tree Int] immer mit einer hilfsfunktion zu zerlegen und dann den kopf zu sumTree zu übergeben.
Naja abgabe zeit ehh vorbei.
Benutzeravatar
bunower
 
Beiträge: 130
Registriert: 07.10.08 17:34
Studiengang: Informatik (B.Sc.)
Studiert seit: WS 09/10
Anwendungsfach: BWL

Re: Ü-Blatt 12

Beitragvon O.D. » 02.02.10 18:33

Zum Ausgeben eines Arrays im Interpreter musst Du es einfach eingeben:
Code: Alles auswählen
> let meineListe = [47,42,314]
> meineListe
[47,42,314]
>


bunower hat geschrieben:Ich braüchte ein bisschen hilfe bei der program Übung 12 1c
ich bekomme andauernd wenn ich es versuche auszuführen eine fehlermeldung :
Code: Alles auswählen
Main> sumTree bspInt

Program error: pattern match failure: sumTree bspInt


Code: Alles auswählen
> :t sumTree
foo -> bar1 -> ... -> barN
> :t bspInt
[Int]

wenn nun "foo" != [Int], dann klappts nicht (das ist nicht die ganze Wahrheit, aber fuer Progra reicht die Formulierung wohl :)).

P.S.: Ein wunderschoen gemachtes Haskell"buch" gibts von dort wo auch mein toller Lambdaroboter her ist: http://learnyouahaskell.com/ ;)
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


Zurück zu Praktische Informatik