[Code] Prolog Recrusion

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von taker875, 14. Januar 2010 .

Schlagworte:
  1. 14. Januar 2010
    Prolog Recrusion

    Moin,

    bin gerade dabei prolog zu lernen und bin nun bei der rekursion.

    brauche nun aber eure hilfe...

    das habe ich bis jetzt:

    on(X,[X|_]).
    on(X,[_|Rest]):-on(X,Rest).

    append([ ],L,L).
    append([X|Rest],L1, [X|L2]):-
    append(Rest,L1,L2).

    reverse([ ],[ ]).
    reverse([X|Rest],Y):-
    reverse(Rest,Z),
    append(Z,[X],Y).


    geradzahlig([ ]).
    geradzahlig([X]):-
    geradzahlig([_,_|Rest]).

    Bei geradzahlig kommt aber immer false?! Was mach ich da falsch?
    die leere liste ist ja immer geradzahlig, da 0. und dann soll er halt immer vorne 2 weg nehmen so lange bis die liste die länge 0 hat oder dies halt nicht möglich. aber es kommt immer false?! wer kann mir helfen?

    dann muss ich noch 4 andere Prädikate definieren:

    remove(Z,L1,L2). (entfernt zeichen Z aus liste L1 und gibt die neue liste L2 aus)

    subst(Neu,Alt,L1,L2). (soll in einer liste L1 von objekten überall wo das objekt Alt vorkommt dieses durch Neu ersetzen und die neue liste L2 ausgeben)

    max(Liste,Max). (Hier soll das größte Element Max einer Zahlenliste Liste ausgegeben werden)

    item(Pos,Liste,Element). (Hier soll aus einer liste Liste das element Element an der stelle Pos ausgegeben werden)

    wäre auch sehr dankbar wenn mir da wer weiter helfen kann. tu mich da echt noch schwer aber will das verstehen

    danke
     
  2. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.