Prolog är ett programmeringsspråk som ofta används inom artificiell intelligens och lingvistik forskning . Det är ett kraftfullt språk , men mycket av dess kraft kommer från dess val att använda deklarativa paradigm för programmeringsspråk snarare än den formella eller objektorienterade paradigmet som används av de flesta vanliga språk . Detta gör Prolog syntaxen verkar mystiskt , även för erfarna programmerare . Den välbekanta " om dess " uttalande och den obligatoriska " medan " loop saknas Prolog , ersattes istället med syntax för att uppmuntra och göra rekursiv programmering så enkelt som möjligt . Instruktioner
1
Öppna en textredigerare och spara ditt arbete som " facts.pl . " I sin mest grundläggande , Prolog verk genom att ladda en lista med fakta ( även känd som predikat ) och sedan utföra operationer på dessa fakta . Den fullständiga samlingen av fakta är , enkelt nog , känd som en databas
2
klistra in följande att förklara några fakta i Prolog : .
% Jobb ( namn , arbetsbeskrivning )
jobb ( kevinWalker , " Writer " ) .
Jobb ( billBailey , " Student " ) .
Den första raden är en kommentar för att ledtråd i andra Prolog utvecklare förhållandet av de faktiska omständigheterna . Den första delen av det faktum är namnet av förhållandet , i detta fall "jobb . " Det första argumentet är sedan tangenten på det faktum . Det måste börja med en liten bokstav och vara bara ett ord . Den sista delen är värdet , i detta fall , en sträng som beskriver ett jobb . Slutligen måste varje faktum sluta i en period
3
Klistra in följande i samma dokument att lägga till några relaterade fakta till databasen : .
Lön
% ( namn , lön ) katalog
lön ( kevinWalker , 30000 ) .
lön ( billBailey , 12000 ) .
Eftersom både lön och jobb använder samma nyckel , kan relationer mellan data vara utförs
Spara din fil
4
Öppna din Prolog terminal och skriv följande för att ladda din databas : . . .
konsultera ( "fakta" )
Om det var lyckat , bör du se ett "ja " eller " true " visas
5
Skriv följande för att utföra en enkel fråga : .
jobb ( kevinWalker , " Writer " ) .
Trots detta ser likadan ut som definitionen av det faktum , är det istället en fråga för att se om begäran är sant . I detta fall kommer svaret vara " ja " eller " sant", beroende på din version av Prolog . Men om du skriver : .
Jobb ( kevinWalker , " Student " ) katalog
Svaret kommer att vara " falsk " eller " nej ".
6
Type en mer sofistikerad fråga: .
jobb ( kevinWalker , Job ) katalog
resultatet blir :
Job = " brännare"
7
Öppna din " facts.pl " filen igen i din textredigerare och lägg till följande funktion :
makes_more_money ( person1 , Person2 ) : - AktieTorget
lön ( person1 , FirstSalary ) ,
lön ( Person2 , SecondSalary ) ,
FirstSalary > SecondSalary .
Denna funktion bör läsas , " Har person1 tjäna mer pengar än Person2 ? " För att göra detta , det ser upp lönen för både person1 och Person2 och sedan jämför dem tillbaka resultatet .
Spara din fil .
8
Skriv följande i tolken ladda din databas och använda den nya funktionen : .
nytt samråd ( "fakta" ) katalog
makes_more_money ( kevinWalker , billBailey ) katalog
Detta har fått igång i Prolog programmering . . Det finns en hel del mer att lära sig , så du kanske vill rådfråga inledningen till Prolog i referenser .