home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / pascal / tplib21.zip / INSTALL.EXE / EXMATH.PAS < prev    next >
Pascal/Delphi Source File  |  1993-05-30  |  3KB  |  116 lines

  1. (* Example program: MATH unit *)
  2.  
  3. PROGRAM EXMATH;
  4.  
  5. USES 
  6.     STRINGS,MATH;
  7.  
  8. VAR
  9.     r,r1,r2:    REAL;
  10.     s:          STRING;
  11.     x:          INTEGER;
  12.  
  13.  
  14. PROCEDURE ExOpt1;
  15.  
  16.     BEGIN
  17.         WriteLn('Enter a temperature in degrees Fahrenheit.  The');
  18.         WriteLn('conversion functions will show the equivalent');
  19.         WriteLn('temperature on the Centigrade and Kelvin scales.');
  20.         WriteLn('Enter "Q" to exit.');
  21.         REPEAT
  22.             WriteLn;
  23.             Write('Temperature? ');
  24.             ReadLn(s);
  25.             IF UpperCase(s)='Q' THEN EXIT;
  26.             VAL(s,r,x);
  27.             IF x=0 THEN
  28.                 BEGIN
  29.                     WriteLn('Centigrade = ', FahrToCent(r):4:1);
  30.                     WriteLn('Kelvin     = ',
  31.                                 CentToKelv(FahrToCent(r)):4:1);
  32.                 END
  33.             ELSE
  34.                 WriteLn('Invalid entry - Try again.');
  35.         UNTIL FALSE;
  36.     END;  { ExOpt1 }
  37.  
  38.  
  39. PROCEDURE ExOpt2;
  40.  
  41.     BEGIN
  42.         WriteLn('Enter some values in inches and observe the results');
  43.         WriteLn('from some of the conversion routines.  Try using some');
  44.         WriteLn('very large values to see the conversion for miles.');
  45.         WriteLn('Enter "Q" to exit.');
  46.         REPEAT
  47.             WriteLn;
  48.             Write('Measurement? ');
  49.             ReadLn(s);
  50.             IF UpperCase(s)='Q' THEN EXIT;
  51.             VAL(s,r,x);
  52.             IF x=0 THEN
  53.                 BEGIN
  54.                     InchToFtIn(r,r1,r2);
  55.                     WriteLn('InchToFtIn    = ', r1:1:0, '''  ', r2:1:2,'"');
  56.                     WriteLn('InchToYard    = ', InchToYard(r):1:1);
  57.                     WriteLn('InchToMile    = ', InchToMile(r):1:1);
  58.                     WriteLn('InchToMeter   = ', InchToMeter(r):1:2);
  59.                 END
  60.             ELSE
  61.                 WriteLn('Invalid entry - Try again.');
  62.         UNTIL FALSE;
  63.     END;  { ExOpt2 }
  64.  
  65.  
  66. PROCEDURE ExOpt3;
  67.  
  68.     BEGIN
  69.         WriteLn('Enter some weights in ounces and observe the result');
  70.         WriteLn('from each of the routines demonstrated here.');
  71.         WriteLn('Enter "Q" to exit.');
  72.         REPEAT
  73.             WriteLn;
  74.             Write('Ounces? ');
  75.             ReadLn(s);
  76.             IF UpperCase(s)='Q' THEN EXIT;
  77.             VAL(s,r,x);
  78.             IF x=0 THEN
  79.                 BEGIN
  80.                     OunceToLbOz(r,r1,r2);
  81.                     WriteLn('OunceToLbOz   = ', r1:1:0,' lb   ',
  82.                                                 r2:1:2,' oz.');
  83.                     WriteLn('OunceToTon    = ', OunceToTon(r):1:3);
  84.                     WriteLn('OunceToGram   = ', OunceToGram(r):1:1);
  85.                 END
  86.             ELSE
  87.                 WriteLn('Invalid entry - Try again.');
  88.         UNTIL FALSE;
  89.     END; { ExOpt3 }
  90.  
  91.  
  92. BEGIN  { ExMath }
  93.     WriteLn('EXMATH - MATH/MATH87 UNIT EXAMPLE PROGRAM');
  94.     WriteLn;
  95.     REPEAT
  96.         WriteLn;
  97.         WriteLn('Select the features you wish to try:');
  98.         WriteLn;
  99.         WriteLn('    1.  Temperature conversion.');
  100.         WriteLn('    2.  Linear measurements.');
  101.         WriteLn('    3.  Weight conversion.');
  102.         WriteLn;
  103.         Write('Enter option or zero to quit : ');
  104.         ReadLn(s);
  105.         s:=TrimL(s);
  106.         WriteLn;
  107.         CASE s[1] OF
  108.             '1':    ExOpt1;
  109.             '2':    ExOpt2;
  110.             '3':    ExOpt3;
  111.         END;
  112.     UNTIL s[1]='0';
  113. END.
  114.  
  115.  
  116.