szabivan

dupling

May 5th, 2015
421
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 0.88 KB | None | 0 0
  1. /*
  2. 4.      Írj egy olyan relacio predikátumot Prologban, mely két egész számokból álló lista közötti relációt fejez ki.
  3. Két lista akkor van relációban egymással, ha a hosszuk megegyezik, és az első lista minden nem 0 elemének duplája szerepel
  4.  a második lista ugyanazon pozíciójában! Pl.: relacio([2,0,3],[4,5,6]). -ra: True.
  5. */
  6.  
  7. relacio([],X) :- !, X=[]. /* ha a bal oldal üres lista, akkor a másik két szabályt nem kell már kipróbáljuk, vágunk; accept, ha a jobb oldal is üres*/
  8. relacio([0|T1],[_|T2]) :- !, relacio(T1,T2). /*ha a bal oldalon 0 a fej, vágunk (a következő szabályt nem próbáljuk ki, ha relacio(T1,T2) false-t mond), hasonlítunk tovább*/
  9. relacio([H1|T1],[H2|T2]) :- H2 =:= 2*H1, relacio(T1,T2). /*ide csak akkor futunk, ha H1 nem nulla. =:=-vel hasonlítunk értéket, ha mindkét oldal biztosan konstans, aztán rekurzív hívás*/
Advertisement
Add Comment
Please, Sign In to add comment