fp

Pakiet zawiera szereg makroinstrukcji umo�liwiaj�cych prowadzenie oblicze� zmiennoprzecinkowych \hline
PolecenieOpis
\FPmessagestrue w��cza komunikaty (domy�lnie)
\FPmessagesfalse wy��cza komunikaty
\FPdebugtrue w��cza �ledzenie
\FPdebugfalse wy��cza �ledzenie
\FPset#1#2 podstawienie #1 := #2 np. \FPset{wynik}{10.2}
\FPprint#1 podaj wynik \FPset{wynik}{10.2} (np. \FPprint{wynik} daje nam 10.2)
\FPadd#1#2#3 dodawanie #1 := #2 + #3 \FPadd{\suma}{sk�adnik}{sk�adnik} (np. \FPset{wynik}{10.2} \FPadd{\suma}{\wynik}{10.2} \FPprint{suma} daje nam: 20.400000000000000000
FPdiv#1#2#3 dzielenie #1 := #2 / #3 \FPdiv{\iloraz}{dzielna}{dzielnik} (np. \FPset{wynik}{10.2} \FPdiv{\iloraz}{\wynik}{5.1} \FPprint{iloraz} daje nam: 2.000000000000000000)
\FPmul#1#2#3 mno�enie #1 := #2 * #3 \FPmul{\iloczyn}{mno�na}{mno�nik} (np. \FPset{wynik}{10.2} \FPmul{\iloczyn}{\wynik}{10.2} \FPprint{iloczyn} daje nam: 104.040000000000000000)
\FPsub#1#2#3 odejmowanie #1 := #2 - #3 \FPsub{\r�nica}{odjemna}{odjemnik\} (np. \FPset{wynik}{10.2} \FPsub{\r�nica}{\wynik}{1.2} \FPprint{r�znica} daje nam: 9.000000000000000000)
\FPabs#1#2 warto�� absolutna #1 := abs(#2)
\FPneg#1#2 zmiana znaku #1 := -#2
\FPsgn#1#2 znak wyra�enia #1 := sgn(#2)
\FPmin#1#2#3 minimum #1 = min(#2,#3)
\FPmax#1#2#3 maksimum #1 = max(#2,#3)
\FPe warto�� sta�ej Eulera: 2.718281828459045235
\FPpi warto�� liczby Pi := 3.141592653589793238
\FPexp#1#2 pot�ga liczby e #1 := e\^(#2)
\FPln#1#2 logarytm naturalny #1 := ln(#2)
\FPpow#1#2#3 pot�gowanie #1 := (#2)\^(#3)
\FProot#1#2#3 pierwiastkowanie #1 := (#2)\^(1/#3)
\FPpascal#1#2 #1 := #2-ta linia tr�jk�ta Paskala
\FPseed=#1 ustawia punkt startowy ci�gu zmiennych losowych generowanych poleceniem \FPrandom
\FPrandom#1 #1 := liczba losowa z przedzia�u 0 -- 1
\FPround#1#2#3 #1 := #2 zaokr�glone do #3 pozycji po kropce dziesi�tnej
\FPtrunc#1#2#3 #1 := #2 podstawiewnie z obci�ciem do #3 pozycji
\FPclip#1#2 #1 := #2 podstawiewnie z usuni�ciem nieznacz�cych zer
\FPsin#1#2 #1 := sin(#2)
\FPcos#1#2 #1 := cos(#2)
\FPsincos#1#2#3 #1 := sin(#3), #2 := cos(#3)
\FPtan#1#2 #1 := tan(#2)
\FPcot#1#2 #1 := ctg(#2)
\FPtancot#1#2#3 #1 := tan(#3), #2 := ctg(#3)
\FParcsin#1#2 #1 := arcsin(#2)
\FParccos#1#2 #1 := arccos(#2)
\FParcsincos#1#2#3 #1 := arcsin(#3), #2 := arccos(#3)
\FParctan#1#2 #1 := arctan(#2)
\FParccot#1#2 #1 := arcctg(#2)
\FParctancot#1#2#3 #1 := arctan(#3), #2 := arcctg(#3)
\FPupn#1#2 #1 := eval(#2) eval symbolizuje rozwini�cie wyra�enia #2 zapisanego w Polskiej Notacji wewn�trz wyra�enia mo�na u�ywa� nast�puj�cych operator�w: +, add, -, sub, *, mul, /, div, abs, neg, min, max, round, trunc, clip, e, exp, ln, pow, root, pi, sin, cos, sincos, tan, cot, tancot, arcsin, arccos, arcsincos, arctan, arccot, arctancot, pop, swap, copy; gdzie:
pop usuwa element ze stosu
swap zmienia kolejno�� pierwszych dw�ch element�w
copy kopiuje najwy�szy element na stosie
np:
    \FPupn\result{17 2.5 + 17.5 - 2 1 + * 2 swap /} 
   
jest r�wnowa�ne wyra�eniu:
    \result := ((17.5 - (17 + 2.5)) * (2 + 1)) / 2
   
\FPeval#1#2 #1 := eval(#2) eval symbolizuje rozwini�cie wyra�enia. Wewn�trz mog� by� u�ywane nawiasy i znane operatory (w przypadku powy�szych definicji nale�y u�ywa� nazw bez prefixu FP i backslasha
Uwaga: nie dzia�a minus unarny, nale�y u�y� operatora neg
\FPiflt#1#2...\else...\fi je�li #1 < #2
\FPifeq#1#2...\else...\fi je�li sym{#1 = #2}
\FPifgt#1#2...\else...\fi je�li #1 > #2
\FPifneg#1 ...\else...\fi je�li ujemny (#1 < 0)
\FPifpos#1 ...\else...\fi je�li nieujemny (#1 >= 0)
\FPifzero#1...\else...\fi je�li zero (#1 = 0)
\FPifint#1 ...\else...\fi je�li ca�kowity (#1)
\ifFPtest ...\else...\fi ostatnio wykonany test
\FPlsolve#1#2#3 oblicz #1 := x tak, aby #2 * x + #3 = 0
\FPqsolve#1#2#3#4#5 oblicz #1,#2 := x tak, aby #3 * x^2 + #4 * x + #5 = 0
\FPcsolve#1#2#3#4#5#6#7 oblicz #1,#2,#3 := x tak aby #4 * x^3 + #5 * x^2 + #6 * x + #7 = 0
\FPqqsolve#1#2#3#4#5#6#7#8#9 oblicz #1,#2,#3,#4 := x tak aby #5 * x^4 + #6 * x^3 + #7 * x^2 + #8 * x + #9 = 0

W�odzimierz Macewicz
Ostatnie zmiany: 05.05.2014.