Prolog

Fra TermvaktWiki
Gå til: navigasjon, søk

Denne siden handler om programmeringsspråket Prolog. Ser du etter rommet med samme navn, se romnavn.

Prolog er et programmeringsspråk spesielt egnet til å skrive kunstig intelligens (artificial intelligence).

Innhold

Windows

For å starte opp prolog må man inn på windowsserveren win.uio.no (for mer informasjon se Fjerninnlogging). Fra startmenyen kan du gå på Start->Programs->SWI-Prolog->Prolog slik som vist på bildet under. Prolog winserv.png

Du får da opp følgende vindu og har en interaktiv sesjon mot prolog. Se under Linux for testkommandoer. Prolog vindu.png

Linux

Interaktivt

Ved å åpne et terminalvindu, kan man starte opp prolog med kommandoen gprolog. Du starter da en interaktiv kobling mot prolog og kan definere regler og fakta. Du kan få prolog til å skrive ut "Hello World" ved å taste inn kommandoen write('Hello World!'). (husk punktum til slutt).

sindrf@anakin ~ $ gprolog
GNU Prolog 1.3.0
By Daniel Diaz
Copyright (C) 1999-2007 Daniel Diaz
| ?- write('Hello World!').
Hello World!

yes
| ?-  

For å avslutte kan du trykke Ctrl+c på "| ?-"-prompten og trykke e på den nye prompten som kommer opp ("Prolog interruption (h for help) ? ").

sindrf@anakin ~ $ gprolog 
GNU Prolog 1.3.0
By Daniel Diaz
Copyright (C) 1999-2007 Daniel Diaz
| ?- 
Prolog interruption (h for help) ? h
   a  abort        b  break
   c  continue     e  exit
   d  debug        t  trace
  h/? help

Prolog interruption (h for help) ? e
sindrf@anakin ~ $ 

Skript

For å skrive et prolog-skript (eller program), kan du åpne en tekstbehandler egnet for å skrive kode som emacs eller vim. Som et eksempel kan vi skrive et "Hello World"-skript i prolog og kjøre det i terminalvinduet. Navnet på filen skal være hello_world.pl, og skal kun bestå av én setning.

hello_world :- write('Hello World!').

Deretter starter du prolog med gprolog, kompilerer programmet med kommandoen consult(hello_world). og kan til slutt kjøre programmet med hello_world. (husk punktumene!). Resultatet i terminalvinduet skal bli noe sånt:

sindrf@anakin ~ $ gprolog
GNU Prolog 1.3.0
By Daniel Diaz
Copyright (C) 1999-2007 Daniel Diaz
| ?- consult(hello_world).
compiling /mn/felt/u2/sindrf/hello_world.pl for byte code...
/mn/felt/u2/sindrf/hello_world.pl compiled, 1 lines read - 338 bytes written, 6 ms

yes
| ?- hello_world.
Hello World!

yes
| ?- 

Eksterne lenker

Personlige verktøy
Navnerom
Varianter
Handlinger
Navigasjon
Kategorier
Programvare
Andre
Translate
Verktøy