Provided by: manpages-pl_4.19.0-7_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
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   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⟩.