home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turbo Toolbox
/
Turbo_Toolbox.iso
/
sonderh1
/
mathfunc.dem
< prev
next >
Wrap
Text File
|
1987-02-03
|
4KB
|
132 lines
(* Test und Demonstration der math. Funktions-Bibliothek: *)
PROGRAM mathfunc_test (INPUT, OUTPUT);
VAR wahl, taste: CHAR;
(*$I MATHFUNC.PAS *) (* INCLUDE: Bibliothek einlesen. *)
(****************************************************************************)
PROCEDURE loesche_bildschirm; (* ev. an Ihre Pascalversion anpassen ! *)
BEGIN
ClrScr;
END;
(****************************************************************************)
PROCEDURE zeige_menu;
BEGIN
loesche_bildschirm;
WriteLn('< Programm beenden durch Eingabe von "/" >'); WriteLn;
WriteLn('0.) ggT A.) ld K.) artanh');
WriteLn('1.) kgV B.) logarithmus L.) arcoth');
WriteLn('2.) altgrad C.) e_hoch M.) sin ');
WriteLn('3.) radiant D.) x_hoch_y N.) cos ');
WriteLn('4.) fakultaet E.) sinh O.) tan ');
WriteLn('5.) kehrwert F.) cosh P.) cot ');
WriteLn('6.) sqr G.) tanh Q.) arcsin');
WriteLn('7.) sqrt H.) coth R.) arccos');
WriteLn('8.) ln I.) arsinh S.) arctan');
WriteLn('9.) lg J.) arcosh T.) arccot');
WriteLn;
END;
(****************************************************************************)
PROCEDURE berechnen;
VAR n1, n2: INTEGER;
x1, x2: REAL;
PROCEDURE write_funktionsergebnis;
BEGIN
CASE wahl OF
'0': n1 := ggT(n1, n2);
'1': n1 := kgV(n1, n2);
'2': x1 := altgrad(x1);
'3': x1 := radiant(x1);
'4': x1 := fakultaet(n1);
'5': x1 := kehrwert(x1);
'6': x1 := sqr(x1);
'7': x1 := sqrt(x1);
'8': x1 := ln(x1);
'9': x1 := lg(x1);
'A': x1 := ld(x1);
'B': x1 := logarithmus(x1, x2);
'C': x1 := exp(x1);
'D': x1 := x_hoch_y(x1, x2);
'E': x1 := sinh(x1);
'F': x1 := cosh(x1);
'G': x1 := tanh(x1);
'H': x1 := coth(x1);
'I': x1 := arsinh(x1);
'J': x1 := arcosh(x1);
'K': x1 := artanh(x1);
'L': x1 := arcoth(x1);
'M': x1 := sin(x1);
'N': x1 := cos(x1);
'O': x1 := tan(x1);
'P': x1 := cot(x1);
'Q': x1 := arcsin(x1);
'R': x1 := arccos(x1);
'S': x1 := arctan(x1);
'T': x1 := arccot(x1);
END;
IF wahl IN ['0','1'] THEN
WriteLn(n1)
ELSE
WriteLn(x1:0:9);
END; (* write_funktionsergebnis *)
BEGIN (* berechnen *)
WriteLn; WriteLn; WriteLn;
Write('Argument');
IF wahl IN ['0','1','B','D'] THEN
BEGIN
Write(' 1 : ');
IF wahl IN ['0','1'] THEN
ReadLn(n1)
ELSE
ReadLn(x1);
Write('Argument 2 : ');
IF wahl IN ['0','1'] THEN
ReadLn(n2)
ELSE
ReadLn(x2);
END
ELSE
BEGIN
Write(' : ');
IF wahl = '4' THEN
ReadLn(n1)
ELSE
ReadLn(x1);
END;
WriteLn;
Write('Funktionsergebnis = ');
write_funktionsergebnis;
WriteLn; Write(' weiter -> RETURN druecken...');
ReadLn(taste);
END;
(****************************************************************************)
BEGIN (* mathfunc_test *)
REPEAT
zeige_menu;
Write('Funktionskennzeichen eingeben >>> ');
REPEAT
ReadLn(wahl);
IF wahl IN ['a'..'z'] THEN
wahl := Chr(Ord(wahl)-Ord('a')+Ord('A'));
UNTIL wahl IN ['0'..'9','A'..'T','/'];
IF wahl <> '/' THEN
berechnen;
UNTIL wahl = '/';
END.