Ergebnis 1 bis 2 von 2

Thema: Schulprojekt - Problem mit ProLog

  1. #1
    HTML Newbie
    Registriert seit
    12.09.2007
    Beiträge
    4
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Schulprojekt - Problem mit ProLog

    Hallo Liebe community,
    Ich habe zz das thema ProLog in Informatik und mein Problem ist folgendes.

    Ich bin ein bisschen weiter als die aus meinem Kurs. Die basteln zur Zeit an diesem
    Code:
      SEND
    + MORE
    =MONEY
    rum.

    Nun ich soll das nun Rekursiv machen. Das heißt dass es egal ist wieviele Zeichen zusammen addiert werden.

    Ich habe mir überlegt dies mit Listen zu machen. ich schreibe einfach mal den Quelltext hin:

    Code:
    %anhaengen(L1,L2,L12) Liste L2 hinten an Liste L1 angehaengt ergibt Liste L12.
    
    anhaengen([],L,L).
    anhaengen([K|Rest1],L2,[K|Rest2]) :- anhaengen(Rest1,L2,Rest12).
    
    %umkehren(Liste_u,Liste) Liste_u ist die umgedrehte Version von Liste.
    
    umkehren([],[]).
    umkehren([K|Rest_u],Liste :- anhaengen(Rest,[K],Liste),
                                               umkehren(Rest_u,Rest),!.
    nun habe ich schonmal herausgefunden wie lang die Listen sind (bzw die Wörter die ich addieren will).

    Nun mein problem... wie kann ich nun mit Listen komfortabel Addieren. Oder kann mir jemand den Quellcode vllt schonmal zu Ende schreiben?
    Ich bin doch grade ein bisschen überfordert damit...
    vielen Dank im vorraus.
    MfG
    Dreamwatcher
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Forum Guru Avatar von The User
    Registriert seit
    28.10.2007
    Ort
    Zwischen Pazifik und Atlantik...
    Beiträge
    4.044
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Bitte!

    Code:
    anhaengen([],L,L).
    anhaengen([K|Rest1],L2,[K|Rest2]) :- anhaengen(Rest1,L2,Rest2).
    %am Ende ist dann Rest1=[] und Rest2=L2, und die erste Zeile kommt zum Zug
    
    letzteselementsplitt([K],K,[]).
    letzteselementsplitt([K|Rest],M,[K|Rest2]) :- letzteselementsplitt(Rest,M,Rest2).
    %diese Regeln könnten noch mal recht praktisch sein: sie spalten nicht das erste- wie bei [H|T], sondern das letzte ab!
    
    umkehren([],[]).
    umkehren([Mitte],[Mitte]).
    umkehren([K|Rest],Liste) :- letzteselementsplitt(Liste,K,Anfang),umkehren(Rest,Anfang).
    %Es werden immer die äußeren genommen und abgespalten.
    So, da sind auch Kommentare, bitte!

    Mit freundlichen Grüßen
    The User

Ähnliche Themen

  1. hilfe bei schulprojekt
    Von im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 22
    Letzter Beitrag: 07.05.2008, 12:45
  2. Prolog Problem
    Von Bit2_Gosu im Forum Forum für alle anderen Programmiersprachen
    Antworten: 2
    Letzter Beitrag: 12.09.2007, 19:11
  3. prolog etwas fortgeschrittenes problem
    Von sponnke im Forum Forum für alle anderen Programmiersprachen
    Antworten: 2
    Letzter Beitrag: 12.09.2007, 19:00
  4. Schulprojekt
    Von goodn8 im Forum Forum für Grafiken und Bildbearbeitung
    Antworten: 11
    Letzter Beitrag: 26.06.2007, 22:14
  5. Schlagzeugsite - Schulprojekt
    Von joel im Forum Eure Homepages und Foren - Vorstellung und Bewertungen
    Antworten: 2
    Letzter Beitrag: 04.01.2007, 15:48

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •