smīns - aaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Bija vai ir saistība ar mani momenti / burti / spainis / golf club / hitchhikers / kults.lv / siets / 36.lv / ljp.lv / Ēku saimnieks
31.3.04 04:35
aaaaaaaaaaaaaaaaaaaaaaaaaaaaa

es tiešām to izdarīju
es uzrakstīju programmu PROLOGā un tiem, kuriem tas neko neizsaka, paskaidrošu, ka tā toč nav nekāda pastaiga:) ja man kāds vēl ap 21 būtu teicis, ka to izdarīšu... nu tas būtu smieklīgi:) bet kā gadījies, kā ne - pa kādām 6ām nieka stundām tas brīnums ir uzcepts:)


%predikaats nosaka, vai elements nav atrodams sarakstaa
not_member(X,[H|T]) :- X=\=H, not_member(X,T).
not_member(X,[]).

%predikaats nosaka, vai elements ir atrodams sarakstaa
member(A,[A|T]).
member(A,[B|T]) :- member(A,T).

%predikaats pievieno saraksta saakumaa elementu
add_elem(H, T, [H|T]).

%predikaats izvaac vienu elementu no saraksta, ja taads tur sastopams
remove(X,[],[]).
remove(X,[X|T],T).
remove(X,A,A) :- not_member(X,A).
remove(X,[H|T],A) :- member(X,T), remove(X,T,L), add_elem(H,L,A).

%paarbaudei, vai parametri ir korekti
all_are_lists(A,B,C,D,E,F) :- islist(A), islist(B), islist(C), islist(D), islist(E), islist(F).

%paarbauda vai visi saraksta elementi, kas ietilpst sarakstaa A
%ietilpst arii sarakstaa B
all_memb_AB([], A, B).
all_memb_AB([H|T],A,B) :- member(H,A), member(H,B), all_memb_AB(T, A, B).

%paarbauda vai visi saraksta elementi, kas ietilpst sarakstaa A
%neietilpst sarakstaa C
all_memb_not_C([], A, C).
all_memb_not_C([H|T],A,C) :- member(H,A), not_member(H,C), all_memb_not_C(T, A, C).

%paarbauda vai visi saraksta elementi, kas ietilpst sarakstaa A
%ietilpst sarakstos D un E
all_memb_not_DE([],A,D,E).
all_memb_not_DE([H|T],A,D,E) :- not_member(H,E), not_member(H,D), member(H,A), all_memb_not_DE(T,A,D,E).

%paarbauda vai visi saraksta elementi, kas ietilpst sarakstaa A
%ir atrodami sarakstaa tik pat daudz reizhu kaa sarakstaa A
memb_even([], A).
memb_even([H|T], A) :- not_member(H, A), memb_even(T, A).
memb_even([H|T], A) :- member(H, A), remove(H, A, A1), even_count(H, T, A1), memb_even(T, A1).

%paarbauda, vai dotais elements divos sarakstos ir atrodams
%vienaadu skaitu reizhu
even_count(Elem, L1, L2) :- not_member(Elem, L1), not_member(Elem, L2).
even_count(Elem, L1, L2) :- member(Elem, L1), member(Elem, L2), remove(Elem, L1, L3), remove(Elem, L2, L4),even_count(Elem, L3, L4).

%paarbauda vai visi saraksta elementi, kas ietilpst sarakstaa A
%ir atrodami sarakstaa tieshi par viens vairaak reizhu nekaa sarakstaa A
memb_one_more([], A).
memb_one_more([H|T], A) :- not_member(H, A), memb_one_more(T, A).
memb_one_more([H|T], A) :- member(H, A), even_count(H, T, A), remove(H, A, A1), memb_one_more(T, A1).

%galvenais predikaats, kas izpilda uzdevuma prasiibas
%straadaaja elementaars piemeers p([1, 2, 3, 4], [1, 1, 1], [5], [1], [1, 1], [3])
p(A, B, C, D, E, F) :-
    all_are_lists(A, B, C, D, E, F),
    all_memb_AB(D, A, B),
    all_memb_not_C(E, A, C),
    all_memb_not_DE(F, A, D, E),
    memb_even(D, A),
    memb_even(F, A),
    memb_one_more(E, A).


P.S. tikko atcerējos, ka šorīt tomēr jāceļas. laimes sajūta saplaka:)

Garastāvoklis:: neizmērojams miegs un laime:)
Mūzika: The Offspring - Original Prankster

8CommentReply Add to Memories Email this entry to a friend

moon
moon
moon
31.3.04 08:39

respectooo:)
/e gan shito pashu sarakstiija lekcijaa, bet nu bija ar kljuudaam, et tas vairaak taadeelj, ka nebija iespeejas paarbaudiit uz kaa uzkaras:)


ReplyThread
ns
ns
smīns
31.3.04 11:37

es riktīgi ar Amzi! Prolog mašīnu izcīnijos šito visu darbinot:)


ReplyThread Parent
nfoworm
nfoworm
ZXpower
31.3.04 10:43

Jaa nu - arii respect!

Vieniigais, skatoties uz posta laiku secinu, ja nebuutu tev ap 23 pateicis, ka drusku par veelu zvaniit - tu droshi vien man meegjinaatu zvaniit arii veelaak ... :))) Bet nu nekas - es neapvainojos ;)

Peec idejas - ja tu Churaanam shito vari paskaidrot (parasti vinjsh tieshi shitaadas lietas grib dzirdeet), tad skaiti, ka atziime tev ir kabataa :)


ReplyThread
ns
ns
smīns
31.3.04 11:39

es jau ilgi domāju pirms zvanīt arī 23. bet nu nekādi bez konsultācijas nevarēja:)


ReplyThread Parent
rem
rem
rem
31.3.04 11:50

neskaitot gunāra pagarināšanu - kam īsti PROLOG paredzēts/tiek lietots?


ReplyThread
ns
ns
smīns
31.3.04 12:04

neprasi man:) es lietotju KD uzdevuma atrisināšanai:)


ReplyThread Parent
moon
moon
moon
31.3.04 12:52

lieki piemineet, ka kd nosaciijumos rakstiits - realizeet Prologaa:))
citaadi jau php+xml+... shitas murgs buutu uzcepts pusstundas laikaa:))


ReplyThread Parent
ns
ns
smīns
31.3.04 13:28

indeed:)


ReplyThread Parent