Polecenie | Opis |
---|---|
\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:
\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 backslashaUwaga: 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 |