Bc

bc (basic calculator), C-անման ծրագրավորման լեզվի ինտերակտիվ ինտերպրետատոր, որը թույլ է տալիս հաշվարկներ կատարել ցանկացած ճշտությամբ։ Այն հաճախ UNIX-անման օպերացիոն համակարգերի հրամանի տողերում օգտագործվում է որպես հաշվիչ։

Հրամանի շարայուսությունը 
 bc [ -hlwsqv ] [long-options] [  file … ]

 -l : կանչում է մաթեմատիկական ֆունկցիաների ստանդարտ գրադարանը
 -w : արտածում է bc-ի Posix ընդլայնումների վերաբերյալ նախազգուշացումներ
 -s : օգտագործում է Posix bc լեզուն
 -q : չի արտածում bc-ի սովորական ողջույնի տեքստը
 -v : արտածում է պրոցեսորի տարբերակի համարը և ավարտում է ծրագիրը
 -h : կանչում է bc-ի տեղեկանքը

Օպերատորներն ու բանալի բառերը 
bc–ի օպերատորների մեծամասնությունը (բացի ^–ից) կատարում են նույն գործողությունները, ինչ C լեզվում։

 +,-,*,/ ։ հումարում, հանում, բազմապատկում, բաժանում
 % ։ մնացորդի որոշում
 ^ ։ աստիճանի բարձրացում
 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 i ։ ֆունկցիայից դուրս գալու ժամանակ վերադարձնում է i փոփոխականի արժեքը
 define a(b) ։ որոշում է սիմվոլիկ անվանում, հաստատում կամ ֆունկցիա
 print <список> ։ արտածում

Մաթեմատիկական գրադարանի ֆունկցիաները 
Անհրաժեշտության դեպքում հաշվիչին կարելի է միացնել մաթեմատիկական գրադարանը։ Դրա համար հրամանի տողում պետք է նշել -l բանալին։

 s(i) ։ i անկյան սինուս, որտեղ i-ն արտահայտվում է ռադիաններով
 c(i) ։ i անկյանկոսինուս, որտեղ i-ն արտահայտվում է ռադիաններով
 a(i) ։ 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

Հղումներ 
 The Open Group կայքում bc-ի մասնագիրը UNIX-ի միասնական մասնագրերում
 GNU bc-ի համար man-ի տեղեկանքի էջը

POSIX
Ծրագրավորման լեզուներ