Operare (programare)

Versiunea actuală a paginii nu a fost încă revizuită de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 19 ianuarie 2017; verificările necesită 7 modificări .

O operație  este o construcție în limbaje de programare , similară în scris cu operațiile matematice, adică un mod special de înregistrare a unor acțiuni.

Cele mai utilizate sunt operațiile aritmetice, logice și cu șiruri . Spre deosebire de funcții, operațiile sunt adesea elemente de bază ale limbii și sunt notate prin diferite caractere de punctuație, mai degrabă decât cu caractere alfanumerice; au o sintaxă infixă specială și reguli non-standard de transmitere a argumentelor. Terminologia, însă, diferă oarecum de la limbă la limbă.

Operare și instrucție

Cuvântul englez operator , care corespunde termenului „operație” , este uneori tradus eronat ca „operator”. De fapt (din motive istorice) termenul rusesc „operator” înseamnă la fel ca „ instrucțiune ” , care corespunde enunțului englez [1] . Confuzia a fost exacerbată de faptul că în C , atribuirea și creșterea/decrementarea sunt atât operatori, cât și operații.

Funcționare și funcționare

De fapt, o operație este aceeași funcție , dar scrisă într-un mod special. Din acest motiv, este logic să poți defini operații pe tipuri arbitrare în același mod ca metodele  , astfel încât să poți lucra cu ele în același mod ca și cu tipurile elementare. Această caracteristică se numește „ supraîncărcarea operatorului ” și este prezentă în majoritatea limbilor de generație a 4-a și a 5-a . În astfel de limbi, traducătorul înlocuiește de fapt un apel la funcția corespunzătoare în loc să efectueze o operație.

Tipuri de operații

Operațiile sunt împărțite la numărul de argumente acceptate în:

Sintaxa operațiilor

Deoarece operațiile sunt similare ca notație cu expresiile algebrice , pentru ele, ca și pentru acestea din urmă, există 3 opțiuni de sintaxă:

Pentru operațiile binare și ternare (cu 3 operanzi), în majoritatea covârșitoare a cazurilor, se utilizează notația infixă - din simplul motiv că este acceptată în matematică și cea mai familiară pentru majoritatea oamenilor. Nu există nicio notație infixă pentru operațiile unare, iar notația cu prefix este de obicei folosită.

Lista operațiunilor tipice

Operațiile se deplasează de obicei din limbi în limbi înrudite - de exemplu, operațiunile în limbajul C se găsesc în C++ , Java , JavaScript și multe altele.

Semn Operațiune în curs Limbaje de programare
a = bsaua := b misiune aproape tot
Aritmetic
a + b adăugarea de argumente aproape tot
a - b scădere aproape tot
-a schimbare de semn aproape tot
a / b,a div b Divizia aproape tot
a % b,a mod b restul diviziunii (diviziunea modulului) aproape tot
a++
a--
mărire cu 1 cu atribuire ( creștere )
scădere cu 1 cu atribuire (scădere)
C , Java , PHP
a ^ bsau a ^^ bsaua ** b exponentiare BASIC , Fortran , Ruby , Python , Haskell (toate 3)
joc de inteligență
a & b, sau a && b, saua and b conjuncție (înmulțire logică) aproape tot
a | b, sau a || b, saua or b disjuncție (adăugare logică)
~a, sau !a, saunot a inversare (negație logică)
a = bsaua == b

a <> bsau a /= bsaua != b

test de egalitate

testul de inegalitate

a > b,a >= b

a < b,a <= b

mai mare decât, mai mare sau egal cu

mai mic decât, mai mic decât sau egal cu

a ? b : c operație condiționată ternară (dacă condiția a este adevărată, întreaga expresie este egală cu b , în ​​caz contrar c ) C, C++, Java, PHP
Şir
a + bsau a & bsau a.b(PHP) sau a..b(Lua) sau a ++ b(Haskell) concatenare (imbinare) aproape tot
Pe bit
a & b, a și b (Pascal, Kotlin), a /\ b (Prolog), a .&. b (Haskell) conjuncție pe biți C / C++ , Java , C# , Ruby , Python , Pascal , Kotlin , Prolog , Haskell
a | b, a sau b (Pascal, Kotlin), a \/ b (Prolog), a .|. (Haskell) Disjuncție pe biți
~a, nu a (Pascal), inv a (Kotlin), \a (Prolog) negație pe biți 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)

Deplasare biți la stânga


Deplasare biți la dreapta

Vezi și

Note

  1. Traducerea termenilor informatici. Partea 1. Procesor . Data accesului: 7 decembrie 2010. Arhivat din original pe 23 septembrie 2013.