[Progra] Übung 10 Aufgabe 4

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

Übung 10 Aufgabe 4

Beitragvon zorgblaubaer » 16.01.08 20:08

hey,

nur eine kurze frage: gibt es punktabzug, wenn die delete funktion die liste beim löschen umdreht? also das zb

Code: Alles auswählen
delete [3,2,4]


statt [3,4] bei mir [4,3] zurück gibt?
Benutzeravatar
zorgblaubaer
 
Beiträge: 180
Registriert: 05.08.07 20:44
Wohnort: Neuss // Aachen

Beitragvon theTux » 16.01.08 20:12

Bei Listen im Allgemeinen ja - bei Mengen (bei denen die Reihenfolge, wie in der Aufgabenstellung steht, egal ist) nein.
Stur lächeln und... oh, falscher Pinguin.
Benutzeravatar
theTux
 
Beiträge: 577
Registriert: 15.01.06 16:41

Beitragvon O.D. » 16.01.08 20:12

Deine Frage kann ich leider nicht beantworten, aber warum drehst Du sie (die Liste) nicht einfach (vorher oder hinterher) um?
Funktion entweder selbst schreiben, oder
Code: Alles auswählen
reverse :: [a] -> [a]
benutzen.
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 » 16.01.08 21:26

@ O.D. Es dürfen keine vordefinierten Funktionen benutzt werden (außer denen die angegeben sind und natürlich den Listen-Konstruktoren)

delete kann man übrigens auch schreiben ohne die Liste dabei zu drehen.
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. » 16.01.08 21:41

Diese Regel keine vordefinierten Funktionen benutzen zu dürfen ist bei Haskell etwas ... unschlau. Man muss nur mal die Prelude.hs öffnen, da stehen alle drin, einfach ins eigene Projekt kopieren und benutzen. Dann kann man das delete durch einen sehr kurzen Aufruf von filter implementieren.
Edit: Ach mir fällt grad auf, dass das mit dem filter nur funktioniert, wenn man die Aufgabe hat alle Vorkommen zu löschen, oder die vorhandene Liste jedes Element nur einmal enhält.
Aber ich wollte mit dem Beispiel nur klar machen, dass diese Einschränkung total sinnlos ist.
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 HE » 16.01.08 21:44

O.D. hat geschrieben:Diese Regel keine vordefinierten Funktionen benutzen zu dürfen ist bei Haskell etwas ... unschlau. Man muss nur mal die Prelude.hs öffnen, da stehen alle drin, einfach ins eigene Projekt kopieren und benutzen. Dann kann man das delete durch einen sehr kurzen Aufruf von filter implementieren.


Der Sinn der Übungen ist nicht, das Prelude zu kopieren, sondern selber zu denken, wie man sowas macht. Wenn du's kopierst, gibt's dementsprechend 0 Punkte.

Was ganz anderes, bevor hier eine Frage kommt: Ja, Aufgabe 4(a) ist fehlerhaft, da steht contains:: [Int] -> Int -> Bool und im Text wird contains 2 [3,2,4] als Beispiel genannt. Eins von beiden paßt nicht, aber da muss der Lehrstuhl ein Update für die Übung rausgeben, um das zu fixen. Mail sollten sie darüber haben.
Benutzeravatar
HE
 
Beiträge: 453
Registriert: 09.03.07 12:20
Wohnort: Aachen
Studiert seit: WS 06/07
Anwendungsfach: Mathe

Beitragvon Coolcat » 16.01.08 21:45

Man muss nur mal die Prelude.hs öffnen, da stehen alle drin, einfach ins eigene Projekt kopieren und benutzen.

Und wieso nimmst du an das wäre erlaubt? Du brauchst diese Funktionen nicht!
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. » 17.01.08 00:33

Es muss mir (bzw. dem der das Blatt bearbeitet) doch erlaubt sein Hilfsfunktionen zu schreiben.
Und nu' beweis mal, dass die Funktion aus der prelude und nicht aus dem eigenen Hirn stammt.

Was ich meine ist, dass es doch eigentlich Zeichen ist, dass man sich mit der Materie beschäftigt hat, wenn man vordefinierte Funktionen verwendet. Und genau darum sollte es gehen. Aber nun gut.

Am meisten Haskell (nein streich das, eigentlich alles) habe ich dadurch gelernt indem ich mir die Funktionen der prelude durchgelesen und nachvollzogen habe - diese Schnipsel die man in dieser tollen VL bekommt sind 'n Scherz.
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 Alexander Urban » 17.01.08 00:48

