Наши партнеры

UnixForum






Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Тематический каталог -> Работа в консоли Linux

Быстрые и гибкие расчёты в консоли

Оригинал: Fast, flexible, calculating from the command line
Автор: Ben Morgan
Перевод: Николай Глущенко

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

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

Несмотря на то, что Genius самый продвинутый (и возможно самый стабильный) из всех вышеупомянутых консольных калькуляторов, Calc более удобен и предоставляет большинство функций, необходимых среднему пользователю. Найти Calc можно в репозиториях большинства дистрибутивов. Также его можно запустить под Windows.
Справка Calc находится в /usr/share/calc/help/. Просмотреть её можно как в самом Calc, так и в любом текстовом редакторе. Команда calc help покажет справку в "урезанном" варианте. Для того, чтобы ознакомится с интересующей вас темой, необходимо набрать calc help topic, где topic - название темы. Чтобы посмотреть всю справку, наберите calc help full.
Calc использует обычные математические символы и функции, такие как + - * / ^ ** % или sqrt(x), sin(x), tan(x), что упрощает изучение данного инструмента. Для людей, знакомых с языком С и ему подобными, Calc покажется особенно удобным, так как в нём используется схожий синтаксис (но различия тем не менее есть, о них можно узнать здесь - calc help unexpected).
Для запуска калькулятора наберите в командной строке calc. Следующий листинг ознакомит вас с основными возможностями:

C-style arbitrary precision calculator (version 2.12.2.2)
Calc is open software. For license details type: help copyright
[Type "exit" to exit, or "help" for help.]

; ## Для комментирования используйте двойную решетку (##)
; /* Но так способ комментирования тоже работает */
; ## 5 в степени 2
; 5 ^ 2
25
; 5 ** 2
25

; ## Деление с плавающей точкой
; 111 / 2
55.5
; ## Целочисленное деление
; 111 // 2
55
;
; ## Как определить функцию?
; ## Вот простой способ:
; define f(x) = x*2
f(x) defined
;
; ## Способ посложней:
; define g(first, second) {
;; first -= second;
;; first ** 2;
;; first // 1.5;
;; first++;
;; print "done";
;; return first;
;; }
g(first,second) defined
;
; ## Функция в действии
; g( f(2), 3 )
done
2
;
; g( f(5), 1 )
done
10
;

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

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

#!/usr/bin/calc -i read

H = 1.00794
He = 4.0026
Li = 6.941
Be = 9.012182
B = 10.811
C = 12.0107
N = 14.0067
O = 15.9994
## ... and so forth

print "You are using the periodic resource for calc."

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

You are using the periodic resource for calc.
; ## Теперь мы в интерактивной оболочке
; O
15.9994
; C+O*2
44.0095
;

Большинство используют Линукс с запущенными Иксами, вместо того, чтобы работать в чистой командной строке. В таком окружении для запуска Calc удобно использовать виртуальный терминал, например aterm: aterm -e или aterm -e calc -i read /путь_к_файлу-ресурсу/periodic.cal. Будьте осторожны, последняя версия Calc имеет следующий баг: Calc может закрыться при попытке вызова несуществующей функции. Поэтому запускайте Calc в терминале, который не закроется, при закрытии Calc. Так вы не потеряете раннее введенный код.

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

Об авторе: Бен Морган - студент из Сенегала. Использует Линукс с 2002го года.