Betjening (programmering)

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 19. januar 2017; checks kræver 7 redigeringer .

En operation  er en konstruktion i programmeringssprog , der i skrift ligner matematiske operationer, det vil sige en speciel måde at registrere nogle handlinger på.

De mest brugte er aritmetiske, logiske og strengoperationer . I modsætning til funktioner er operationer ofte grundlæggende elementer i sproget og betegnes med forskellige tegnsætningstegn snarere end alfanumeriske tegn; de har en speciel infix-syntaks og ikke-standard-argumentoverførselsregler. Terminologien er dog en del forskellig fra sprog til sprog.

Betjening og instruktion

Det engelske ord operator , som svarer til udtrykket "operation" , er nogle gange fejlagtigt oversat til "operator". Faktisk (af historiske årsager) betyder det russiske udtryk "operatør" det samme som " instruktion " , hvilket svarer til det engelske udsagn [1] . Forvirringen blev forværret af, at i C er tildeling og stigning/nedsættelse både operatører og operationer.

Betjening og funktion

Faktisk er en operation den samme funktion , men skrevet på en speciel måde. Af denne grund giver det mening at kunne definere operationer på vilkårlige typer på samme måde som metoder  , så du kan arbejde med dem på samme måde, som du ville med elementære typer. Denne funktion kaldes " operatøroverbelastning " og findes på de fleste 4. og 5. generations sprog . På sådanne sprog erstatter oversætteren faktisk et opkald til den tilsvarende funktion i stedet for at udføre en handling.

Operationstyper

Operationer divideres med antallet af accepterede argumenter i:

Syntaks for operationer

Da operationer i notation ligner algebraiske udtryk , er der for dem, som for sidstnævnte, 3 syntaksmuligheder:

Til binære og ternære (med 3 operander) operationer bruges i langt de fleste tilfælde infix-notation - af den simple grund, at det er accepteret i matematik og mest velkendt for de fleste. Der er ingen infiksnotation for unære operationer, og præfiksnotation bruges normalt.

Liste over typiske operationer

Operationer flytter normalt fra sprog til relaterede sprog - for eksempel findes C -sprogoperationer i C++ , Java , JavaScript og mange andre.

Skilt Drift i gang Programmeringssprog
a = bellera := b opgave næsten alle
Aritmetik
a + b tilføjelse af argumenter næsten alle
a - b subtraktion næsten alle
-a tegnskifte næsten alle
a / b,a div b division næsten alle
a % b,a mod b resten af ​​divisionen (modulo division) næsten alle
a++
a--
stigning med 1 med tildeling ( stigning )
sænk med 1 med tildeling ( stigning )
C , Java , PHP
a ^ beller a ^^ bellera ** b eksponentiering BASIC , Fortran , Ruby , Python , Haskell (alle 3)
hjerne teaser
a & b, eller a && b, ellera and b konjunktion (logisk multiplikation) næsten alle
a | b, eller a || b, ellera or b disjunktion (logisk tilføjelse)
~a, eller !a, ellernot a inversion (logisk negation)
a = bellera == b

a <> beller a /= bellera != b

ligestillingsprøve

ulighedstest

a > b,a >= b

a < b,a <= b

større end, større end eller lig med

mindre end, mindre end eller lig med

a ? b : c ternær betinget operation (hvis betingelse a er sand, er hele udtrykket lig med b , ellers c ) C, C++, Java, PHP
Snor
a + beller a & beller a.b(PHP) eller a..b(Lua) eller a ++ b(Haskell) sammenkædning (sammenflette) næsten alle
Bitvis
a & b, a og b (Pascal, Kotlin), a /\ b (Prolog), a .&. b (Haskell) bitvis konjunktion C / C++ , Java , C# , Ruby , Python , Pascal , Kotlin , Prolog , Haskell
en | b, a eller b (Pascal, Kotlin), a \/ b (Prolog), a .|. (Haskell) Bitvis disjunktion
~a, ikke a (Pascal), inv a (Kotlin), \a (Prolog) bitvis negation C / C++ , Java , C# , Ruby , Python , Pascal , Kotlin , Prolog
a^b, xor (Pascal, Kotlin) XOR C / C++ , Java , C# , Ruby , Python , Pascal , Kotlin
a << b, a shl b (Pascal, Kotlin)


a >> b, a shr b (Pascal, Kotlin)

Bitskift til venstre


Bit skift til højre

Se også

Noter

  1. Oversættelse af computerudtryk. Del 1. Processor . Dato for adgang: 7. december 2010. Arkiveret fra originalen 23. september 2013.