bc — Вікіпедія

bc (basic calculator) — інтерактивний інтерпретатор Сі-подібної мови, що може виконувати обчислення із довільною заданою точністю. Часто використовується як калькулятор командного рядка у UNIX-подібних операційних системах. Традиційна реалізація bc була оболонкою до калькулятора dc, що виконував обчислення у польському інверсному записі. Вона виконувала перетворення з інфіксного запису в інверсний польський[1]. Сучасна версія GNU bc [Архівовано 24 квітня 2011 у Wayback Machine.] є окремою програмою.

Синтаксис

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

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

[ред. | ред. код]

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

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

Функції математичної бібліотеки

[ред. | ред. код]

За необхідності, можна використати бібліотеку математичних функції.

Приклади використання

[ред. | ред. код]
 $ 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 

Примітки

[ред. | ред. код]

Посилання

[ред. | ред. код]