Provided by: manpages-pl_4.13-4_all bug

NAZWA

       dc - kalkulator dowolnej precyzji

SKŁADNIA

       dc [-V] [--version] [-h] [--help]
          [-e wyrażenie-skryptu] [--expression=wyrażenie-skryptu]
          [-f wyrażenie-pliku] [--file=wyrażenie-pliku]
          [plik ...]

OPIS

       dc  jest  kalkulatorem  pracującym  w odwrotnej notacji polskiej, obsługującym arytmetykę nieograniczonej
       precyzji.  Pozwala również na definiowanie i wywoływanie makr.  Zwykle dc czyta ze standardowego wejścia.
       Jeśli użyto argumentów polecenia dc, to są one traktowane jak nazwy plików. Zawartość  tych  plików  jest
       odczytywana  i  wykonywana  przez  dc  przed  odczytem  standardowego  wejścia.   Wszystkie zwykłe wyniki
       kierowane są na standardowe wyjście; wszystkie komunikaty o błędach kierowane są na  standardowe  wyjście
       błędów.

       Kalkulator  odwrotnej  notacji  polskiej przechowuje liczby na stosie.  Wprowadzenie liczby odkłada ją na
       stos.  Operacje arytmetyczne pobierają argumenty ze stosu i odkładają na nim wyniki.

       To enter a number in dc, type the digits (using upper case letters A through F as "digits"  when  working
       with  input  bases  greater  than  ten),  with  an  optional  decimal point.  Exponential notation is not
       supported.  To enter a negative number, begin the number with “_”.  “-” cannot be used for this, as it is
       a binary operator for subtraction instead.  To enter two numbers in succession, separate them with spaces
       or newlines.  These have no meaning as commands.

OPCJE

       dc may be invoked with the following command-line options:

       -V

       --version
              Wypisuje numer wersji uruchomionego dc i informację  o  prawach  autorskich,  a  następnie  kończy
              działanie.

       -h

       --help Wypisuje komunikat o sposobie wywołania, podając w skrócie opcje wiersza poleceń i adres, na który
              należy zgłaszać błędy, a następnie kończy działanie.

       -e skrypt

       --expression=skrypt
              Dodaje  polecenia  ze  skryptu  do  zestawu poleceń, jakie mają być wykonane podczas przetwarzania
              wejścia.

       -f plik-skryptu

       --file=plik-skryptu
              Dodaje polecenia zawarte w pliku-skryptu do zestawu  poleceń,  jakie  mają  być  wykonane  podczas
              przetwarzania wejścia.

       If any command-line parameters remain after processing the above, these parameters are interpreted as the
       names  of  input  files  to  be  processed.   A  file name of - refers to the standard input stream.  The
       standard input will processed if no script files or expressions are specified.

Polecenia wypisywania

       p      Wypisuje wartość z wierzchołka stosu, bez jego zmiany. Po  wartości  wypisywany  jest  znak  nowej
              linii.

       n      Wypisuje  wartość  z  wierzchołka stosu, zdejmując ją równocześnie ze stosu.  Nie wypisuje po niej
              znaku nowej linii.

       P      Pops off the value on top of the stack.  If it it  a  string,  it  is  simply  printed  without  a
              trailing  newline.   Otherwise  it  is  a number, and the integer portion of its absolute value is
              printed out as a "base (UCHAR_MAX+1)" byte stream.  Assuming that (UCHAR_MAX+1) is 256 (as  it  is
              on    most    machines    with    8-bit    bytes),    the    sequence    KSK0k1/_1Ss   [ls*]Sxd0>x
              [256~Ssd0<x]dsxxsx[q]Sq[Lsd0>qaPlxx] dsxxsx0sqLqsxLxLK+k  could  also  accomplish  this  function.
              (Much  of  the  complexity  of  the  above native-dc code is due to the ~ computing the characters
              backwards, and the desire to ensure that all registers wind up back in their original states.)

       f      Wypisuje całą zawartość stosu nie zmieniając niczego.  Jest polecenie przydatne  w  sytuacji,  gdy
              się pogubiliśmy lub chcemy się zorientować, jaki był efekt pewnych poleceń.

