bc — Википедия

bc (basic calculator) — интерактивный интерпретатор Си-подобного языка, позволяет выполнять вычисления с произвольно заданной точностью. Часто используется как калькулятор в командной строке UNIX-подобных операционных систем. Традиционная реализация bc была оболочкой к непосредственно калькулятору dc, принимавшему выражения в обратной польской записи, и выполняла преобразование из инфиксной записи в обратную польскую[1]. Современная версия GNU bc реализована в качестве отдельной программы.

Синтаксис команды

[править | править код]
 bc [ -hlwsqv ] [long-options] [  file … ]   -l : вызывает стандартную библиотеку математических функций.  -w : выводит предупреждения по поводу Posix — расширений bc.  -s : использует язык Posix bc.  -q : не печатает обычного приветствия bc.  -v : печатает номер версии и завершает программу.  -h : вызывает справку по bc. 

Операторы и ключевые слова

[править | править код]

Большинство операторов bc (кроме ^) повторяют аналогичные операторы языка Си.

+,-,*,/ : сложение, вычитание, умножение, деление % : нахождение остатка ^ : возведение в степень sqrt(i) : извлечение квадратного корня из числа i <, >, <=, >=, !=, == : сравнение = : присваивание ++, -- : инкремент, декремент +=, -=, *=, /=, ^=, %= : присваивание с вычислением scale = i : устанавливается точность вычисления, i – количество цифр после запятой  ibase = i : установка основания системы счисления для входных данных, где i является             базисом (2 <= i <= 16) obase = i : установка основания системы счисления для выходных данных last : Вывод последнего вычисленного значения 
if(E)[S1…] else [S2…] : оператор выбора, если E истина выполняется S1 если нет S2 while(E)[S…] : оператор цикла, выполняет операторы S, пока выражение E истина for(E1;E2;E3)[S…] : оператор цикла break : прерывает выполнение for и while continue : завершить текущую итерацию цикла (продолжить цикл, перейдя к следующей            итерации) halt : останавливает работу bc return : возврат из функции значения 0 return E : возврат из функции значения выражения E define a(b) : определяет символьное имя, именованную константу или функцию. print <список> : вывод на экран 

Функции математической библиотеки

[править | править код]

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

Примеры использования

[править | править код]
 $ bc -lq  for(i=0;i<5;i++) e(i)   1.00000000000000000000  2.71828182845904523536  7.38905609893065022723  20.08553692318766774092  54.59815003314423907811 
 $ bc -lq  scale = 10  for(i=5;i<10;i++) j(i,1)  .0002497577  .0000209383  .0000015023  .0000000942  .0000000052 
 $ bc -lq  if ((2+2)==4)print "2+2 = 4" else " 2+2 !=4 "  2+2 = 4  if ((2+2)==5)print "2+2 = 5" else "2+2 != 5 "  2+2 != 5 
 $ echo 75*125 | bc  9375 

Вычисление числа Пи:

 $ bc -lq  scale=100  4*a(1)  3.141592653589793238462643383279502884197169399375105820974944592307\  8164062862089986280348253421170676 

Примечания

[править | править код]
  1. Taxonomy of Unix IPC Methods (англ.). Дата обращения: 3 апреля 2007. Архивировано 18 ноября 2013 года.