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.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.