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í