bc (basic calculator) — інтерактивний інтерпретатор Сі-подібної мови, що може виконувати обчислення із довільною заданою точністю. Часто використовується як калькулятор командного рядка у UNIX-подібних операційних системах. Традиційна реалізація bc була оболонкою до калькулятора dc, що виконував обчислення у польському інверсному записі. Вона виконувала перетворення з в інверсний польський. Сучасна версія 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 <список> : вивід даних на екран
Функції математичної бібліотеки
За необхідності, можна використати бібліотеку математичних функції.
- s(i) : синус i, де i вимірюється у радіанах
- c(i) : косинус i, де i вимірюється у радіанах
- a(i) : арктангенс, повертає радіани
- e(i) : експонента
- l(i) : натуральний логарифм i
- j(n, x) : функція Бесселя
Приклади використання
$ 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
Примітки
- [[https://web.archive.org/web/20131118082034/http://catb.org/~esr/writings/taoup/html/ch07s02.html Архівовано 18 листопада 2013 у Wayback Machine.] Taxonomy of Unix IPC Methods
Посилання
- Специфікація bc в об'єднаній специфікації UNIX [ 10 серпня 2010 у Wayback Machine.](англ.)
- Сторінка man для GNU bc [ 3 липня 2013 у Wayback Machine.](англ.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет