Ero sivun ”Logiikkapohjainen ohjelmointi” versioiden välillä

[arvioimaton versio][arvioimaton versio]
Poistettu sisältö Lisätty sisältö
Luckas-bot (keskustelu | muokkaukset)
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 ohjaustaohjaus.}}
'''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öä.