.\" {PTM/WK/0.1 /21-08-1999/"kalkulator dowolnej precyzji"} .\" wersja 1.06, z listopada 2000. .\" .\" dc.1 - the *roff document processor source for the dc manual .\" .\" This file is part of GNU dc. .\" Copyright (C) 1994, 1997, 1998, 2000 Free Software Foundation, Inc. .\" .\" This program is free software; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by .\" the Free Software Foundation; either version 2 of the License , or .\" (at your option) any later version. .\" .\" This program is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public License .\" along with this program; see the file COPYING. If not, write to: .\" The Free Software Foundation, Inc. .\" 59 Temple Place, Suite 330 .\" Boston, MA 02111 USA .\" .TH DC 1 "1997-03-25" "Projekt GNU" .ds dc \fBdc\fP .ds Dc \fBDc\fP .SH NAZWA dc - kalkulator dowolnej precyzji .SH SKŁADNIA .B dc .RB [ -V ] .RB [ --version ] .RB [ -h ] .RB [ --help ] .RB [ -e .IR wyraż-skryptowe ] .RB [ --expression= .IR wyraż-skryptowe ] .RB [ -f .IR plik-skryptu ] .RI [ --file= .RB plik-skryptu ] .RI [ plik ...] .SH OPIS \fI Uwaga! To tłumaczenie może być nieaktualne!\fP .PP Dokument ten opisuje \fBdc\fR w wersji 1.06, z listopada 2000. .PP \fBdc\fR jest kalkulatorem pracującym w odwrotnej notacji polskiej, obsługującym arytmetykę nieograniczonej precyzji. Pozwala również na definiowanie i wywoływanie makr. Zwykle \fBdc\fR czyta ze standardowego wejścia. Jeśli użyto argumentów polecenia \fBdc\fR, to są one traktowane jak nazwy plików. Zawartość tych plików jest odczytywana i wykonywana przez \fBdc\fR 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. .PP 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. .PP W celu wprowadzenia liczby do \fBdc\fR wpisujemy cyfry z opcjonalną kropką dziesiętną. Nie jest rozpoznawana notacja wykładnicza. Liczbę ujemną poprzedzamy znakiem podkreślenia ``_''. Nie można posłużyć się w tym celu znakiem ``-'' (minus), gdyż jest to dwuargumentowy operator odejmowania. Dwie kolejne liczby wprowadzamy oddzielając je spacjami lub znakami nowej linii. Nie mają one znaczenia jako polecenia. .SH OPCJE \*(Dc można wywoływać z następującymi opcjami wiersza poleceń: .TP .B -V .TP .B --version Wypisuje numer wersji uruchomionego \*(dc i informację o prawach autorskich, a następnie kończy działanie. .TP .B -h .TP .B --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. .TP .B -e \fIskrypt\fP .TP .BI --expression= skrypt Dodaje polecenia ze .I skryptu do zestawu poleceń, jakie mają być wykonane podczas przetwarzania wejścia. .TP .B -f \fIplik-skryptu\fP .TP .BI --file= plik-skryptu Dodaje polecenia zawarte w .I pliku-skryptu do zestawu poleceń, jakie mają być wykonane podczas przetwarzania wejścia. .PP Jeżeli po przetworzeniu powyższych opcji pozostaną jeszcze jakieś parametry wiersza poleceń, to są one interpretowane jako nazwy plików wejściowych, które należy wykonać. Nazwa \fB-\fP odnosi się do standardowego strumienia wejściowego. Jeśli nie podano ani opcji \fB-e\fP ani żadnych plików, to polecenia do wykonania będą czytane ze standardowego wejścia. .PD .SH Polecenia wypisywania .TP .B p Wypisuje wartość z wierzchołka stosu, bez jego zmiany. Po wartości wypisywany jest znak nowej linii. .TP .B n Wypisuje wartość z wierzchołka stosu, zdejmując ją równocześnie ze stosu. Nie wypisuje po niej znaku nowej linii. .B P Zdejmuje wartość z wierzchołka stosu. Jeśli jest to łańcuch, to jest on po prostu wypisywany bez końcowego znaku nowej linii. W przeciwnym razie jest to liczba, a część całkowita jej wartości bezwzględnej wypisywana jest jako strumień bajtów "o podstawie (UCHAR_MAX+1)". Zakładając, że (UCHAR_MAX+1) wynosi 256 (jak to jest w większości maszyn o 8-bitowych bajtach), funkcję tę realizuje także sekwencja \fBKSK 0k1/ [_1*]sx d0>x [256~aPd0 r Zdejmuje dwie wartości ze stosu i porównuje je, zakładając, że są one liczbami, wykonując zawartość rejestru .I r jako makro, jeśli pierwotny wierzchołek stosu jest większy. Tak więc, .B 1 2>a wywoła zawartość rejestru .B a zaś .B 2 1>a nie wywoła. .TP .BI !> r Podobnie, ale wywołuje makro jeśli pierwotny wierzchołek stosu nie jest większy (jest mniejszy bądź równy) od liczby występującej pod nim. .TP .BI < r Podobnie, ale wywołuje makro jeśli pierwotny wierzchołek stosu jest mniejszy od liczby występującej pod nim. .BI !< 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. .TP .BI = r Podobnie, ale wywołuje makro, gdy obie zdjęte ze stosu liczby są równe. .TP .BI != r Podobnie, ale wywołuje makro, gdy obie zdjęte ze stosu liczby nie są równe. .ig Jest to również poprawna forma sprawdzenia równości dwu łańcuchów. .. .TP .B ? Czyta wiersz z terminala i wykonuje go. Polecenie to umożliwia makru pobieranie danych od użytkownika. .TP .B 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 \fBdc\fR. .TP .B Q Zdejmuje ze stosu wartość i używa jej jako liczby poziomów wykonania makr, jakie mają zostać zakończone. Tak więc, .B 3Q kończy pracę trzech poziomów makr. Polecenie .B Q nigdy nie powoduje zakończenia pracy \fBdc\fR. .SH Informacja o stanie .TP .B Z Zdejmuje wartość ze stosu, oblicza liczbę jej cyfr (lub liczbę znaków, jeśli jest to łańcuch) i odkłada tę liczbę na stos. .TP .B 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 .\" -1. 0. .TP .B z Odkłada na stos bieżącą wysokość stosu: liczbę obiektów na stosie przed wykonaniem polecenia \fBz\fR. .SH Różne .TP .B ! Uruchamia resztę wiersza jako polecenie systemu. Zauważ, że pierwszeństwo w analizie składni mają polecenia \fB!<\fP, \fB!=\fP i \fB!>\fP, więc jeśli chcemy uruchomić polecenie systemu zaczynające się od \fB<\fP, \fB>\fP lub \fB=\fP, to po \fB!\fP musimy dodać odstęp. .TP .B # Interpretuje resztę wiersza jako komentarz. .TP .BI : r Zdejmuje ze stosu dwie górne wartości. Wartość, która była drugą od góry stosu zostanie zachowana w tablicy .IR r , indeksowanej wartością byłego wierzchołka stosu. .TP .BI ; r Zdejmuje wierzchołek stosu i posługuje się nim jako indeksem tablicy .IR r . Wybrana w ten sposób wartość jest następnie odkładana na stos. Zauważ, że każda ze składowanych na stosie instancji rejestru ma swoją własną, skojarzoną z nią tablicę. Zatem, \fB1 0:a 0Sa 2 0:a La 0;ap\fP wypisze 1, gdyż 2 zostało zapamiętane w instancji 0:a, która została później odłożona na stos. .SH UWAGI Operacje tablicowe .B : oraz .B ; są zwykle używane wyłącznie przez tradycyjne implementacje \fBbc\fR. (Program .B bc w wersji GNU jest samowystarczalny i nie potrzebuje \fBdc\fR by działać.) .SH BŁĘDY Błędy proszę zgłaszać (w jęz.angielskim) na adres .BR bug-dc@gnu.org . .SH "INFORMACJE O TŁUMACZENIU" Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia Manuali i \fImoże nie być aktualne\fR. W razie zauważenia różnic między powyższym opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o zapoznanie się z oryginalną (angielską) wersją strony podręcznika za pomocą polecenia: .IP man \-\-locale=C 1 dc .PP Prosimy o pomoc w aktualizacji stron man \- więcej informacji można znaleźć pod adresem http://sourceforge.net/projects/manpages\-pl/.