O.D. hat geschrieben:Und nu' beweis mal, dass die Funktion aus der prelude und nicht aus dem eigenen Hirn stammt.
Die meisten Kommilitonen machen das den Tutoren ganz einfach, indem sie wirklich 1:1 kopieren, die kryptischen Variablennamen stehenlassen die keiner verwenden würde usw.

Am meisten Haskell (nein streich das, eigentlich alles) habe ich dadurch gelernt indem ich mir die Funktionen der prelude durchgelesen und nachvollzogen habe - diese Schnipsel die man in dieser tollen VL bekommt sind 'n Scherz.
Also hat die Vorlesung ihr Ziel erreicht - sie hat dich und viele Kommilitonen auf diese wunderschöne Art zu programmieren gestoßen, erste Ansätze gezeigt und dir den Rest zum Selbststudium überlassen. Da Haskell keine wirklich "wichtige" Programmiersprache ist, d.h. kein Must-Have, sollte das ausreichen. Jeder Informatik-Student weiß jetzt, was in der Hauptstudiums-VL "Funktionale Programmierung" gemacht wird...
Nicht der Staat gewährt den Bürgern Freiheit, sondern die Bürger dem Staat Einschränkungen ihrer Rechte.

Kontrollierende und inhaltlich wertende Eingriffe in eine technologisch neutrale Infrastruktur sind eine Gefahr für den freiheitlichen Rechtsstaat.
Alexander Urban
 
Beiträge: 699
Registriert: 19.04.06 20:25
Wohnort: KaWo2
Studiengang: Informatik (Dipl.)
Studiert seit: SS 07
Anwendungsfach: Medizin

Beitragvon Blubberator » 17.01.08 01:22

Zählt eine "bedingt definierte Gleichung" zu vordefinierten Funktionen im Sinne der Aufgabenstellung?

Darf man sie also nicht verwenden?
Blubberator
 
Beiträge: 19
Registriert: 13.09.07 17:40

Beitragvon mirko » 17.01.08 08:25

Blubberator hat geschrieben:Zählt eine "bedingt definierte Gleichung" zu vordefinierten Funktionen im Sinne der Aufgabenstellung?

Darf man sie also nicht verwenden?


ja, allerdings darfst du als vergleichsoperator nur ">" nehmen // EDIT: dies gilt nur für aufgabe 2!

@O.D.: guck dir mal das übungsblatt an, dann wirst du verstehen, warum man funktionen wie "sum" nicht benutzen darf...
Zuletzt geändert von mirko am 17.01.08 19:04, insgesamt 1-mal geändert.
mirko
 
Beiträge: 1032
Registriert: 22.10.06 18:33
Studiert seit: WS 12/13

Beitragvon LeeJan » 17.01.08 15:50

Hi,
kann mir vielleicht jemanden einen Tip geben für den Aufgabenteil a.)?
Denn ich habe grad hier imForum gelesen, das wir auch hier in der Aufgabe nur '+' und '>' benutzen dürfen und da weiß ich grad nicht so recht wie ich mit den beiden Operatoren Zahlen vergleichen soll :S

Danke schon mal im Vorraus
pajemaisch par rusky?
LeeJan
 
Beiträge: 73
Registriert: 09.12.06 01:58
Wohnort: Aachen

Beitragvon theTux » 17.01.08 16:24

Mit dem '+' wirst du das kaum schaffen, aber das '>' ist sehr mächtig in Kombination mit der logischen Negation, dem if-then-else-Konstrukt oder dem '|'.
Stur lächeln und... oh, falscher Pinguin.
Benutzeravatar
theTux
 
Beiträge: 577
Registriert: 15.01.06 16:41

Beitragvon HE » 17.01.08 16:52

mirko hat geschrieben:
Blubberator hat geschrieben:Zählt eine "bedingt definierte Gleichung" zu vordefinierten Funktionen im Sinne der Aufgabenstellung?

Darf man sie also nicht verwenden?


ja, allerdings darfst du als vergleichsoperator nur ">" nehmen


Eh, nein. Bei Aufgabe 4 darf man das "==" verwenden (bei Aufgabe 2 war nur ">" erlaubt).
Benutzeravatar
HE
 
Beiträge: 453
Registriert: 09.03.07 12:20
Wohnort: Aachen
Studiert seit: WS 06/07
Anwendungsfach: Mathe

Beitragvon mirko » 17.01.08 19:06

mein posting war nur auf aufgabe 2 bezogen.

im übrigen gilt die aufgabenstellung vom aufgabenblatt; nicht dass, was wir hier posten :P
mirko
 
Beiträge: 1032
Registriert: 22.10.06 18:33
Studiert seit: WS 12/13

Nächste

Zurück zu Praktische Informatik