home *** CD-ROM | disk | FTP | other *** search
-
- PROGRAM FunktionsParameter;
- USES Crt;
- {$F+}
-
- TYPE Funktion=FUNCTION (i:Integer):Real;
-
- VAR a,e,d:Integer;
- ch:Char;
-
- FUNCTION Sinus (Winkel:Integer):REAL;
- BEGIN
- Sinus:=Sin(Winkel * PI / 180)
- END;
-
- FUNCTION Cosinus (Winkel:Integer):REAL;
- BEGIN
- Cosinus:=Cos(Winkel * PI / 180)
- END;
-
- FUNCTION Tangens (Winkel:Integer):REAL;
- BEGIN
- Tangens:=Sinus(Winkel)/Cosinus(Winkel)
- END;
-
- FUNCTION Quadrat (Zahl:Integer):REAL;
- BEGIN
- Quadrat:=Sqr(Zahl)
- END;
-
- PROCEDURE Tabelle (Anfang,Ende,Differenz:Integer;
- Operation:Funktion);
- VAR i:Integer;
- BEGIN
- Writeln ('Wert:':10,' ':10,'Ergebnis:':10);
- i:=Anfang;
- WHILE i<=Ende DO BEGIN
- Writeln (i:10,' ':10,Operation(i):20:10);
- i:=i+Differenz
- END
- END;
-
- BEGIN
- REPEAT
- ClrScr;
- Writeln ('Auswahl:');
- Writeln;
- Writeln ('S(inus');
- Writeln ('C(osinus');
- Writeln ('T(angens');
- Writeln ('Q(uadrat');
- Writeln ('/ Ende');
- REPEAT ch:=ReadKey UNTIL ch
- IN ['s','S','c','C','t','T','q','Q','/'];
- IF ch<>'/' THEN BEGIN
- Write ('Anfangswert:':15); Readln (a);
- Write ('Endwert:':15); Readln (e);
- Write ('Schrittweite:':15); Readln (d);
- CASE ch OF
- 's','S':Tabelle (a,e,d,Sinus);
- 'c','C':Tabelle (a,e,d,Cosinus);
- 't','T':Tabelle (a,e,d,Tangens);
- 'q','Q':Tabelle (a,e,d,Quadrat)
- END;
- Readln
- END
- UNTIL ch='/'
- END.
-
-