Arytmetyka

       +      Zdejmuje  ze  stosu  dwie  wartości,  dodaje je i odkłada wynik na stos.  Dokładność wyniku zależy
              wyłącznie od wartości argumentów i jest wystarczająco ścisła.

       -      Zdejmuje ze stosu dwie wartości, odejmuje pierwszą zdjętą od drugiej i składa  wynik  ponownie  na
              stos.

       *      Pops  two  values,  multiplies  them, and pushes the result.  The number of fraction digits in the
              result depends on the current precision value and  the  number  of  fraction  digits  in  the  two
              arguments.

       /      Zdejmuje  ze  stosu  dwie wartości, dzieli drugą zdjętą przez pierwszą i odkłada wynik ponownie na
              stos.  Liczba cyfr ułamkowych wyniku określana jest przez wartość dokładności.

       %      Pops two values, computes the remainder of the division that the / command would  do,  and  pushes
              that.  The value computed is the same as that computed by the sequence Sd dld/ Ld*- .

       ~      Zdejmuje  ze  stosu  dwie wartości, dzieli drugą zdjętą przez pierwszą.  Odkłada na stos iloraz, a
              następnie resztę z dzielenia.  Dzielenie  wykonywane  jest  z  liczbą  cyfr  ułamkowych  określoną
              wartością  dokładności.   (Funkcję  tę  może  też  spełniać  sekwencja  SdSn  lnld/ LnLd%, z nieco
              odmiennym sprawdzaniem błędów.)

       ^      Zdejmuje ze stosu dwie wartości i  wykonuje  potęgowanie,  posługując  się  pierwszą  zdjętą  jako
              wykładnikiem,  zaś  drugą  jako  podstawą potęgowania.  Ułamkowa część wykładnika jest ignorowana.
              Wartość dokładności określa liczbę cyfr ułamkowych wyniku.

       |      Pops three values and computes a modular exponentiation.  The first value popped is  used  as  the
              reduction  modulus;  this  value  must be a non-zero number, and should be an integer.  The second
              popped is used as the exponent; this value must be a non-negative number, and any fractional  part
              of  this  exponent  will be ignored.  The third value popped is the base which gets exponentiated,
              which should be an integer.  For small integers this is like the sequence Sm^Lm%, but,  unlike  ^,
              this command will work with arbitrarily large exponents.

       v      Pops one value, computes its square root, and pushes that.  The maximum of the precision value and
              the precision of the argument is used to determine the number of fraction digits in the result.

       Na  większość  operacji arytmetycznych wpływa “wartość dokładności”, którą ustala się za pomocą polecenia
       k.  Domyślną wartością dokładności jest zero, co oznacza, że wszystkie działania arytmetyczne z wyjątkiem
       dodawania i odejmowania dają wyniki całkowite.

Kontrola stosu

       c      Czyści stos, powoduje, że będzie on pusty.

       d      Powiela wartość na wierzchołku stosu, odkładając na  stos  jej  kopię.   Zatem  “4d*p”  oblicza  4
              podniesione do kwadratu i wypisuje wynik.

       r      Reverses  the  order  of  (swaps) the top two values on the stack.  (This can also be accomplished
              with the sequence SaSbLaLb.)

       R      Pops the top-of-stack as an integer n.  Cyclically rotates the top n items on the  updated  stack.
              If  n  is positive, then the rotation direction will make the topmost element the second-from top;
              if n is negative, then the rotation will make the topmost element the n-th element from  the  top.
              If  the  stack  depth  is  less  than  n,  then  the  entire  stack is rotated (in the appropriate
              direction), without any error being reported.

