Prolog er en logikk programmeringsspråk der du erklære fakta og regler . Et faktum er en en-linje klausul som ikke har en kropp , mens en regel er en klausul har predikater i sin kropp som tilfredsstiller målene . Du oppretter disse fakta og regler , og deretter spørre dem om å få resultater. Du kan skrive en regel som vil dele et tall i sine egne tall ved å dele antall bruker mod funksjon og rekursivt ringer regelen før du har separert hvert siffer . Instruksjoner
en
Åpne en tom tekstfil . Lagre som " prologSplit.pl " på datamaskinen din
2
Skriv inn følgende kode på første linje for å lage et faktum : .
Split ( 0 , _ )
p Dette faktum sjekker for når du ikke lenger kan skille Angitt nummer. Når tallet er lik null, vil din funksjon samtale stoppe. Den andre variable spiller ingen rolle , derav bruken av understrek
3
Skriv inn følgende linjer til å starte en ny regel : .
Split ( M , Z ) : -
M > 0 , etter p Dette vil sjekke for å se om "M" variabelen er større enn null . I så fall fortsette. Dette vil hindre programmet fra å gjenta i en uendelig løkke
4
Type neste linje : .
MM er etasje ( M /10 ) , etter p Dette skaper en midlertidig variabel som vil fjerne det siste sifferet fra dine innspill variabel og se bort fra brøk. For eksempel, hvis dine innspill variabelen er 532 , vil denne linjen utføre 532 delt på 10, som er 53,2 , men kutter 0,2 , forlater 53
5
Type disse neste tre linjer: .
Z er M 10 mod , etter
print ( Z ) , etter
nl , etter
den første vil mod din inngang nummer og lagre resten i din Z variabel. For eksempel , " 532 mod 10 " har en to rest, så Z blir to . De to neste linjene ut denne separert siffer til skjermen og legge en ny linje for å gjøre produksjonen enklere å lese
6
Type den siste linjen for regelen : .
Split ( MM , _ ) .
p Dette vil rekursivt ringe styre frem til dine innspill tall er lik null. Lagre Prolog -fil.
7
Åpne Prolog program og laste prologSplit.pl fil. Skriv inn følgende i kommandolinjen og trykk enter : en
split ( 532 , A)
Prolog vil splitte nummeret ditt og vise hvert siffer på en ny linje
. .