Navigace: Hlavní stránka -> PASCAL -> 08 Programové jednotky ->08.02 Goniometrické funkce

MENU

08.02 Goniometrické funkce

Zadání:
Sestavte programovou jednotku, která bude obsahovat goniometrické funkce nedefinované v jazyce Pascal. Tuto jednotku použijte ve vlastním programu.
Řešení:
V programové jednotce musíme hlavičky funkcí uvést v sekci interface. Pokud chceme použít jednotku ve vlastním
programu, musíme její název doplnit do sekce uses.
unit gonfce;

interface
function tg(x:real):real;
function cotg(x:real):real;
function arcsin(x:real):real;
function arccos(x:real):real;
function arccotan(x:real):real;

implementation

function tg(x:real):real;
begin
   tg:=sin(x)/cos(x);
end;

function cotg(x:real):real;
begin
   cotg:=cos(x)/sin(x);
end;

function arcsin(x:real):real;
begin
   arcsin:=arctan(x/sqrt(1-sqr(x)));
end;

function arccos(x:real):real;
begin
   arccos:=pi/2-arcsin(x);
end;

function arccotan(x:real):real;
begin
   arccotan:=pi/2-arctan(x);
end;


end.
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils, gonfce;

var x,y:real;
    z:char;

begin

   write('Zadejte hodnotu: ');
   readln(x);
   writeln('-----------------------------------');
   writeln('1 sinus');
   writeln('2 cosinus');
   writeln('3 tangens');
   writeln('4 cotangens');
   writeln('5 arcussinus');
   writeln('6 arcuscosinus');
   writeln('7 arcustangens');
   writeln('8 arcuscotangens');
   writeln('-----------------------------------');
   write('Zadejte funkci: ');
   readln(z);
   case z of
      '1': begin
              y:=sin(x);
              writeln('sin(',x:0:6,')=',y:0:6);
           end;
      '2': begin
              y:=cos(x);
              writeln('cos(',x:0:6,')=',y:0:6);
           end;
      '3': begin
              y:=tg(x);
              writeln('tg(',x:0:6,')=',y:0:6);
           end;
      '4': begin
              y:=cotg(x);
              writeln('cotg(',x:0:6,')=',y:0:6);
           end;
      '5': begin
              y:=arcsin(x);
              writeln('arcsin(',x:0:6,')=',y:0:6);
           end;
      '6': begin
              y:=arccos(x);
              writeln('arccos(',x:0:6,')=',y:0:6);
           end;
      '7': begin
              y:=arctan(x);
              writeln('argtg(',x:0:6,')=',y:0:6);
           end;
      '8': begin
              y:=arccotan(x);
              writeln('arccotg(',x:0:6,')=',y:0:6);
           end;
      else writeln('Neznama funkce');
   end;

   readln;

end.
program ke stažení