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

⟦a27f1ae69⟧ TextFile

    Length: 5376 (0x1500)
    Types: TextFile
    Names: »TID.SCL«

Derivation

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

TextFile

; Kurt Fleckner 6 juli 1985
;
; Oversættelse af simple tidsangivelser mellem dansk og engelsk
dansk_engelsk(Dansk_Tid,Engelsk_Tid) hvor 
     streng(Dansk_Tid) hvis 
     dansk_stand(Dansk_Tid,Standard_Tid) og 
     engelsk_stand(Engelsk_Tid,Standard_Tid).
dansk_engelsk(Dansk_Tid,Engelsk_Tid) hvor 
     streng(Engelsk_Tid) hvis 
     engelsk_stand(Engelsk_Tid,Standard_Tid) og 
     dansk_stand(Dansk_Tid,Standard_Tid).
vælg_een dansk_stand
  dansk_stand(Tid,Standard) hvor 
       streng(Tid) hvis 
       konvertering(Tid,KTid) og 
       ds(KTid,Standard).
  dansk_stand(Tid,Standard) hvis 
       ds(KTid,Standard) og 
       konvertering(Tid,KTid).
slut.
vælg_een engelsk_stand
  engelsk_stand(Tid,Standard) hvor 
       streng(Tid) hvis 
       konvertering(Tid,KTid) og 
       es(KTid,Standard).
  engelsk_stand(Tid,Standard) hvis 
       es(KTid,Standard) og 
       konvertering(Tid,KTid).
slut.
ds(<Time>,<Time1,0>) hvis 
     tekst_tal(Time,Time1).
ds(<Time,Minut>,<Time1,Minut1>) hvis 
     tekst_tal(Time,Time1),
     tekst_tal(Minut,Minut1) og 
     Time1 < 24.
ds(<'halv',Time>,<Time1,30>) hvis 
     tekst_tal(Time,Time2),
     Time1 = værdi_af(Time2-1),
     Time2 > 0 og 
     Time2 < 12.
ds(<Minut,'minutter','over',Time>,<Time1,Minut1>) hvis 
     tekst_tal(Time,Time1),
     Time1 < 25,
     tekst_tal(Minut,Minut1) og 
     Minut1 < 30.
ds(<Minut,'minutter','i',Time>,<Time1,Minut1>) hvis 
     tekst_tal(Time,Time2),
     Time2 > 0,
     Time2 < 25,
     tekst_tal(Minut,Minut2),
     Minut2 < 30,
     Minut2 <> 0,
     Minut1 = værdi_af(60-Minut2) og 
     Time1 = værdi_af(Time2-1).
ds(<'kvart','over',Time>,<Time1,15>) hvis 
     tekst_tal(Time,Time1) og 
     Time1 < 24.
ds(<'kvart','i',Time>,<Time1,45>) hvis 
     tekst_tal(Time,Time2),
     Time2 < 25 og 
     Time1 = værdi_af(Time2-1).
ds(<Minut,'minutter','i','halv',Time>,<Time1,Minut1>) hvis 
     tekst_tal(Time,Time2),
     Time2 > 0,
     Time2 < 12,
     tekst_tal(Minut,Minut2),
     Minut2 > 0,
     Minut2 < 11,
     Time1 = værdi_af(Time2-1) og 
     Minut1 = værdi_af(30-Minut2).
ds(<Minut,'minutter','over','halv',Time>,<Time1,Minut1>) hvis 
     tekst_tal(Time,Time2),
     Time2 > 0,
     Time2 < 12,
     tekst_tal(Minut,Minut2),
     Minut2 > 0,
     Minut2 < 11,
     Time1 = værdi_af(Time2-1) og 
     Minut1 = værdi_af(30+Minut2).
es(<Time,'o''clock'>,<Time1,0>) hvis 
     tekst_tal(Time,Time1).
es(<Time,Minute>,<Time1,Minute1>) hvis 
     tekst_tal(Time,Time1) og 
     tekst_tal(Minute,Minute1).
