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, Інтернет
bc basic calculator interaktivnij interpretator Si podibnoyi movi sho mozhe vikonuvati obchislennya iz dovilnoyu zadanoyu tochnistyu Chasto vikoristovuyetsya yak kalkulyator komandnogo ryadka u UNIX podibnih operacijnih sistemah Tradicijna realizaciya bc bula obolonkoyu do kalkulyatora dc sho vikonuvav obchislennya u polskomu inversnomu zapisi Vona vikonuvala peretvorennya z v inversnij polskij Suchasna versiya GNU bc 24 kvitnya 2011 u Wayback Machine ye okremoyu programoyu Sintaksisbc hlwsqv long options file l viklikaye standartnu biblioteku matematichnih funkcij w vivodit poperedzhennya shodo Posix rozshiren bc s vikoristovuye movu Posix bc q ne vivodit privitannya bc v vkazuye versiyu programi i zavershuye robotn h viklikaye dovidkuOperatori ta klyuchovi slovaBilshist operatoriv bc okrim povtoryuyut analogichni u movi Si dodavannya vidnimannya mnozhennya dilennya znahodzhennya ostachi vid cilochiselnogo dilennya pidnesennya do stepenya sqrt i vidobuvannya kvadratnogo korenya vid chisla i lt gt lt gt porivnyannya operator prisvoyennya inkrement dekrement obchislennya z prisvoyennyam scale i vstanovlennya tochnosti obchislen de i kilkist cifr pislya komi ibase i vstanovlennya osnovi sistemi chislennya dlya vhidnih danih de i ye bazisom 2 lt i lt 16 obase i vstanovlennya osnovi sistemi chislennya dlya vihidnih danih de i ye bazisom 2 lt i lt 16 last vivedennya ostannogo obchislenogo znachennya if E S1 else S2 operator viboru yaksho tverdzhennya E istinne vikonuyetsya S1 inakshe S2 while E S operator ciklu sho vikonuye S doki tverdzhennya E istinne for E1 E2 E3 S operator ciklu break zupinka vikonannya ciklu continue zavershennya potochnoyi iteraciyi ciklu halt zavershuye robotu bc return povertaye kod 0 pri vihodi z funkcij return i povertaye kod zminnoyi i pri vihodi z funkciyi define a b viznachaye simvolne im ya imenovanu konstantu chi funkciyu print lt spisok gt vivid danih na ekranFunkciyi matematichnoyi bibliotekiZa neobhidnosti mozhna vikoristati biblioteku matematichnih funkciyi s i sinus i de i vimiryuyetsya u radianah c i kosinus i de i vimiryuyetsya u radianah a i arktangens povertaye radiani e i eksponenta l i naturalnij logarifm i j n x funkciya BesselyaPrikladi vikoristannya bc lq for i 0 i lt 5 i e i 1 00000000000000000000 2 71828182845904523536 7 38905609893065022723 20 08553692318766774092 54 59815003314423907811 bc lq scale 10 for i 5 i lt 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 Obchislennya Pi bc lq scale 100 4 a 1 3 141592653589793238462643383279502884197169399375105820974944592307 8164062862089986280348253421170676Primitki https web archive org web 20131118082034 http catb org esr writings taoup html ch07s02 html Arhivovano18 listopada 2013 u Wayback Machine Taxonomy of Unix IPC MethodsPosilannyaSpecifikaciya bc v ob yednanij specifikaciyi UNIX 10 serpnya 2010 u Wayback Machine angl Storinka man dlya GNU bc 3 lipnya 2013 u Wayback Machine angl