Ero sivun ”Logiikkapohjainen ohjelmointi” versioiden välillä
[arvioimaton versio] | [arvioimaton versio] |
Poistettu sisältö Lisätty sisältö
p r2.7.1) (Botti lisäsi: sq:Programimi logjik |
p piste + välilyöntejä |
||
Rivi 1:
{{Tämä artikkeli|käsittelee ohjelmointiparadigmaa. Artikkeli [[ohjelmoitava logiikka]] käsittelee automaatioprosessien
'''Logiikkapohjainen ohjelmointikieli''' kuvaa maailman faktoina ja faktojen välisinä suhteina. Esimerkiksi "Ville on Kallen isä, Matti on Villen isä, X on Y:n poika, jos Y on X:n isä ja jälkeläinen on poika tai pojan jälkeläinen" kuvataan [[prolog]]-kielellä näin:
isa (ville, kalle).<br />
isa (matti, ville).<br />
poika (X, Y) :- isa (Y, X).<br />
jalkelainen (X, Y) :- poika (X, Y).<br />
jalkelainen (X, Y) :- poika (X, Z), jalkelainen (Z, Y).
Nyt kyselyssä "kuka on Matin jälkeläinen" todetaan ensin, että säännön 4 mukaan X on Matin jälkeläinen, jos X on Matin poika, ja säännön 3 mukaan X on Matin poika, jos Matti on X:n isä, ja säännön 2 mukaan Matti on Villen isä. Samalla tavoin Kalle todetaan Matin jälkeläiseksi käyttäen kaikkia viittä sääntöä.
|