DataMuseum.dk

Presents historical artifacts from the history of:

MIKADOS

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

See our Wiki for more about MIKADOS

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦1392bea7e⟧ TextFile

    Length: 2496 (0x9c0)
    Types: TextFile
    Notes: Mikados_K
    Names: »PSCT3.K«

Derivation

└─⟦ec8c1e0b0⟧ Bits:30007442 8" floppy ( MIKPROG vol. 1-3, MIKREL vol. 1-3, PCSE 4.7.80 vol 1-3, GL.SYS )
    └─⟦this⟧ »PSCT3.K« 

Mikados K File

PROGRAM PSCT3;
 
VAR A,B,C,D: REAL;
    I,J,START : INTEGER;
    E: ARRAY (1..2,1..5) OF REAL;
 
FUNCTION REALTEST( VAR Q: REAL; Z: REAL ): REAL;
  BEGIN
  Q := Q + Z;
  Z := Q - Z;
  REALTEST := Q*Z
  END;
 
PROCEDURE SIMPLETEST;
  BEGIN
  WRITELN( LIST, 1.0, 0.1234567890123456, 1234567890123456.78 );
  WRITELN( LIST, 1E3, 1E125, 0.555666777888999E-30 );
  A := 1.111111111111 + 2.222222222222;
  B := 3.333333333333E10 - 4.444444444444E10;
  C := 2.222222222222 * 1.1;
  D := 1.111111111111 / 1.11;
  WRITELN( LIST, A, B, C, D );
  END;
 
BEGIN
  START := TIME;
  WRITELN( 'START OF EXTENDED PRECISION TEST' );
 
  SIMPLETEST;
 
  A := 0.0; B := -0.0; C := -C; D := ABS( C );
  WRITELN( LIST, A, B, C, D );
 
  A := 5; B := -32767; C := 0; D := 5*7.0;
  WRITELN( LIST, A, B, C, D );
 
  A := 5.51; B := -5.49;
  WRITELN( LIST, TRUNC(A),',', TRUNC(B),',', TRUNC(-A),',', TRUNC(-B),
                 ',', TRUNC(5.0),',', TRUNC(-5.0),',', TRUNC(-4.999));
  WRITELN( LIST, ROUND(A),',', ROUND(B),',', ROUND(-A),',', ROUND(-B),
                 ',', ROUND(5.0),',', ROUND(-5.0),',', ROUND(-4.999));
 
  WRITELN( LIST, PWROFTEN(0), PWROFTEN(124) );
 
  A := 7.0; B := -5.0;
  WRITELN( LIST, REALTEST( A,B ), A, B );
 
  FOR I:=1 TO 2 DO
    FOR J:=1 TO 5 DO
      E(I,J) := I*10.0 + J;
  FOR I:=1 TO 2 DO
    FOR J:=1 TO 5 DO
      WRITELN( LIST, I:2, J:2, E(I,J):8:-1 );
 
  IF (-0.0<>0.0) OR (-5.0>1.0) OR (1.0E123<9.9E122) THEN
    WRITELN( LIST,'....OOPS !');
  IF (5.0>=5.0) AND (-11.999<-10.001) AND (1.999999999999<2.0) THEN
    WRITELN( LIST,'REAL COMPARISONS OK');
 
  FOR I:=-2 TO 15 DO
    BEGIN
    WRITELN( LIST, I:2, ' ', 1.23456789012345:20:I, ' ',
                            -1.23456789012345:I:3, '*' );
    WRITELN( LIST, I:2,' ',0.0000987654321:12:I,12345678901234.0:I:1 )
    END;
 
  FOR I:=-5 TO 5 DO
    BEGIN
    A := ABS(I);
    B := SQRT( A );
    WRITELN( LIST, I:2, B, B*B );
    IF A<>0.0 THEN
      WRITELN( LIST, I:2, LN( A ), EXP( A ), EXP( LN( A ) ) );
    B := I/10;
    C := SIN( B );
    D := COS( B );
    WRITELN( LIST, I:2, C, D, D*D + C*C );
    A := TAN( B );
    WRITELN( LIST, I:2, A, C/D, A-C/D, ARCTAN( A ) );
    END;
 
  WRITELN( LIST, 'TEST OF REAL NUMBERS COMPLETED.' );
  PAGE( LIST );
  WRITE( 'TEST OF REAL NUMBERS COMPLETED. ' );
  WRITELN( 'TIME USED = ', (TIME-START+0.0)/100:6:1, ' SECONDS.' )
END.

Mikados K File

