БАСХ програмирање

бц за извођење напредних аритметичких операција у БАСХ-у

бц за извођење напредних аритметичких операција у БАСХ-у
Основни калкулатор, познат и као 'бц', ​​је Линук услужни програм за командну линију који се користи за извођење напредне аритметике и алгебре у басх скриптама. Пружа мноштво различитих математичких функција попут синуса, косинуса, тангенте, природног логаритма у басху. Басх не може да изводи напредне рачунске операције, попут упоређивања флоат-ова; ту бц добро дође. Команди 'бц' претходио је 'дц' (Деск Калкулатор), УНИКС услужни програм. У овом упутству користићемо команду 'бц' за извођење напредних аритметичких операција.

Извођење основних аритметичких операција

Једноставне аритметичке операције попут сабирања, одузимања, дељења и множења могу се извршити помоћу команде 'бц'. Синтакса за примену једноставних бинарних оператора у басх помоћу команде 'бц' је следећа.

[емаил заштићен]: ~ $ ецхо “ ”| пре нове ере

У овом одељку ћемо користити команду 'бц' за извођење једноставних рачунских операција.

[заштићен е-поштом]: ~ $ нум1 = 2.35322 5
[емаил заштићен]: ~ $ нум2 = 1.223353
[заштићен е-поштом]: ~ $ ецхо “$ нум1 + $ нум2” | пре нове ере
3.576578
[заштићен е-поштом]: ~ $ ецхо “$ нум1- $ нум2” | пре нове ере
1.129872
[заштићен е-поштом]: ~ $ ецхо “$ нум1 * $ нум2” | пре нове ере
2.878824
[е-пошта заштићена]: ~ $ ецхо “$ нум1 / $ нум2” | пре нове ере
1

У горњем примеру, док смо вршили дељење, добили смо резултат без децималних места. Да бисмо добили резултат до 'н' децималних зареза, морамо подесити вредност скале на 'н' као што је приказано у следећем примеру.

[е-пошта заштићена]: ~ $ ецхо “скала = 10; $ нум1 / $ нум2 ”| пре нове ере
1.9235862420

Алтернативно, можемо користити заставицу '-л' и наредбу 'бц' да бисмо добили децимални излаз.

[емаил заштићен]: ~ $ ецхо “$ нум1 / $ нум2” | бц -л
1.92358624207403750184

Наредба 'бц' се такође може користити за извођење поделе модула и израчунавање снаге броја у басх скриптама.

[е-пошта заштићена]: ~ $ ецхо “10% 4” | пре нове ере
2
[заштићен е-поштом]: ~ $ ецхо “10 ^ 2” | пре нове ере
100

Извођење напредних аритметичких операција

До сада смо користили команду 'бц' за извођење неких основних аритметичких операција попут сабирања, одузимања, множења итд., Сада; у овом одељку ћемо користити команду 'бц' да бисмо извршили неке напредне аритметичке операције. Разговараћемо о томе како у басху можемо користити операторе поређења, логичке или логичке операторе, напредне математичке функције и условне изразе помоћу команде 'бц'.

Оператори поређења

Оператори поређења узимају два броја, упоређују их и враћају 1 или 0 у зависности од поређења. Ако је поређење тачно, онда је резултат ИСТИНИТО (1); иначе је ФАЛСЕ (0). Следе неки примери оператора упоређивања.

  • нум1> нум2: Ово поређење ће се вратити 1 ако је нум1 је већи од нум2.
  • нум1 < num2: Резултат ће бити 1 ако је нум1 је мање од нум2.
  • нум1 <= num2: Резултат ће бити 1 ако је нум1 је мање или једнако нум2.
  • нум1> = нум2: Резултат ће бити 1 ако је нум1 је већи или једнак нум2.
  • нум1 == нум2: Резултат ће бити 1 ако је нум1 је једнако нум2.
  • нум1 != нум2: Резултат ће бити 1 ако оба броја нису једнака.

Следи неколико примера оператора упоређивања који се користе заједно са командом 'бц'.

[заштићен е-поштом]: ~ $ ецхо “5 == 5” | пре нове ере
1
[заштићена е-поштом]: ~ $ ецхо “4!= 4 ”| пре нове ере
0
[е-пошта заштићена]: ~ $ ецхо “2> 5” | пре нове ере
0
[заштићена е-поштом]: ~ $ ецхо “4<=4” | bc
1

