Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Łączenie struktur w Prologu

Ostatnio zmodyfikowano 2012-09-16 09:53
Autor Wiadomość
jsc
Temat założony przez niniejszego użytkownika
Łączenie struktur w Prologu
» 2012-09-13 13:53:14
Mam coś takiego:

ma([]).
kto([Ala]).
co([As]).

i chcę zrobić coś takiego:

conced(kto,co,ma).
aby na zapytanie ?- ma([X|Y]).
Dostać:
X = Ala
Y = As

Zna sposób, aby to jakoś zrobić?
P-64865
DejaVu
» 2012-09-13 14:00:00
Przeanalizuj sobie przykłady - może coś z nich wyciągniesz:

Zad 1

lubi(ewa,radio).
lubi(jan,radio).
lubi(_,auto).
posiada(ewa,radio).
posiada(jan,auto).
%posiada(ewa,auto).
korzysta(ewa,telefon).
korzysta(X,Y):-lubi(X,Y),posiada(X,Y).
silnia(X,N):-M is N-1,silnia(X,1,M),X is X1*N.
silnia(X,1):-1.

Zad 2

silnia(X,N):-
N>0,%wykonaj tylko dla N>0
M is N-1,% M wynosi N-1
silnia(X1,M),%wywołaj rekurencyjnie silnię z wartościami X1,M
X is X1*N.%oblicz X = X1*N
silnia(1,0).%silnia z 1 jest równa 0

Zad 3

%[[a,b],[],[c]]
element(a,[a,b,c]).%true
element(d,[a,b,c]).%false
element(X,[a,b,c]).% X=a, X=b, X=c
element(X,[G1|O]):-X==G. % tamo prościej: element(X,[X|O]).
element(X,[G|O]):-element(X,O).
element(X,[X|_]).
element(X,[_,O]):-element(X,O).
%http://home.agh.edu.pl/~gjn/dydaktyka/LecRBS/GJN-LabProlog/node4.html
%
/edit:
http://home.agh.edu.pl/~gjn/dydaktyka/LecRBS/GJN-LabProlog/node4.html
P-64868
jsc
Temat założony przez niniejszego użytkownika
» 2012-09-13 14:52:40
Chyba zaszło nie porozumienie. Chodzi mi o to, żeby przekazać identyfikatory struktur do predykatów tak, aby te struktury były wykorzystane do danej czynności.
P-64869
DejaVu
» 2012-09-13 15:00:07
1. Nie wiem o co Ci chodzi :P
2. Jak się uczyłem prologa to przeczytałem ze 2/3 tutoriale dostępne na necie i były one wystarczające do napisania wielu rzeczy.
3. Ale pamięć jest ulotna... :P
P-64870
yoogi
» 2012-09-16 08:29:31
To forum o C/C++, a nie prologu. W prologu programowało się w prehistorii :)
P-65030
m4tx
» 2012-09-16 09:53:26
@up zobacz sobie lepiej kategorię, w której ten temat jest...
Forum » Programowanie » Inne języki
To, że to forum nie jest o Prologu to nie znaczy, że nie można o Prologa zapytać.
P-65038
« 1 »
  Strona 1 z 1