|
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: 3968 (0xf80) Types: TextFile Names: »SIMPLIFI.SCL«
└─⟦216f59cd8⟧ Bits:30002641 SCANLOG - Piccoline vers. nov. 87 └─ ⟦this⟧ »SIMPLIFI.SCL«
; Jan Rubæk Pedersen 15 Marts 1985 vælg_een simplificer simplificer(Udtryk,Udtryk) hvor (heltal(Udtryk) eller konstant(Udtryk) eller funktion(Udtryk)). simplificer(Udtryk,Resultat) hvis find_operator(Operator,Venstre,Højre,Udtryk), simplificer(Venstre,Venstre_Resultat), simplificer(Højre,Højre_Resultat) og s(Operator,Venstre_Resultat,Højre_Resultat,Resultat). slut. vælg_een find_operator find_operator(plus,Venstre,Højre,Venstre+Højre). find_operator(minus,Venstre,Højre,Venstre-Højre). find_operator(gange,Venstre,Højre,Venstre*Højre). find_operator(divider,Venstre,Højre,Venstre/Højre). slut. vælg_een s s(plus,Udtryk,0,Udtryk). s(plus,0,Udtryk,Udtryk). s(plus,U1,U2,Resultat) hvor heltal(U1) og heltal(U2) hvis Resultat = værdi_af(U1+U2). s(plus,U1+U2,U3,U2+U4) hvor heltal(U1) og heltal(U3) hvis U4 = værdi_af(U1+U3). s(plus,U1+U2,U3,U1+U4) hvor heltal(U2) og heltal(U3) hvis U4 = værdi_af(U2+U3). s(plus,U1-U2,U3,U1+U4) hvor heltal(U2) og heltal(U3) hvis U4 = værdi_af(U3-U2). s(plus,U1-U2,U3,-U2+U4) hvor heltal(U1) og heltal(U3) hvis U4 = værdi_af(U1+U3). s(plus,U1-U2,U3,U3+U1-U2) hvor (konstant(U2) eller funktion(U2)). s(plus,U1+U2,U3,U3+U1+U2) hvor heltal(U2). s(plus,U1,U2,U2+U1) hvor (konstant(U2) eller funktion(U2)). s(plus,U1,U2,U1+U2). s(gange,U1,0,0). s(gange,0,U1,0). s(gange,U1,1,U1). s(gange,1,U1,U1). s(gange,U1,U2,U3) hvor heltal(U1) og heltal(U2) hvis U3 = værdi_af(U1*U2). s(gange,U1*U2,U3,U2*U4) hvor heltal(U1) og heltal(U3) hvis U4 = værdi_af(U1*U3). s(gange,U1*U2,U3,U1*U4) hvor heltal(U2) og heltal(U3) hvis U4 = værdi_af(U2*U3). s(gange,U1*U2,U3,U3*U1*U2) hvor heltal(U2). s(gange,U1,U2,U2*U1) hvor (konstant(U2) eller funktion(U2)). s(gange,U1/U2,U3,U4/U2) hvor heltal(U1) og heltal(U3) hvis U4 = værdi_af(U1*U3). s(gange,U1/U2,U3,U1*U4) hvor heltal(U2) og heltal(U3) hvis U4 = værdi_af(U3/U2). s(gange,U1/U2,U3,U3*U1/U2) hvor (konstant(U3) eller funktion(U3)). s(gange,U1,U2,U1*U2). s(minus,U1,0,U1). s(minus,0,U1,-U1). s(minus,U1,U2,U3) hvor heltal(U1) og heltal(U2) hvis U3 = værdu_af(U1-U2). s(minus,U1-U2,U3,-U2+U4) hvor heltal(U1) og heltal(U3) hvis U4 = værdi_af(U1-U3). s(minus,U1-U2,U3,U1-U4) hvor heltal(U2), heltal(U3) og U4 = værdi_af(U2+U3). s(minus,U1-U2,U3,U1-U3-U2) hvor heltal(U2). s(minus,U1,U2,-U2+U1) hvor heltal(U1). s(minus,U1+U2,U3,U2+U4) hvor heltal(U1) og heltal(U3) hvis U4 = værdi_af(U1-U3). s(minus,U1+U2,U3,U1+U4) hvor heltal(U2) og heltal(U3) hvis U4 = værdi_af(U2-U3). s(minus,U1-U2,U3,-U3+U1-U2) hvor (konstant(U3) eller funktion(U3)). s(minus,U1,U2,U1-U2). s(divider,U1,0,0) hvis falsk. s(divider,0,U1,0). s(divider,U1,1,U1). s(divider,1,U1,1/U1). s(divider,U1,U2,U3) hvor heltal(U1) og heltal(U2) hvis U3 = værdi_af(U1/U2). s(divider,U1/U2,U3,U4/U2) hvor heltal(U1) og heltal(U3) hvis U4 = værdi_af(U1/U3). s(divider,U1/U2,U3,U1/U4) hvor heltal(U2) og heltal(U3) hvis U4 = værdi_af(U2*U3). s(divider,U1*U2,U3,U2*U4) hvor heltal(U1) og heltal(U3) hvis U4 = værdi_af(U1/U3). s(divider,U1*U2,U3,U1*U4) hvor heltal(U2) og heltal(U3) hvis U4 = værdi_af(U2/U3). s(divider,U1*U2,U3,U1/U3*U2) hvor heltal(U2). s(divider,U1,U2,U1/U2). slut. «eof»