|
DataMuseum.dkPresents historical artifacts from the history of: MIKADOS |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about MIKADOS Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 2496 (0x9c0) Notes: Mikados TextFile, Mikados_K Names: »PSCT3«
└─⟦ca21ef4c0⟧ Bits:30005311 Extended Pascal System Disc v. 04.07.1980 (SPC/1) └─ ⟦this⟧ »PSCT3«
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.