home *** CD-ROM | disk | FTP | other *** search
- ;------------------------------------------
-
- TO CARDINALP :X
- ;PRUEFT, OB :X EINE NATUERLICHE ZAHL IST
- IF (NOT NUMBERP :X) [OP "FALSE]
- IF (NOT :X = INT :X) [OP "FALSE]
- IF (:X < 1) [OP "FALSE]
- OP "TRUE
- END
-
- TO TEILT :X :Y
- ;PRUEFT, OB :Y DURCH :X TEILBAR IST
- OP :X * (QUOTIENT :Y :X) = :Y
- END
-
- TO AUSNAHME :X
- ;BEHANDLUNG DER AUSNAHMEFAELLE
- IF (NOT CARDINALP :X) [OP "FALSE]
- IF (:X = 1) [OP [1]]
- OP "TRUE
- END
-
- TO ZERLEGUNG :X
- ;PRIMFAKTOR-ZERLEGUNG VON :X
- LOCAL "H MAKE "H AUSNAHME :X
- IF (NOT :H = "TRUE) [OP :H]
- MAKE "H []
- LOCAL "I MAKE "I 2
- LABEL "L1
- IF (NOT TEILT :I :X) [GO "L2]
- MAKE "H LPUT :I :H
- MAKE "X QUOTIENT :X :I
- GO "L1
- LABEL "L2
- IF (:X = 1) [OP :H]
- MAKE "I :I + 1
- GO "L1
- END