Как запустить калькулятор через командную строку linux

Быстрые и удобные вычисления в командной строке

Калькуляторы с графическим интерфейсом может быть и удобны, но они не могут предоставить достаточно комфорта для уверенных пользователей командной строки. К счастью, такие инструметы для командной строки, как bc , Genius и Calc имеют заметные преимущества над своими собратьями с графическим интерфейсом.

Калькуляторы для командной строки позволяют делать большую часть (если не всё) того, что умеют графические калькуляторы, но им есть и чем похвастаться:

У них есть интерактивный и неинтерактивный режимы.

Их можно использовать в скриптах, да и они сами могут запускать свои собственные скрипты.

Они эффиктивны в работе — ваши руки остаются на клавиатуре.

У них есть множество встроенных функций и переменных.

  • Они поддерживают определение новых функций и переменных «на лету».
  • В то время, как Genius — наиболее мощный (и, возможно, наиболее стабильный) из всех вышеупомянутых консольных калькуляторов, Calc наиболее дружелюбный и предоставляет больше возможностей, чем необходимо среднему пользователю. Calc можно найти в репозиториях большинства дистрибутивов, и его можно запустить и под Windows.

    У Calc нет страницы помощи (man); но зато подробная помощь расположена в /usr/share/calc/help/, её можно посмотреть или обычным текстовым редактором, или с помощью самого же Calc. Команда calc help откроет краткий обзор помощи; после этого можно выбрать интересующую вас тему и выполнить команду calc help название темы. Для просмотра всего описания используйте команду calc help full . Другие общие ресурсы и примеры к Calc содержатся каталоге /usr/share/calc.

    Calc использует интуитивно понятные математические символы и функции, такие, как + — * / ^ ** % или sqrt(x), sin(x), tan(x) , которые легко запомнить. К тому же, из-за использования стиля языка С, людям, знакомым с программированием на С, синтаксис Calc покажется вполне естественным (хотя разница все же есть; смотрите calc help unexpected ).

    Для начала введите команду calc . Приглашением к работе у калькулятора является точка с запятой. Приведенный ниже сеанс работы с Calc позволит вам оценить возможности этого инструмента (Прим.переводчика: сообщения программы тоже переведены для лучшего понимания статьи читателями):

    Без аргуметов командной строки Calc запускается как интерактивная оболочка. Вы можете запустить его вместе с выражением, которое нужно вычислить, например calc 2+3 . После вычисления программа завершится, если вы не дописали аргумент -i , в этом случае после вычисления запустится интерактивный режим.

    Наборы переменных и функций можно расположить в файле ресурсов, обычно имеющем расширение .cal, который калькулятор может прочитать и использовать. Правила написания файла ресурсов ничем не отличаются от синтаксиса интерактивной оболочки. К примеру, вы оказались на уроке химии, и вам часто нужно успользовать таблицу атомных весов. Вы можете создать файл ресурсов periodic.cal с переменными, функциями и командами, как показано ниже:

    После этого можно загрузить файл ресурсов командой типа calc -i read periodic.cal . Как вариант, можно сделать его исполняемым с помощью chmod +x periodic.cal, после чего просто его запускать. Если ресурс загружен, вы имеете доступ ко всем переменным, объявленным там:

    Читайте также:  Как пользоваться windows api

    Большинство пользователей используют Х под Линуксом вместо того, чтобы пользоваться только лишь командной строкой. В этом случае удобный метод использования Calc — запускать его через виртуальный терминал типа aterm: или

    Однако, следует предупредить, что в последней версии Calc есть ошибка — он завершает работу при попытке вызвать несуществующую функцию. Поэтому при изучении функций запускайте его в терминале, который не закрывается при завершении работы Calc, так чтобы хотя бы не терять того, что вы уже набрали в командной строке.

    Если вы фанат командной строки, то вам не понадобится даже запускать GUI, чтобы запустить калькулятор. Такие программы, как Calc позволяют ощутить мощь на кончиках пальцев, даже не двигая мышью.

    Ben Morgan — сенегальский студент. Он пользуется Линуксом с 2002 года.

    Источник

    GNU bc — калькулятор командной строки для Linux

    Оригинал: What is a good command-line calculator on Linux
    Автор: Dan Nanni
    Дата публикации: 21 октября 2014 года
    Перевод: А. Кривошей
    Дата перевода: октябрь 2015 г.

    Любой современный дистрибутив Linux включает графический калькулятор. С другой стороны, если вашим обычным рабочим окружением является терминал, то вы скорее будете искать себе калькулятор, который бы работал в командной строке. В этой категории программ, по моему мнению, единоличным лидером является GNU bc (сокращение от «basic calculator»). Это очень мощная и полезная утилита.

    Еще до наступления эры GNU, bc исторически был известным языком для вычислений, первая реализация которого относится к старым добрым временам Unix 70-х годов. Изначально bc был больше известен в качестве языка программирования с синтаксисом, похожим на C. Со временем оригинальный bc эволюционировал в POSIX bc, а затем и в GNU bc.

    Возможности GNU bc

    Сегодняшний GNU bc является результатом многочисленных усовершенствований предыдущих реализаций, и сегодня он представляет собой стандарт для всех главных дистрибутивов GNU/Linux. bc поддерживает стандартные арифметические операции с числами произвольной точности и различных систем счисления (двоичные, десятеричные, шестнадцатеричные).

    Если вы знакомы с языком C, вы увидите, что в bc используются те же или похожие математические операторы. Среди поддерживаемых операций арифметические (+,-,*,/,%,++,—), сравнения ( ,==,!=, =), логические (!,&&,||), побитовые (&,|,^,

    , >), составного присваивания (+=,-=,*=,/=,%=,&=,|=,^=,&&=,||=, >=). bc имеет много полезных встроенных функций, таких как извлечение квадратного корня, тригонометрические и обратные тригонометрические функции, логарифмы, экспонента и так далее.

    Использование GNU bc

    Возможности GNU bc как калькулятора командной строки практически неограничены. В этом руководстве я собираюсь описать самые популярные функции bc. Получить полную информацию о возможностях программы можно из официальной документации.

    За исключением случая запуска ранее написанного скрипта, обычно bc используется в интерактивном режиме, где каждая строка, содержащая выражение или оператор, интерпретируется и выполняется на лету. Чтобы перейти в интерактивную сессию bc, введите приведенную ниже команду. Для выхода из сессии введите «quit» и нажмите Enter.

    Во всех приведенных в данном руководстве примерах подразумевается, что они вводятся внутри сессии bc.

    Типы выражений

    Для расчета арифметического выражения просто введите выражение и нажмите Enter. Если хотите, можете сохранить промежуточный вариант в переменной, чтобы затем использовать его в других выражениях.

    В пределах одной сессии bc сохраняет всю историю введенных строк. Для возврата к предыдущим выражениям используется курсорная клавиша со стрелкой вверх. Если вы хотите ограничить число строк, сохраняемых в истории, присвойте нужное вам число переменной по имени history. По умолчанию ее значение -1, что соответствует «unlimited».

    Читайте также:  Драйвер для avertv studio 507 для windows 10 64 bit

    Переключение между системами счисления ввода/вывода

    Часто может потребоваться вводить числа и выводить на экран результаты в двоичном или шестнадцатеричном формате. Для этого bc позволяет определить систему счисления для ввода и вывода. Они хранятся в переменных ibase и obase соответственно. По умолчанию значение этих специальных переменных равно 10, а диапазон допустимых значений от 2 до 16 (или значения переменной окружения BC_BASE_MAX в случае obase). Все, что вам нужно для смены системы счисления — изменить значения ibase и obase. Например, ниже пример суммирования двух шестнадцатеричных/двоичных чисел:

    Обратите внимание, что я задал сначала obase=16, затем ibase=16, а не наоборот. Если бы задал сначала ibase=16, то выражение obase=16 интерпретировалось бы уже в шестнадцатеричном формате (то есть мы присваивали бы obase значение 22 в десятеричной форме).

    Точность

    В bc точность чисел хранится в специальной переменной под названием scale (количество десятичных цифр после точки). По умолчанию ее значение равно 0, что соответствует хранению всех цифр результата. Вы можете изменить точность, присвоив перменной scale соответствующее значение.

    Использование встроенных функций

    Помимо простых арифметических операций GNU bc предлагает большой набор продвинутых математических функций, как встроенных, так и находящихся во внешней математической библиотеке. Для использования этих функций запустите bc с опцией «-l».
    Ниже проиллюстрированы некоторые из этих встроенных функций.

    Квадратный корень из N:

    Синус от X (X в радианах):

    Косинус от X (X в радианах):

    Арктангенс от X (возвращаемое значение в радианах):

    Натуральный логарифм от X:

    Экспонента от X:

    Другие возможности языка

    GNU bc поддерживает простые операторы (например присваивание значения переменной, break, return), составные операторы (if, while, for loop), и функции, определенные пользователем. Я не буду детально описывать эти возможности, но вы легко можете научиться пользоваться ними из официального руководства. Ниже пример определения очень простой функции:

    Неинтерактивное использование GNU bc

    До сих пор мы использовали bc в интерактивном режиме. Однако достаточно часто он используется неинтерактивно, в скриптах оболочки. В этом случае вы можете направить ввод на bc с помощью команды echo, например:

    В завершение можно сказать, что GNU bc — это очень мощный гибкий калькулятор командной строки, который соответствует самым высоким требованиям. Предустановленный во всех современных дистрибутивах Linux, bc может значительно упростить ваши задачи, не выходя из терминала.

    Источник

    Занимательная математика командной строки

    Если вы пользователь Linux, Free/Open BSD или другой свободной ОС, есть вероятность, что интерфейс командной строки вам не чужд. В таком случае можно использовать командную оболочку для простых арифметических действий. Для этого не нужно устанавливать дополнительных программ, все уже есть в базовом наборе операционной системы. Они позволяют качественно заменить привычный калькулятор на столике счетовода.

    bash калькулятор целочисленный

    Арифметические операции с целочисленными в bash будут выглядеть так:

    На man странице bash , в разделе ARITHMETIC EVALUATION вы можете ознакомиться с приоритетом исполнения действий операторов. И, кстати, можно получить тот же результат, используя команду expr целочисленное выражение , вместо подстановки с двойными скобками в командах вывода.

    bc мэдскиллз

    Целочисленные выражения это конечно хорошо, но как-то маловато даже для калькулятора. Благо в наборе есть еще bc — Си-подобный интерактивный интерпретатор. Не будем тратить время на сложение и вычитание, перейдем сразу к более интересным занятиям.

    Это уже получше калькулятора, так как позволяет получить любое количество чисел в дробной части с помощью переменной scale . Остерегайтесь поддельных проприетарных версий bc , так как они поддерживают всего-лишь 99 знаков после запятой!

    Читайте также:  Как сбросить весь компьютер до заводских настроек windows 10

    Еще 2 важные переменные: ibase и obase указывают на основание входящих и исходящих чисел.

    Тут, кстати, есть засада. Посмотрите на эти два примера. Вроде бы пытаешься сделать то же самое, но результат разный. Вся суть в том, что в первом примере ibase=2 , но сама obase=10 принимает значение 2 в силу того, что ibase определяет по базе obase и 10 становится равной 2. Чтобы разорвать этот круг, надо использовать hex.

    При множественном возведении числа в степень важно расставить нужным образом скобки, ибо bc правоассоциативна и результат может быть не тот, на который вы рассчитывали.

    Помимо этих художеств, bc имеет еще интерактивный режим в котором пищит и все портит делает все то же самое, но уже напрямую, без конвейера. Ключ -q нужен, чтобы подавить гнушное приветствие.

    Замер производительности процессора с bc

    Много лун назад на одном популярном англоязычном форуме, ныне покойном, предложили гениально простой способ нагреть проц и посчитать его скорость в попугаях.

    Мы подгружаем в bc математическую библиотеку опцией -l и просим выдать число π с точностью 5000 знаков после запятой. Мой результат вычисления на Intel(R) Core(TM) i5-4300U CPU @ 1.90GHz :

    Скрипты bc

    В bc можно, если очень нужно, определять функции и запускать скрипты. Определение функции имеет следующий синтаксис:

    Определены условные операторы if и else , причем последний не обязательно использовать, а также заголовки цикла for и while . На Википедии можно просмотреть список математических операторов и сравнить с таковым в Си. А вот так выглядит расчет чисел Фибоначчи в bc .

    Как ЯП bc не взлетел, однако, в качестве настольного калькулятора он более чем хорош.

    awk: арифмометр и гадалка

    Мне не часто доводилось пользоваться awk , поэтому каждый раз я с удивлением обнаруживаю новые возможности этой программы. Если нужно посчитать логарифмы или синусы, не спешите паниковать, man awk вам поможет. Вот так мы получили квадратный корень.

    А вот мы уже логарифмируем число π, 5000 знаков которого мы уже вычисляли с помощью bc .

    Оглашаю полный список возможностей

    Иногда, хочется довериться судьбе и послать все на три буквы — awk. Вообще-то, это пример из книги издательства O’Reilly, имитирует бросание монетки, выдавая 2 разных события пить или не пить с одинаковой вероятностью.

    В заключение

    В нашей математической мастерской.еще очень много разных программ и если тема взлетит, попробуем перейти в первую и высшую лигу математического ПО с открытыми исходниками.

    I. Замена калькулятора

    1. Встроенные средства командной оболочки: арифметические подстановки bash .
    2. Программа GNU bc .
    3. Неформат — awk .

    1. OpenOffice / LibreOffice Calc .
    2. KDE KSpread .
    3. GNOME Gnumeric .
    4. Одиночные, например: GNU Oleo и другие.

    III. Специализированные математические программы, уровень студент+

    IV. Языки программирования, математические библиотеки и среды

    1. Ansi C , библиотеки math.h, complex.h, GSL и другие товарищи.
    2. Java Scientific Library
    3. Python , библиотеки SciPy, NumPy, Sympy и другие товарищи.
    4. COBOL .
    5. Fortran .
    6. Intel Math Kernel Library (Intel MKL)
    7. AMD Accelerated Parallel Processing Math (APPLM)
    8. AMD Core Math Library (ACML)

    Список, естественно не полный, поэтому заранее прошу прощение, если не указал чей-то излюбленный математический пакет или ЯП. Последняя группа — поистине разливанное море разнообразного и годного софта.

    А вот и обещанный мэдскиллз вместе с ответом на вопрос из картинки. Источник.

    Источник

    Оцените статью