Rejestry

       dc udostępnia co najmniej 256256 rejestrów pamięciowych, każdy nazwany pojedynczym znakiem.  W  rejestrze
       można przechować liczbę lub łańcuch znakowy i później je odtworzyć.

       sr     Zdejmuje wartość z wierzchołka stosu i zapisuje w rejestrze r.

       lr     Copy the value in register r and push it onto the stack.  The value 0 is retrieved if the register
              is uninitialized.  This does not alter the contents of r.

       Każdy  z  rejestrów  posiada  również swój własny stos. Bieżącą wartością rejestru jest wierzchołek stosu
       rejestru.

       Sr     Zdejmuje wartość z wierzchołka stosu (głównego) i odkłada ją  na  stosie  rejestru  r.  Poprzednia
              wartość rejestru staje się niedostępna.

       Lr     Zdejmuje wartość z wierzchołka stosu rejestru r i odkłada ją na głównym stosie. Poprzednia wartość
              stosu rejestru r, jeśli była takowa, jest teraz dostępna poprzez polecenie lr.

Parametry

       dc  posiada  trzy  parametry  kontrolujące jego pracę: dokładność, podstawę systemu pozycyjnego wejścia i
       podstawę wyjścia.  Dokładność określa liczbę cyfr dziesiętnych, jaka będzie zachowana w wyniku większości
       operacji arytmetycznych.  Podstawa wejścia odpowiada  za  interpretację  wprowadzanych  liczb;  wszystkie
       wprowadzane liczby używają tej podstawy.  Podstawa wyjścia używana jest do wypisywania liczb.

       Podstawa  wejścia  i  wyjścia  są  odrębnymi  parametrami;  można  spowodować, że będą różne, co może być
       użyteczne lub mylące.  Podstawa wejścia musi być liczbą z zakresu od 2  do  16.   Podstawa  wyjścia  musi
       wynosić co najmniej 2.  Dokładność musi być równa zeru lub większa. Dokładność zawsze określana jest jako
       liczba cyfr dziesiętnych, niezależnie od bieżącej podstawy wejścia czy wyjścia.

       i      Zdejmuje wartość z wierzchołka stosu i posługuje się nią do ustawienia podstawy wejścia.

       o      Zdejmuje wartość z wierzchołka stosu i posługuje się nią do ustawienia podstawy wyjścia.

       k      Zdejmuje wartość z wierzchołka stosu i posługuje się nią do ustawienia dokładności.

       I      Odkłada bieżącą wartość podstawy wejścia na stosie.

       O      Odkłada bieżącą wartość podstawy wyjścia na stosie.

       K      Odkłada bieżącą dokładność na stosie.

