Man pages на русском

         

DC(1)


НАЗВАНИЕ

dc - настольный калькулятор

СИНТАКСИС

dc [файл]

ОПИСАНИЕ

Dc - пакет для арифметических вычислений с произвольной точностью. Обычно он оперирует в десятичной системе счисления с целыми числами, однако можно задать системы счисления для ввода и вывода, а также точность вычислений. Общая структура dc - стековый калькулятор, использующий обратную польскую запись. [См. также - препроцессор для dc, поддерживающий инфиксную нотацию и C-подобный синтаксис.] Если аргумент указан, то сначала ввод производится из файла, а потом со стандартного ввода.

Dc распознает следующие конструкции:

числоЗначение числа помещается в стек. Число - непрерывная цепочка цифр 0-9. В начале ее может стоять знак подчеркивания _ для ввода отрицательного числа. Число может содержать десятичную точку. + - / * % ^Верхние два числа стека складываются (+), вычитаются (-), умножаются (*), делятся (/), берется остаток (%) или выполняется возведение в степень. Оба операнда извлекаются из стека и результат помещается обратно в стек. Дробная часть показателя степени игнорируется. sxИзвлекается вершина стека и помещается в регистр с именем x, где x - любой символ. Если конструкция имеет вид Sx, то x рассматривается как стек, в который и помещается извлеченное значение. lx Значение, хранящееся в регистре x, помещается в стек. Регистр x не изменяется. Изначально все регистры инициализируются нулем. Если конструкция имеет вид Lx, то x рассматривается как стек, его вершина извлекается и помещается в главный стек. d Вершина стека удваивается. p Выводится вершина стека (без удаления из стека). P Вершина стека трактуется как цепочка символов, печатается и удаляется из стека. f Выводятся все элементы стека (без удаления). q Завершает работу программы. При выполнении цепочки символов уровень рекурсии уменьшается на два. Q Завершает работу программы. Вершина стека извлекается и уровень рекурсии уменьшается на полученное значение. x Вершина стека трактуется как цепочка символов, содержащая dc-команды, и выполняется. X Вершина стека заменяется количеством цифр в ее дробной части. [..] Цепочка символов, заключенная в скобки, помещается в вершину стека. x =x Два верхних элемента стека извлекаются и сравниваются. Если они удовлетворяют указанному условию, то содержимое регистра x рассматривается как команда dc и выполняется. v Верхний элемент стека заменяется квадратным корнем из него. Если он имел дробную часть, то она учитывается; в противном случае точность вычислений (см. команду k) игнорируется. ! Остаток строки интерпретируется как команда shell'а. c Очистка стека. i Вершина стека извлекается и используется как основание системы счисления при вводе. Команда I помещает используемое при вводе основание системы счисления в вершину стека. o Вершина стека извлекается и используется как основание системы счисления при выводе. Команда O помещает используемое при выводе основание системы счисления в вершину стека. k Извлекается вершина стека; она используется для задания точности вычислений: количества знаков в дробной части при выводе и при выполнении умножения, деления и возведения в степень. z В стек помещается количество его элементов. Z Число в вершине стека заменяется его длиной (без учета десятичной точки и знака минус). ? Со стандартного ввода вводится одна строка и исполняется. ;: Используются утилитой для операций с массивами.

ПРИМЕР

Вывести факториалы первых 10 натуральных чисел:

[la1+dsa*pla10>y]sy 0sa1 lyx

СМ. ТАКЖЕ

bc(1).

ДИАГНОСТИКА

x is unimplemented (где x - восьмеричное число). Операция, обозначен- ная символом с кодом x, не реализована. stack empty В стеке меньше элементов, чем требуется. Out space Слишком длинное число. Out of headers Слишком много чисел приходится хранить одновремен- но. Out of pushdown Стек переполнен. Nesting depth Слишком большой уровень вложенности при выполне- нии.



Содержание раздела