|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 2560 (0xa00) Types: TextFile Names: »BONDEN.SCL«
└─⟦216f59cd8⟧ Bits:30002641 SCANLOG - Piccoline vers. nov. 87 └─ ⟦this⟧ »BONDEN.SCL«
find_vej(X,Y) hvis udvid(<tilstand(X,X,X,X)>,Res,tilstand(Y,Y,Y,Y)) og find_een(fortolk(Res)). udvid(X,X,Z) hvis slutter_ved(X,Z). udvid(X,Y,Z) hvis et_skridts_udvidelse(X1,X), løkke_fri(X1) og udvid(X1,Y,Z). slutter_ved(<X1..X>,X1). løkke_fri(<X1..X>) hvis ikke(er_med_i(X1,X)). et_skridts_udvidelse(<X1..X>,X) hvis slutter_ved(X,Y) og til(Y,X1). er_med_i(Element,<Element..Hale>). er_med_i(Element,<Hoved..Hale>) hvis er_med_i(Element,Hale). ;tilstand: parametrene betyder position af bonde, ulv, ged og kålhovedet ;Bonden sejler over alene: til(tilstand(B1,U1,G1,K1),tilstand(B2,U1,G1,K1)) hvis modsat(B1,B2), ikke(ulovlig(B2,U1,G1,K1)) og ikke(ulovlig(B1,U1,G1,K1)). ;Bonden tager ulven med: til(tilstand(B1,B1,G1,K1),tilstand(B2,B2,G1,K1)) hvis modsat(B1,B2), ikke(ulovlig(B2,B2,G1,K1)) og ikke(ulovlig(B1,B1,G1,K1)). ;Bonden tager geden med: til(tilstand(B1,U1,B1,K1),tilstand(B2,U1,B2,K1)) hvis modsat(B1,B2), ikke(ulovlig(B2,U1,B2,K1)) og ikke(ulovlig(B1,U1,B1,K1)). ;Bonden tager kålhovedet med: til(tilstand(B1,U1,G1,B1),tilstand(B2,U1,G1,B2)) hvis modsat(B1,B2), ikke(ulovli) og ikke(ulovlig(B1,U1,G1,B1)). ;Geden og ulven er begge modsat bonden: ulovlig(B1,U1,U1,K1) hvis modsat(B1,U1). ;Geden og kålhovedet er begge modsat bonden: ulovlig(B1,U1,G1,G1) hvis modsat(B1,G1). modsat(nord,syd). modsat(syd,nord). skriv_side(syd) hvis skriv('sydbredden'). skriv_side(nord) hvis skriv('nordbredden'). fortolk(<tilstand(N,N,N,N)>) hvis skriv('De er alle på'), skriv_side(N) og nylinie. fortolk(<X,Y..L>) hvis fortolk(<Y..L>) og fortæl(X,Y). fortæl(tilstand(B1,B1,G1,K1),tilstand(B2,B2,G1,K1)) hvis skriv('Bonden sejler med ulven fra'), skriv_side(B2), skriv('til'), skriv_side(B1) og nylinie. fortæl(tilstand(B1,U1,B1,K1),tilstand(B2,U1,B2,K1)) hvis skriv('Bonden sejler med geden fra'), skriv_side(B2), skriv('til'), skriv_side(B1) og nylinie. fortæl(tilstand(B1,U1,G1,B1),tilstand(B2,U1,G1,B2)) hvis skriv('Bonden sejler med kålhovedet fra'), skriv_side(B2), skriv('til'), skriv_side(B1) og nylinie. fortæl(tilstand(B1,U1,G1,K1),tilstand(B2,U1,G1,K1)) hvis skriv('Bonden sejler alene fra'), skriv_side(B2), skriv('til'), skriv_side(B1) og nylinie. «eof»