Rekenkundige in Bas

Hoe om berekeninge by 'n basiese teks te voeg

Alhoewel Bas is 'n skripsie taal, het dit pretty much al die vermoëns van 'n algemene doelprogrammeertaal. Dit sluit rekenkundige funksies in. Daar is 'n aantal sintaksopties wat u kan gebruik om rekenkundige evaluering van 'n uitdrukking te ontlok. Miskien is die mees leesbare een die let- opdrag. Byvoorbeeld

laat "m = 4 * 1024"

sal 4 keer 1024 bereken en die resultaat aan die veranderlike "m" toeken.

U kan die resultaat uitdruk deur 'n echo- stelling by te voeg:

laat "m = 4 * 1024" echo $ m

U kan dit toets vanaf die opdrag lyn deur die volgende kode in te voer:

laat "m = 4 * 1024"; eggo $ m

U kan ook 'n lêer skep met die Bash opdragte. In hierdie geval moet u 'n reël bo aan die lêer byvoeg wat die program spesifiseer wat die kode moet uitvoer. Byvoorbeeld:

#! / bin / bash laat "m = 4 * 1024" echo $ m

as die Bash uitvoerbaar is, is dit in / bin / bash . U moet ook die permissies van u skriplêer stel sodat dit uitvoerbaar is. Gestel die script lêernaam is script1.sh , kan u die permissies stel om die lêer uitvoerbaar te maak met die opdrag:

chmod 777 script1.sh

Daarna kan jy dit met die opdrag uitvoer:

./script1.sh

Die beskikbare rekenkundige bewerkings is soortgelyk aan dié in standaardprogrammeringstale soos Java en C. Behalwe vir vermenigvuldiging, soos hierbo geïllustreer, gebruik jy byvoeging:

laat "m = a + 7"

of aftrekking:

laat "m = a - 7"

of afdeling:

laat "m = a / 2"

of modulo (die res na 'n integer afdeling):

laat "m = a% 100"

Wanneer 'n operasie toegepas word op dieselfde veranderlike waaraan die resultaat toegeken is, kan jy die standaard rekenkundige kortkortopdragoperateurs gebruik, ook bekend as saamgestelde opdragoperateurs. Byvoorbeeld, vir byvoeging het ons:

laat "m + = 15"

wat gelykstaande is aan "m = m + 15". Vir aftrekking het ons:

laat "m - = 3"

wat gelykstaande is aan "m = m - 3". Vir afdeling het ons:

laat "m / = 5"

wat gelykstaande is aan "m = m / 5". En vir modulo het ons:

laat "m% = 10"

wat gelykstaande is aan "m = m% 10".

Daarbenewens kan u die inkremente- en verlagingsoperateurs gebruik :

laat "m + +"

is gelyk aan "m = m + 1". en

laat "m--"

is gelyk aan "m = m - 1".

En dan is daar die ternêre "vraagteken-kolon" -operateur, wat een van twee waardes gee, afhangende van of die gespesifiseerde toestand waar of onwaar is. Byvoorbeeld

laat "k = (m <9)? 0: 1"

Die regterkant van hierdie werkopdrag evalueer na "0" as die veranderlike "m" minder is as 9. Evalueer dit na 1. Dit beteken dat die veranderlike "k" toegeken is "0" as "m" minder is as 9 en "1" andersins.

Die algemene vorm van die vraagteken-kolon-operateur is:

toestand? waarde-indien-waar: waarde-as-vals

Wisselpunt Rekenkundige in Bas

Die laat operateur werk net vir heelgetalreken. Vir swaaipuntrekenkunde kan u byvoorbeeld die GNU bc sakrekenaar gebruik soos in hierdie voorbeeld geïllustreer:

echo "32.0 + 1.4" | BC

Die "pyp" -operateur "|" slaag die rekenkundige uitdrukking "32.0 + 1.4" na die bc sakrekenaar, wat die werklike nommer teruggee. Die echo- opdrag druk die resultaat op die standaard uitset.

Alternatiewe sintaksis vir rekenkunde

Backticks (terug enkele aanhalingstekens) kan gebruik word om 'n rekenkundige uitdrukking te evalueer soos in hierdie voorbeeld:

echo `expr $ m + 18`

Dit sal 18 by die waarde van die veranderlike "m" voeg en dan die resultaat uitdruk.

Om die berekenwaarde aan 'n veranderlike toe te ken, kan jy die gelyktydige teken sonder spasies rondom dit gebruik:

m = `expr $ m + 18`

'N Ander manier om rekenkundige uitdrukkings te evalueer, is om twee hakies te gebruik. Byvoorbeeld:

((m * = 4))

Dit sal die waarde van die veranderlike "m" verdubbel.

Behalwe rekenkundige evaluering, bied die Bash-dop ander programmeringskonstruksies, soos for-loops , while-loops , conditionals , en funksies en subroutines .