Łańcuchy znakowe

       dc  has  a  limited  ability to operate on strings as well as on numbers; the only things you can do with
       strings are print them and execute them as macros (which means  that  the  contents  of  the  string  are
       processed as dc commands).  All registers and the stack can hold strings, and dc always knows whether any
       given  object  is  a  string  or a number.  Some commands such as arithmetic operations demand numbers as
       arguments and print errors if given strings.  Other commands can accept either a number or a string;  for
       example, the p command can accept either and prints the object according to its type.

       [znaki]
              Tworzy  łańcuch zawierający znaki (zawarte pomiędzy nawiasami kwadratowymi [ i ])  i odkłada go na
              stos.  Na przykład, [foo]P wypisuje znaki foo (bez zakończenia znakiem nowej linii).

       a      Zdejmowany jest wierzchołek stosu.  Jeżeli jest to liczba, to młodszy bajt  (low-order  byte)  tej
              liczby  zamieniany  jest na łańcuch i odkładany na stos. W przeciwnym przypadku, wierzchołek stosu
              był łańcuchem, a z powrotem na stos odkładany jest pierwszy znak tego łańcucha.

       x      Zdejmuje wartość ze stosu i wykonuje ją jako makro. Zwykle powinien to być łańcuch znakowy. Jeżeli
              jest to liczba, to zostanie po prostu zwrócona na stos.  Na przykład,  [1p]x  wykonuje  makro  1p,
              które odkłada 1 na stosie i wypisuje 1 w osobnym wierszu.

       Makra  są najczęściej przechowywane w rejestrach: [1p]sa składuje makro do wypisania 1 w rejestrze a, zaś
       lax wywołuje to makro.

       >r     Zdejmuje dwie wartości ze stosu  i  porównuje  je,  zakładając,  że  są  one  liczbami,  wykonując
              zawartość  rejestru r jako makro, jeśli pierwotny wierzchołek stosu jest większy.  Tak więc, 1 2>a
              wywoła zawartość rejestru a zaś 2 1>a nie wywoła.

       !>r    Similar but invokes the macro if the original top-of-stack is not greater than (less than or equal
              to) what was the second-to-top.

       <r     Podobnie, ale wywołuje makro jeśli pierwotny wierzchołek stosu nie  jest  mniejszy  (jest  większy
              bądź równy) od liczby występującej pod nim.

       !<r    Similar but invokes the macro if the original top-of-stack is not less than (greater than or equal
              to) what was the second-to-top.

       =r     Podobnie, ale wywołuje makro, gdy obie zdjęte ze stosu liczby są równe.

       !=r    Similar but invokes the macro if the two numbers popped are not equal.

       ?      Czyta  wiersz  z  terminala  i  wykonuje  go.  Polecenie  to  umożliwia makru pobieranie danych od
              użytkownika.

       q      powoduje zakończenie pracy makra i makra, z którego było ono wywołane.  Polecenie to  wywołane  na
              najwyższym   poziomie  lub  z  makra  wywołanego  bezpośrednio  z  najwyższego  poziomu  spowoduje
              zakończenie pracy dc.

       Q      Zdejmuje ze stosu wartość i używa jej jako liczby  poziomów  wykonania  makr,  jakie  mają  zostać
              zakończone.   Tak  więc,  3Q  kończy  pracę  trzech poziomów makr.  Polecenie Q nigdy nie powoduje
              zakończenia pracy dc.

Informacja o stanie

       Z      Pops a value off the stack, calculates  the  number  of  decimal  digits  it  has  (or  number  of
              characters,  if  it  is  a string)  and pushes that number.  The digit count for a number does not
              include any leading zeros, even if those appear to the right of the radix point.

       X      Zdejmuje wartość ze stosu, oblicza liczbę jej cyfr ułamkowych i odkłada tę  liczbę  na  stos.  Dla
              łańcuchów wartością odkładaną na stos jest 0.

       z      Odkłada na stos bieżącą wysokość stosu: liczbę obiektów na stosie przed wykonaniem polecenia z.

Różne

       !      Will  run  the  rest  of  the  line  as a system command.  Note that parsing of the !<, !=, and !>
              commands take precedence, so if you want to run a command starting with <, =, or > you  will  need
              to add a space after the !.

       #      Interpretuje resztę wiersza jako komentarz.

       :r     Zdejmuje  ze stosu dwie górne wartości. Wartość, która była drugą od góry stosu zostanie zachowana
              w tablicy r, indeksowanej wartością byłego wierzchołka stosu.

       ;r     Zdejmuje wierzchołek stosu i posługuje się nim jako indeksem tablicy  r.   Wybrana  w  ten  sposób
              wartość jest następnie odkładana na stos.

       Note that each stacked instance of a register has its own array associated with it.  Thus 1 0:a 0Sa 2 0:a
       La 0;ap will print 1, because the 2 was stored in an instance of 0:a that was later popped.

PLIKI

       ~/.dcrc        The commands in this file will be executed when dc is first run.

BŁĘDY

       Raporty o błędach można wysyłać do bug-dc@gnu.org

T◈UMACZENIE

       Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Wojtek Kotwica <wkotwica@post.pl>

       Niniejsze  tłumaczenie  jest  wolną  dokumentacją.  Bliższe informacje o warunkach licencji można uzyskać
       zapoznając  się  z  GNU General Public License w wersji 3  lub  nowszej.   Nie   przyjmuje   się   ŻADNEJ
       ODPOWIEDZIALNOŚCI.

       Błędy  w  tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres  listy  dyskusyjnej manpages-pl-
       list@lists.sourceforge.net.

Projekt GNU                                      22 maja 2008 r.                                           dc(1)