DataMuseum.dk

Presents historical artifacts from the history of:

RegneCentralen RC759 "Piccoline"

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RegneCentralen RC759 "Piccoline"

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦0182ab145⟧ TextFile

    Length: 2560 (0xa00)
    Types: TextFile
    Names: »BONDEN.SCL«

Derivation

└─⟦216f59cd8⟧ Bits:30002641 SCANLOG - Piccoline vers. nov. 87
    └─ ⟦this⟧ »BONDEN.SCL« 

TextFile

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»