Prolog er et programmeringsspråk som vanligvis brukes i kunstig intelligens og lingvistikk forskning . Det er et kraftig språk , men mye av sin makt kommer fra sitt valg å bruke deklarative paradigme for programmeringsspråk snarere enn den prosessuelle eller objekt - orientert paradigme som brukes av de fleste mainstream språk. Dette gjør Prolog syntaks vises mystisk , selv for erfarne programmerere . Den velkjente " hvis da " statement og den obligatoriske "mens " loop mangler fra Prolog, erstattes i stedet av syntaks utformet for å oppmuntre og gjøre rekursiv programmering så enkelt som mulig. Instruksjoner
en
Åpne en teksteditor og lagre arbeidet som " facts.pl . " På sitt mest grunnleggende , Prolog verker av lasting en liste over fakta (også kjent som predikater ) og deretter utfører operasjoner på disse fakta . Den fullstendige samling av fakta er , beleilig nok , kjent som en database
2
Paste følgende for å erklære noen fakta i Prolog : .
% Jobber ( navn, stillingsbeskrivelse )
jobber ( kevinWalker , " Writer ") .
jobber ( billBailey , " Student ") .
Den første linjen er en kommentar designet for å ledetråd i andre Prolog utviklere å forholdet av fakta . Den første delen av den faktum er navnet på det forhold, i dette tilfellet " Jobber ". Det første argumentet blir da nøkkelen til det faktum . Det må begynne med en liten bokstav og være bare ett ord . Den siste del er den verdi , i dette tilfellet , en streng som beskriver en jobb . Til slutt må alle fakta ende i en periode
3
Lim følgende inn i samme dokument til å legge noen relaterte fakta til databasen : .
% Lønn (navn, lønn)
lønn ( kevinWalker , 30000 ) .
lønn ( billBailey , 12000 ) .
Siden både lønn og arbeidsplasser bruke samme nøkkel , kan forholdet mellom dataene være utført
Lagre filen
4
Åpne Prolog terminal og skriv følgende å laste database: . . .
rådføre ( "fakta" )
p Hvis det var vellykket , bør du se et "ja " eller "true" vises
5
Skriv inn følgende for å utføre en enkel spørring : .
arbeidsplasser ( kevinWalker , " Writer ") .
Selv om dette ser det samme som definisjonen av det faktum , er det i stedet en spørring for å se om forespørselen er sant. I dette tilfellet , vil svaret bli " ja" eller "true ", avhengig av hvilken versjon av Prolog . Men hvis du skriver : .
Jobber ( kevinWalker , " Student ")
Svaret vil være " falsk " eller "nei".
6
Type en mer sofistikert spørring: .
arbeidsplasser ( kevinWalker , Job )
resultatet vil være : en
Job = " Writer "
7
Åpne din " facts.pl " filen på nytt i en teksteditor og legge til følgende funksjon : en
makes_more_money ( Person1 , Person2 ) : -
lønn ( Person1 , FirstSalary ) , etter < p> lønn ( Person2 , SecondSalary ) , etter
FirstSalary > SecondSalary .
Denne funksjonen bør leses , " Does Person1 tjene mer penger enn Person2 ? " For å gjøre dette , ser det opp lønnen til både Person1 og Person2 og sammenligner dem , returnere resultatet .
Lagre filen .
8
Skriv følgende inn i tolk til laste inn databasen og bruke den nye funksjonen : .
reconsult ( "fakta" )
makes_more_money ( kevinWalker , billBailey )
p Dette har fått i gang i Prolog programmering. . Det er mye mer å lære , så det kan være lurt å konsultere innledningen til Prolog i Referanser .