0x000…010 Line {l1=0x0e, l2=»PROGRAM PSCT3;«, l3=0x0e}
0x010…013 Line {l1=0x01, l2=» «, l3=0x01}
0x013…027 Line {l1=0x12, l2=»VAR A,B,C,D: REAL;«, l3=0x12}
0x027…041 Line {l1=0x18, l2=»    I,J,START : INTEGER;«, l3=0x18}
0x041…064 Line {l1=0x21, l2=»    E: ARRAY (1..2,1..5) OF REAL;«, l3=0x21}
0x064…067 Line {l1=0x01, l2=» «, l3=0x01}
0x067…099 Line {l1=0x30, l2=»FUNCTION REALTEST( VAR Q: REAL; Z: REAL ): REAL;«, l3=0x30}
0x099…0a2 Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x0a2…0b1 Line {l1=0x0d, l2=»  Q := Q + Z;«, l3=0x0d}
0x0b1…0c0 Line {l1=0x0d, l2=»  Z := Q - Z;«, l3=0x0d}
0x0c0…0d3 Line {l1=0x11, l2=»  REALTEST := Q*Z«, l3=0x11}
0x0d3…0db Line {l1=0x06, l2=»  END;«, l3=0x06}
0x0db…0de Line {l1=0x01, l2=» «, l3=0x01}
0x0de…0f5 Line {l1=0x15, l2=»PROCEDURE SIMPLETEST;«, l3=0x15}
0x0f5…0fe Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x0fe…140 Line {l1=0x40, l2=»  WRITELN( LIST, 1.0, 0.1234567890123456, 1234567890123456.78 );«, l3=0x40}
0x140…177 Line {l1=0x35, l2=»  WRITELN( LIST, 1E3, 1E125, 0.555666777888999E-30 );«, l3=0x35}
0x177…1a0 Line {l1=0x27, l2=»  A := 1.111111111111 + 2.222222222222;«, l3=0x27}
0x1a0…1cf Line {l1=0x2d, l2=»  B := 3.333333333333E10 - 4.444444444444E10;«, l3=0x2d}
0x1cf…1ed Line {l1=0x1c, l2=»  C := 2.222222222222 * 1.1;«, l3=0x1c}
0x1ed…20c Line {l1=0x1d, l2=»  D := 1.111111111111 / 1.11;«, l3=0x1d}
0x20c…22c Line {l1=0x1e, l2=»  WRITELN( LIST, A, B, C, D );«, l3=0x1e}
0x22c…234 Line {l1=0x06, l2=»  END;«, l3=0x06}
0x234…237 Line {l1=0x01, l2=» «, l3=0x01}
0x237…23e Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x23e…250 Line {l1=0x10, l2=»  START := TIME;«, l3=0x10}
0x250…282 Line {l1=0x30, l2=»  WRITELN( 'START OF EXTENDED PRECISION TEST' );«, l3=0x30}
0x282…285 Line {l1=0x01, l2=» «, l3=0x01}
0x285…294 Line {l1=0x0d, l2=»  SIMPLETEST;«, l3=0x0d}
0x294…297 Line {l1=0x01, l2=» «, l3=0x01}
0x297…2c7 Line {l1=0x2e, l2=»  A := 0.0; B := -0.0; C := -C; D := ABS( C );«, l3=0x2e}
0x2c7…2e7 Line {l1=0x1e, l2=»  WRITELN( LIST, A, B, C, D );«, l3=0x1e}
0x2e7…2ea Line {l1=0x01, l2=» «, l3=0x01}
0x2ea…316 Line {l1=0x2a, l2=»  A := 5; B := -32767; C := 0; D := 5*7.0;«, l3=0x2a}
0x316…336 Line {l1=0x1e, l2=»  WRITELN( LIST, A, B, C, D );«, l3=0x1e}
0x336…339 Line {l1=0x01, l2=» «, l3=0x01}
0x339…353 Line {l1=0x18, l2=»  A := 5.51; B := -5.49;«, l3=0x18}
0x353…39b Line {l1=0x46, l2=»  WRITELN( LIST, TRUNC(A),',', TRUNC(B),',', TRUNC(-A),',', TRUNC(-B),«, l3=0x46}
0x39b…3e3 Line {l1=0x46, l2=»                 ',', TRUNC(5.0),',', TRUNC(-5.0),',', TRUNC(-4.999));«, l3=0x46}
0x3e3…42b Line {l1=0x46, l2=»  WRITELN( LIST, ROUND(A),',', ROUND(B),',', ROUND(-A),',', ROUND(-B),«, l3=0x46}
0x42b…473 Line {l1=0x46, l2=»                 ',', ROUND(5.0),',', ROUND(-5.0),',', ROUND(-4.999));«, l3=0x46}
0x473…476 Line {l1=0x01, l2=» «, l3=0x01}
0x476…4a6 Line {l1=0x2e, l2=»  WRITELN( LIST, PWROFTEN(0), PWROFTEN(124) );«, l3=0x2e}
0x4a6…4a9 Line {l1=0x01, l2=» «, l3=0x01}
0x4a9…4c1 Line {l1=0x16, l2=»  A := 7.0; B := -5.0;«, l3=0x16}
0x4c1…4ec Line {l1=0x29, l2=»  WRITELN( LIST, REALTEST( A,B ), A, B );«, l3=0x29}
0x4ec…4ef Line {l1=0x01, l2=» «, l3=0x01}
0x4ef…503 Line {l1=0x12, l2=»  FOR I:=1 TO 2 DO«, l3=0x12}
0x503…519 Line {l1=0x14, l2=»    FOR J:=1 TO 5 DO«, l3=0x14}
0x519…536 Line {l1=0x1b, l2=»      E(I,J) := I*10.0 + J;«, l3=0x1b}
0x536…54a Line {l1=0x12, l2=»  FOR I:=1 TO 2 DO«, l3=0x12}
0x54a…560 Line {l1=0x14, l2=»    FOR J:=1 TO 5 DO«, l3=0x14}
0x560…58f Line {l1=0x2d, l2=»      WRITELN( LIST, I:2, J:2, E(I,J):8:-1 );«, l3=0x2d}
0x58f…592 Line {l1=0x01, l2=» «, l3=0x01}
0x592…5cc Line {l1=0x38, l2=»  IF (-0.0<>0.0) OR (-5.0>1.0) OR (1.0E123<9.9E122) THEN«, l3=0x38}
0x5cc…5ee Line {l1=0x20, l2=»    WRITELN( LIST,'....OOPS !');«, l3=0x20}
0x5ee…633 Line {l1=0x43, l2=»  IF (5.0>=5.0) AND (-11.999<-10.001) AND (1.999999999999<2.0) THEN«, l3=0x43}
0x633…65e Line {l1=0x29, l2=»    WRITELN( LIST,'REAL COMPARISONS OK');«, l3=0x29}
0x65e…661 Line {l1=0x01, l2=» «, l3=0x01}
0x661…677 Line {l1=0x14, l2=»  FOR I:=-2 TO 15 DO«, l3=0x14}
0x677…682 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x682…6bc Line {l1=0x38, l2=»    WRITELN( LIST, I:2, ' ', 1.23456789012345:20:I, ' ',«, l3=0x38}
0x6bc…6f7 Line {l1=0x39, l2=»                            -1.23456789012345:I:3, '*' );«, l3=0x39}
0x6f7…73f Line {l1=0x46, l2=»    WRITELN( LIST, I:2,' ',0.0000987654321:12:I,12345678901234.0:I:1 )«, l3=0x46}
0x73f…749 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x749…74c Line {l1=0x01, l2=» «, l3=0x01}
0x74c…761 Line {l1=0x13, l2=»  FOR I:=-5 TO 5 DO«, l3=0x13}
0x761…76c Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x76c…77e Line {l1=0x10, l2=»    A := ABS(I);«, l3=0x10}
0x77e…793 Line {l1=0x13, l2=»    B := SQRT( A );«, l3=0x13}
0x793…7b6 Line {l1=0x21, l2=»    WRITELN( LIST, I:2, B, B*B );«, l3=0x21}
0x7b6…7ca Line {l1=0x12, l2=»    IF A<>0.0 THEN«, l3=0x12}
0x7ca…80a Line {l1=0x3e, l2=»      WRITELN( LIST, I:2, LN( A ), EXP( A ), EXP( LN( A ) ) );«, l3=0x3e}
0x80a…81a Line {l1=0x0e, l2=»    B := I/10;«, l3=0x0e}
0x81a…82e Line {l1=0x12, l2=»    C := SIN( B );«, l3=0x12}
0x82e…842 Line {l1=0x12, l2=»    D := COS( B );«, l3=0x12}
0x842…86e Line {l1=0x2a, l2=»    WRITELN( LIST, I:2, C, D, D*D + C*C );«, l3=0x2a}
0x86e…882 Line {l1=0x12, l2=»    A := TAN( B );«, l3=0x12}
0x882…8b9 Line {l1=0x35, l2=»    WRITELN( LIST, I:2, A, C/D, A-C/D, ARCTAN( A ) );«, l3=0x35}
0x8b9…8c3 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x8c3…8c6 Line {l1=0x01, l2=» «, l3=0x01}
0x8c6…8fd Line {l1=0x35, l2=»  WRITELN( LIST, 'TEST OF REAL NUMBERS COMPLETED.' );«, l3=0x35}
0x8fd…90e Line {l1=0x0f, l2=»  PAGE( LIST );«, l3=0x0f}
0x90e…93e Line {l1=0x2e, l2=»  WRITE( 'TEST OF REAL NUMBERS COMPLETED. ' );«, l3=0x2e}
0x93e…982 Line {l1=0x42, l2=»  WRITELN( 'TIME USED = ', (TIME-START+0.0)/100:6:1, ' SECONDS.' )«, l3=0x42}
0x982…988 Line {l1=0x04, l2=»END.«, l3=0x04}
0x988…9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                           ┆                        ┆
0x9a0…9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 63   ┆                               c┆

Reduced view