Czy ktos wie jak zroić w Prologu takie coś?

0

Uda sięWam takie coś zrobić, z komentarzami własnymi w Prologu:

  1. Zaprogramować predykat o nazwie beznawiasow definiujący
    wyrażenia arytmetyczne złożone ze stałych a,b,c,d,e,f,g,h i
    dwuargumentowych operatorów +,*, takie że do ich przedstawienia w
    postaci infiksowej nie trzeba używać nawiasów.
    Np. +(+(b,c),a) jest takim wyrażeniem, zaś +(a,+(b,c)) nie.
    Można to sprawdzić, wywołując w Prologu ?- write( +(+(b,c),a) ).
    oraz ?- write( +(a,+(b,c)) ).
    Oczywiście wyrażenia reprezentujemy jako termy Prologu.

  2. Zaprogramować predykat dwuargumentowy
    ilenawiasow(Wyrazenie,Liczba)
    gdzie Wyrazenie jest wyrażeniem arytmetycznym złożonym ze stałych
    i operatorów j.w., a Liczba jest liczbą par nawiasów w tym
    wyrażeniu przedstawionym w postaci infiksowej (czyli np.
    wydrukowanym przez predykat wbudowany write).
    Oczywiście liczymy tylko nawiasy niezbędne.
    Np. zachodzi ilenawiasow( +(a,+(b,c)), 1 ) oraz
    ilenawiasow( +(+(b,c),a), 0 ).
    W punkcie 1 nie wolno korzystać z predykatów wbudowanych oraz z odcięcia.
    W punkcie 2 można korzystać z predykatu is, oraz z konstrukcji
    warunkowej ( -> ; ) i z negacji.

0

glupi jestem ale co to jest predykat??

chce sie rozwijac :) nie to zebym byl niedorozwiniety :)

0

W Prologu podaje się bazę faktów ireguł. Potem można wykonywać zapytania na tej bazie. Podstawową jednostką w Prologu jest predykat. Predykat składa się z nagłówkai argumentów, na przykład: ojciec(tomasz, agata), gdzie ojciec to nagłówek a tomasz i agatato argumenty. Predykat może zostać użyty do wyrażenia pewnych faktów o świecie, które są znane dla programu. W tym przypadkuprogramista musi nadać im znaczenie

Drogi n_a_v'ie, predykat jest to nic innego jak podstawowa jednostka w języku programowania Prolog.

0

Czyli są to stałe oraz zmienne, a stałe piszemy mała literą natomiast zmienne dużą. Chyba tak ? , dopiero zaczynam coś pojmować - albo i nie :-(? :-(((
Wracając co mojego zapytania czy wiecie jak sie do tego zabrać albo czy ktoś to potrafi rozwalić ?

0

Jakoś mi coś wyszło i chyba dobrze !

1 użytkowników online, w tym zalogowanych: 0, gości: 1