Логички оператери

Логички или логички оператори користе се у условним изразима за извршавање неких логичких одлука. Следе три основна логичка оператора.

  • стат1 && стат2: Ово ће се вратити 1 ако су обе изјаве не-нула.
  • стат1 || стат2: Ово ће се вратити 1 ако је било која од изјава не-нула.
  • ! стат: Ово ће се вратити 1 ако је изјава не-нула и обрнуто.

Следећи примери илуструју како се логички оператори користе са наредбом 'бц'.

[емаил заштићен]: ~ $ ецхо “-5 && 0” | пре нове ере
0
[емаил заштићен]: ~ $ ецхо “-1 || 0 ”| пре нове ере
1
[емаил заштићен]: ~ $ ецхо “! 0 ”| пре нове ере
1

Условне изјаве

Условни изрази се користе за извршавање одређених наредби у зависности од примењеног услова. Примењени услов у условном изразу укључује логичке и операторе упоређивања. Следи пример условних наредби са наредбом 'бц'.

[емаил заштићен]: ~ $ а = 15
[емаил заштићен]: ~ $ б = 20
[заштићен е-поштом]: ~ $ ецхо 'иф (а> б) принт "а ис ларгер" елсе принт "б ис ларгер"' | бц -л
б је веће

У горњем примеру, изјава проверава да ли је а веће од б или није. Ако је а веће од б, исписаће се „а веће је“; у супротном ће исписати „б је веће.”У претходном примеру можемо применити било који услов користећи логичке и упоредне операторе.

Математичке функције

Команда 'бц' такође пружа неке уграђене математичке функције које можемо користити без њиховог дефинисања. Следе неке основне функције које се користе са командом 'бц' у басх-у.

  • с (к): враћа синус к где је к у радијанима
  • ц (к): враћа косинус к, где је к у радијанима
  • а (к): враћа арктангенс к, а резултат је у радијанима
  • скрт (к): враћа квадратни корен из к. То изазива грешку у извођењу када је к негативан
  • л (к): враћа природни дневник к.

Ове функције се могу користити са наредбом 'бц', ​​као што је приказано у следећим примерима.

[заштићен е-поштом]: ~ $ пи = 3.1415
[е-пошта заштићена]: ~ $ ецхо “с ($ пи / 2)” | бц -л
1
[заштићен е-поштом]: ~ $ ецхо “ц ($ пи / 2)” | бц -л
0
[заштићена е-поштом]: ~ $ ецхо “а (1)” | бц -л
0.7854

Квадратни корен броја може се израчунати у басх помоћу наредбе 'бц', ​​као што је приказано на следећој слици.

[заштићен е-поштом]: ~ $ ецхо “скрт (4)” | бц -л
2

Покушавајући да израчуна квадратни корен негативног броја, љуска ће бацити грешку извршавања.

[заштићен е-поштом]: ~ $ ецхо “скрт (-2)” | бц -л
Грешка током извођења (фунц = (маин), адр = 4): Квадратни корен негативног броја

Природни логаритам броја може се израчунати у басх помоћу наредбе 'бц' на следећи начин.

[заштићен е-поштом]: ~ $ ецхо “л (2)” | бц -л
.69314718055994530941

Закључак

Док пишемо скрипте за аутоматизацију на басх, понекад су нам потребне напредне математичке функције и логички оператори за извршавање наредби. Команда 'бц' пружа многе напредне математичке функције и операторе за извођење аритметичких прорачуна на високом нивоу. У овом водичу је било речи о употреби наредбе 'бц' за извођење напредних рачунских операција у басх-у.

Како приказати ОСД прекривач у целом екрану Линук апликација и игара
Играње игара преко целог екрана или коришћење апликација у режиму целог екрана без ометања може вам одсећи релевантне системске информације видљиве на...
Топ 5 карата за хватање игара
Сви смо видели и волели стримовање играња на ИоуТубе-у. ПевДиеПие, Јакесептицие и Маркиплиер само су неки од најбољих играча који су зарадили милионе ...
Како развити игру на Линуку
Пре деценију, није много корисника Линука предвидело да ће њихов омиљени оперативни систем једног дана бити популарна платформа за играње комерцијални...