Prolog is een programmeertaal die werd uitgevonden in Frankrijk in de jaren 1960 voor gebruik in automatische vertaling van natuurlijke talen . Het werd verder ontwikkeld in Schotland in de jaren 1970 voor gebruik in automatische bewijshulpmiddelen . Het kwam onder de aandacht van de meeste mensen toen de Japanners kozen het voor hun officiële taal in de vijfde generatie -project - het nationaal project om Kunstmatige Intelligentie ontwikkelen . Aan het begin van de 21e eeuw , het is - samen met LISP - een van de twee belangrijkste talen die door het AI- gemeenschap . Instructies Break 1 staan apart in Prolog door onderzoek van de "kop " - het eerste element in de lijst - en de " staart " - de rest van de lijst . Zoals slagen elementen worden onderzocht , kunt u beslissen welk deel van de gebroken - up lijst elk element behoort . Kopen van 2 Zie of een element is een lid van een lijst door te gaan door de lijst recursief . Om deze vraag te stellen in Prolog , type " ? Lid ( X , L ) " - is X een lid van L ? Dit vereist twee Prolog uitspraken : " Lid ( X , [ X , T ] ) . " Dit zegt dat als X overeenkomt met het eerste ding in de lijst , dan is X is lid van L. < br > 3 Schrijf de recursieve stap voor het vinden van het lidmaatschap als " Lid ( X , [ _ , T ] ) : - . Lid ( X , T ) " Dit zal slaan over het hoofd van de lijst als het niet gelijk aan X. Als je werk je weg door de lijst , zal X worden [ ] , de lege lijst . 4 Selecteer de eerste n elementen van een lijst met de twee Prolog statements " firstn ( L , F , R , 0 ) " en " firstn ( [ X | T1 ] , [ X | T2 ] , R , n ) : . . - firstn ( T1 , T2 , R , n -1 ) " de eerste verklaring stopt de recursie met de eerste n elementen in F en de rest op R. de tweede verklaring houdt het strippen van de kop van de lijst en zetten het op de F- lijst totdat n = 0 . 5 Scheid de lijst in twee lijsten , waarbij een nieuwe lijst bevat de oneven genummerde elementen en de andere nieuwe lijst bevat de even genummerde elementen , met vier Prolog uitspraken : " breakup ( L , oneven , even) : - verbreken ( L , oneven , Even, 1 ) " , " breakup ( [ ] , oneven, Even , _ ) " , verbreken ( [ X | T ] , [ X | Odd ] , Even , 1 ) : . . - breakup ( . L , Oneven, Even , 0 ) " , " breakup ( [ X | T ] , Odd , [ X | Zelfs ] . , 0 ) " . De eerste verklaring krijgt dingen goed begonnen , de tweede verklaring stopt dingen als de lijst is doorlopen en de laatste twee verklaringen recursief scheiden de lijst .
|