DataMuseum.dk

Presents historical artifacts from the history of:

IBM System/3

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

See our Wiki for more about IBM System/3

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦e241299b0⟧ s3xseg

    Length: 1778 (0x6f2)
    Types: s3xseg
    Names: »SKBINCO«

Derivation

└─⟦811594a0b⟧ Bits:30009185 5702-sc1.V16.pgm
    └─⟦8223a6838⟧ 
        └─⟦this⟧ »SKBINCO« 
└─⟦990ba7470⟧ Bits:30009182 5702-PP1
    └─⟦efad88270⟧ 
        └─⟦this⟧ »SKBINCO« 

TextSegment

*PROCESS  MAP                                                                                   
C                                                                       01210000                
C    *************************************************                  01220000                
C    * KBINCO COMPUTES THE BINOMIAL COEFFICIENT,     *                  01230000                
C    * C(N,K) = (N*(N-1)***(N-K+1))/(K*(K-1)***1),   *                  01240000                
C    * WHERE N AND K ARE THE INTEGER ARGUMENTS TO    *                  01242000                
C    * THE FUNCTION.  INTERMEDIATE CALCULATIONS ARE  *                  01244000                
C    * PERFORMED IN REAL ARITHMETIC.  IN THE CASE    *                  01246000                
C    * WHERE K .GT. N, A VALUE OF ZERO IS RETURNED.  *                  01248000                
C    * THE VALUES OF N AND K ARE LEFT UNCHANGED.     *                  01248400                
C    * THE FUNCTION HAS BEEN CHECKED FOR ALL COM-    *                  01248800                
C    * BINATIONS OF N=1,2,...,20 AND K=1,2,...,10.   *                  01249200                
C    *************************************************                  01249600                
C                                                                       01249700                
      FUNCTION     KBINCO(N,K)                                          01250000                
CHECK FOR TRIVIAL CASES                                                 01260000                
      IF(     K .GT.N)  GOTO 50                                         01300000                
      IF(     K .EQ. 0) GOTO 60                                         01350000                
      IF(     K .EQ. N) GOTO 60                                         01400000                
      IF(     K .EQ. 1) GOTO 70                                         01450000                
      IF(     N-K .EQ.1)     GOTO 70                                    01500000                
CONVERT TO REAL FOR INT. CALCULATIONS                                   01510000                
      P  =    N                                                         01550000                
      Q  =    K                                                         01600000                
CHECK FOR LOWER 'DENOMINATOR'                                           01610000                
      IF(     P-Q  .LT. Q)   Q    =    P-Q                              01650000                
CALCULATE DENOMINATOR                                                   01660000                
      MAX     =    Q                                                    01700000                
      BOT     =    1.0                                                  01750000                
      DO 30   I=2,MAX                                                   01800000                
      BOT     =    I    *    BOT                                        01850000                
 30   CONTINUE                                                          01900000                
COMPUTE NUMERATOR                                                       01910000                
      MAX     =    P                                                    01950000                
      MIN     =    P    -    Q    +    1.0                              02000000                
      TOP     =    1.0                                                  02050000                
      DO 40   I=MIN,MAX                                                 02100000                
      TOP     =    I    *    TOP                                        02110000                
 40   CONTINUE                                                          02120000                
CALCULATE AND ROUND BIN. COEFF.                                         02130000                
      KBINCO  =    TOP/BOT   +    0.5                                   02150000                
      RETURN                                                            02200000                
 50   KBINCO  =    0                                                    02250000                
      RETURN                                                            02300000                
 60   KBINCO  =    1                                                    02350000                
      RETURN                                                            02400000                
 70   KBINCO  =    N                                                    02450000                
      RETURN                                                            02500000                
      END                                                               02550000                
                                              2ggggggggggggggg¾000000000________________________
_____________________________________2jjjjj}giiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii2