Funkcje matematyczne w
Pascalu
Pascal
Marek Pudełko
2
• W Pascalu zaimplementowano
niektóre funkcje matematyczne w
postaci gotowych funkcji.
– Funkcje arytmetyczne
– Funkcje logarytmiczne
– Funkcje trygonometryczne
– Funkcje porządkowe
– Funkcje parzystości i całkowitości
– Stała π
3
Wartość bezwzględna z
x
• Zapis matematyczny z=|x|
• Rodzaj argumentów
całkowity lub
rzeczywisty
• Symbol funkcji
ABS (x)
• Uwagi X może być zarówno liczbą, jak
i wyrażeniem matematycznym
• Przykład
z:= ABS (-5.4);
z:= ABS (2);
z:= ABS (2*x+4);
4
Kwadrat liczby x
• Zapis matematyczny
z=x
2
• Rodzaj argumentów
całkowity lub
rzeczywisty
• Symbol funkcji
SQR (x)
• Uwagi X może być zarówno liczbą, jak
i wyrażeniem matematycznym
• Przykład
z:= SQR (1.4);
z:= SQR (-12);
z:= SQR (2*x-3);
5
Pierwiastek kwadratowy
z x
• Zapis matematyczny
• Rodzaj argumentów
całkowity lub
rzeczywisty, nieujemny.
• Symbol funkcji
SQRT (x)
• Uwagi X może być zarówno liczbą, jak
i wyrażeniem matematycznym
• Przykład
z:= SQRT (1.4);
z:= SQRT (7);
z:= SQRT (x*x-3);
x
z
6
logarytm naturalny z x
• Zapis matematyczny z=ln x
• Rodzaj argumentów całkowity lub
rzeczywisty, nieujemny.
• Symbol funkcji LN (x)
• Uwagi X może być zarówno liczbą, jak i
wyrażeniem matematycznym
• Przykład
z:= LN (0.4);
z:= LN (7);
z:= LN (x*x-3);
7
funkcja wykładnicza,
eksponenta z x
• Zapis matematyczny z=e
x
• Rodzaj argumentów całkowity lub
rzeczywisty.
• Symbol funkcji EXP (x)
• Uwagi X może być zarówno liczbą, jak i
wyrażeniem matematycznym
• Przykład
z:= EXP (0.4);
z:= EXP (-7);
z:= EXP (x*x-5);
8
sinus x
• Zapis matematyczny z=sin x
• Rodzaj argumentów całkowity lub
rzeczywisty. Argument jest wyrażony w
radianach ( ).
• Symbol funkcji SIN (x)
• Uwagi X może być zarówno liczbą, jak i
wyrażeniem matematycznym
• Przykład
z:= SIN (0.4);
z:= SIN (-7);
z:= SIN (x*x-5);
o
rad
180
1
9
cosinus x
• Zapis matematyczny z=cos x
• Rodzaj argumentów całkowity lub
rzeczywisty. Argument jest wyrażony w
radianach (
).
• Symbol funkcji SIN (x)
• Uwagi X może być zarówno liczbą, jak i
wyrażeniem matematycznym
• Przykład
z:= SIN (0.4);
z:= SIN (-7);
z:= SIN (x*x-5);
o
rad
180
1
10
arcus tangens x
• Zapis matematyczny z= arc tan x
• Rodzaj argumentów całkowity lub
rzeczywisty. Argument jest wyrażony w
radianach ( ).
• Symbol funkcji ARCTAN (x)
• Uwagi X może być zarówno liczbą, jak i
wyrażeniem matematycznym
• Przykład
z:= ARCTAN (0.4);
z= arc tan 0,4
z:= ARCTAN (-7); z= arc tan -7
z:= ARCTAN (x*x-5);
z= arc tan (x
2
-5)
11
Następnik x
• Zapis matematyczny
z=succ(x)
• Rodzaj argumentów
całkowity.
• Symbol funkcji
SUCC (x)
• Uwagi X może być zarówno liczbą, jak
i wyrażeniem matematycznym.
• Przykład
z:= SUCC (4); 5 = succ 4
z:= SUCC (5); 6 = succ 5
z:= SUCC (x+1);
x+2 = succ (x+1)
12
Poprzednik x
• Zapis matematyczny z=pred(x)
• Rodzaj argumentów całkowity.
• Symbol funkcji PRED (x)
• Uwagi X może być zarówno liczbą, jak i
wyrażeniem matematycznym.
• Przykład
z:= PRED (5);
4 = pred 5
z:= PRED (4);
3 = pred 4
z:= PRED (x+1); x = pred (x+1)
13
Dekrementacja x o
liczbę a
• Zapis matematyczny
z=dec(x,a)
• Rodzaj argumentów
całkowity.
• Symbol funkcji
DEC (x,a)
• Uwagi X może być zarówno liczbą, jak
i wyrażeniem matematycznym.
• Przykład
z:= DEC (x,4);
z:= DEC (x+1,2);
14
Inkrementacja x o
liczbę a
• Zapis matematyczny
z=inc(x,a)
• Rodzaj argumentów
całkowity.
• Symbol funkcji
INC (x,a)
• Uwagi X może być zarówno liczbą, jak
i wyrażeniem matematycznym.
• Przykład
z:= INC (x,4);
z:= INC (x+1,2);
15
Zaokrąglenie do najbliższej liczby
całkowitej
• Zapis matematyczny z=round(x)
• Rodzaj argumentów Rzeczywisty.
• Symbol funkcji ROUND (x)
• Uwagi X może być zarówno liczbą, jak i
wyrażeniem matematycznym.
• Przykład
z:= ROUND (3.7); z=4
z:= ROUND (-3.7); z=-4
z:= ROUND (3.3); z=3
z:= ROUND (x+1);
16
Część ułamkowa liczby
x
• Zapis matematyczny z=frac(x)
• Rodzaj argumentów
Rzeczywisty.
• Symbol funkcji
FRAC (x)
• Uwagi X może być zarówno liczbą, jak i
wyrażeniem matematycznym.
• Przykład
z:= FRAC (3.7);
z=0,7
z:= FRAC (3.3);
z=0,3
z:= FRAC (x+1);
17
Część całkowita liczby x
• Zapis matematyczny
z=int(x)
• Rodzaj argumentów Rzeczywisty.
• Symbol funkcji INT (x)
• Uwagi X może być zarówno liczbą, jak i
wyrażeniem matematycznym. Wynik jest
typu rzeczywistego.
• Przykład
z:= INT (3.3);
z=3
z:= INT (3.7);
z=3
z:= INT (x+1);
18
Obcięcie liczby x do najbliższej
liczby całkowitej o module
mniejszym od x
• Zapis matematyczny z=trunc(x)
• Rodzaj argumentów
Rzeczywisty.
• Symbol funkcji
TRUNC(x)
• Uwagi X może być zarówno liczbą, jak i
wyrażeniem matematycznym. Wynik
jest typu rzeczywistego.
• Przykład
z:= TRUNC (3.3);
z=3
z:= TRUNC (3.7);
z=3
z:= TRUNC (-3.7);
z=-4
z:= TRUNC (x+1);
19
Funkcja nieparzystości
liczby x
• Zapis matematyczny z=odd(x)
• Rodzaj argumentów Całkowity.
• Symbol funkcji ODD (x)
• Uwagi X może być zarówno liczbą, jak i
wyrażeniem matematycznym. Wynik jest
wartością logiczną typu Boolean. Może
przybierać wartość true lub false.
• Przykład
z:= ODD (3); z=true
z:= ODD (4); z=false
z:= ODD (x+1);
20
Liczba Pi (ludolfina)
• Zapis matematyczny
Π
• Rodzaj argumentów
Rzeczywisty.
• Symbol funkcji
PI
• Uwagi wartość Pi jest liczbą typu real.
Wynosi 3.1415926536.
• Przykład
z:= Pi;
z:=2*Pi;
stopien:=Pi/180;
21
program matma1;
var x,z:integer;
r:real;
y:boolean;
begin
writeln('Podaj liczbe calkowita');
readln(x);
z:=abs(x);
writeln('Modul liczby wynosi ',z);
z:=sqr(x);
writeln('Liczba do kwadratu wynosi ',z);
if (x>=0) then
begin
r:=sqrt(x);
writeln('Pierwiastek z liczby wynosi ',z);
end;
r:=exp(x);
writeln('eksponenta do potegi ',x,' wynosi ',r:10:3);
z:=succ(x);
writeln('Nastepnik liczby wynosi ',z);
z:=pred(x);
writeln('Poprzednik liczby wynosi ',z);
y:=odd(x);
if y=true then
writeln('Liczba ',x,' jest nieparzysta')
else
writeln('Liczba ',x,' jest parzysta');
readln;
end.
22
program matma2;
var x,z:real;
y:integer;
begin
writeln('Podaj liczbe rzeczywista');
readln(x);
z:=abs(x);
writeln('Modul liczby wynosi ',z:5:3);
z:=sqr(x);
writeln('Liczba do kwadratu wynosi ',z:5:3);
if (x>=0) then
begin
z:=sqrt(x);
writeln('Pierwiastek z liczby wynosi ',z:10:5);
end;
if x>=0 then
z:=ln(x);
writeln('Logarytm naturalny liczby wynosi ',z:5:3);
z:=sin(x);
writeln('Sinus liczby wynosi ',z:5:3);
z:=cos(x);
writeln('Cosinus liczby wynosi ',z:5:3);
z:=arctan(x);
writeln('Arcus tangens liczby wynosi ',z:5:3);
y:=Round(x);
writeln('Najblizsza liczba calkowita wynosi ',y);
z:=Trunc(x);
writeln('Najblizsza liczba calkowita mniejsza od niej wynosi ',z:5:3);
z:=Int(x);
writeln('Czesc calkowita liczby wynosi ',z:5:3);
z:=Frac(x);
writeln('Czesc ulamkowa liczby wynosi ',z:5:3);
readln;
end.