es(<'half','past',Time>,<Time1,30>) hvis 
     tekst_tal(Time,Time1).
es(<Minute,'minutes','past',Time>,<Time1,Minute1>) hvis 
     tekst_tal(Time,Time1),
     tekst_tal(Minute,Minute1) og 
     Minute1 <> 0.
es(<Minute,'minutes','to',Time>,<Time1,Minute1>) hvis 
     tekst_tal(Time,Time2),
     Time2 < 25,
     Time2 > 0,
     Time1 = værdi_af(Time2-1),
     tekst_tal(Minute,Minute2),
     Minute2 < 30,
     Minute1 = værdi_af(60-Minute2) og 
     Minute2 <> 0.
es(<'a','quarter','past',Time>,<Time1,15>) hvis 
     tekst_tal(Time,Time1) og 
     Time1 < 25.
es(<'a','quarter','to',Time>,<Time1,45>) hvis 
     tekst_tal(Time,Time2),
     Time2 < 25,
     Time2 > 0 og 
     Time1 = værdi_af(Time2-1).
tekst_tal('0',0).
tekst_tal('1',1).
tekst_tal('2',2).
tekst_tal('3',3).
tekst_tal('4',4).
tekst_tal('5',5).
tekst_tal('6',6).
tekst_tal('7',7).
tekst_tal('8',8).
tekst_tal('9',9).
tekst_tal('10',10).
tekst_tal('11',11).
tekst_tal('12',12).
tekst_tal('13',13).
tekst_tal('14',14).
tekst_tal('15',15).
tekst_tal('16',16).
tekst_tal('17',17).
tekst_tal('18',18).
tekst_tal('19',19).
tekst_tal('20',20).
tekst_tal('21',21).
tekst_tal('22',22).
tekst_tal('23',23).
tekst_tal('24',24).
tekst_tal('25',25).
tekst_tal('26',26).
tekst_tal('27',27).
tekst_tal('28',28).
tekst_tal('29',29).
tekst_tal('30',30).
tekst_tal('31',31).
tekst_tal('32',32).
tekst_tal('33',33).
tekst_tal('34',34).
tekst_tal('35',35).
tekst_tal('36',36).
tekst_tal('37',37).
tekst_tal('38',38).
tekst_tal('39',39).
tekst_tal('40',40).
tekst_tal('41',41).
tekst_tal('42',42).
tekst_tal('43',43).
tekst_tal('44',44).
tekst_tal('45',45).
tekst_tal('46',46).
tekst_tal('47',47).
tekst_tal('48',48).
tekst_tal('49',49).
tekst_tal('50',50).
tekst_tal('51',51).
tekst_tal('52',52).
tekst_tal('53',53).
tekst_tal('54',54).
tekst_tal('55',55).
tekst_tal('56',56).
tekst_tal('57',57).
tekst_tal('58',58).
tekst_tal('59',59).
konvertering('',<>).
konvertering(S,<Ord..L>) hvor 
     streng(S) hvis 
     første_ord(S,Ord,Rest),
     Ord <> ' ' og 
     konvertering(Rest,L).
konvertering(S,L) hvor 
     streng(S) hvis 
     første_ord(S,Ord,Rest),
     Ord = ' ' og 
     konvertering(Rest,L).
konvertering(S,<H..L>) hvor 
     ikke(streng(S)) hvis 
     sammensæt(H,' ',S1),
     konvertering(S2,L) og 
     sammensæt(S1,S2,S).
find_første(Ord,Ord) hvis 
     Ord <> '' og 
     ikke(position(' ',Ord,X)).
find_første(S1,Ord) hvis 
     ikke(sammensæt(' ',Y,S1)),
     find_een(position(' ',S1,X)) og 
     kopier(S1,1,værdi_af(X-1),Ord).
find_første(S1,' ') hvis 
     sammensæt(' ',X,S1).
første_ord(S1,Ord,Rest) hvis 
     find_første(S1,Ord) og 
     sammensæt(Ord,Rest,S1).
«eof»