Működés (programozás)

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2017. január 19-én felülvizsgált verziótól ; az ellenőrzések 7 szerkesztést igényelnek .

A művelet a programozási nyelvekben a matematikai műveletekhez hasonló írásbeli  konstrukció , vagyis bizonyos műveletek rögzítésének speciális módja.

A leggyakrabban használt aritmetikai, logikai és karakterlánc - műveletek. A függvényekkel ellentétben a műveletek gyakran a nyelv alapvető elemei, és alfanumerikus karakterek helyett különféle írásjelekkel jelölik őket; speciális infix szintaxisuk és nem szabványos argumentumátadási szabályaik vannak. A terminológia azonban nyelvenként némileg eltér.

Kezelés és utasítás

Az angol operator szót , amely az "operation" kifejezésnek felel meg , néha hibásan "operátornak" fordítják. Valójában (történelmi okokból) az orosz "operátor" kifejezés ugyanazt jelenti, mint az " utasítás " , amely megfelel az angol kijelentésnek [1] . A zavart fokozta, hogy a C nyelvben a hozzárendelés és a növelés/csökkentés egyszerre operátor és művelet.

Működés és funkció

Valójában egy művelet ugyanaz a függvény , csak speciális módon van megírva. Emiatt célszerű, ha tetszőleges típusokon ugyanúgy definiálhatunk műveleteket, mint a metódusokkal  , így ugyanúgy dolgozhatunk velük, mint az elemi típusokkal. Ezt a funkciót " operátor túlterhelésnek " nevezik, és a legtöbb 4. és 5. generációs nyelven megtalálható . Az ilyen nyelveken a fordító valójában egy hívást helyettesít a megfelelő funkcióval, ahelyett, hogy műveletet hajtana végre.

Művelettípusok

A műveletek az elfogadott argumentumok számával vannak osztva:

A műveletek szintaxisa

Mivel a műveletek jelölésében hasonlóak az algebrai kifejezésekhez , ezekhez, akárcsak az utóbbiakhoz, 3 szintaktikai lehetőség van:

A bináris és hármas (3 operandusos) műveleteknél az esetek túlnyomó többségében infix jelölést használnak - azon egyszerű oknál fogva, hogy ez elfogadott a matematikában, és a legtöbb ember számára a legismertebb. Az unáris műveletekhez nincs infix jelölés, általában előtag jelölést használnak.

Tipikus műveletek listája

A műveletek általában a nyelvekről a kapcsolódó nyelvekre költöznek – például a C nyelvi műveletek megtalálhatók a C++ -ban , a Java -ban, a JavaScript -ben és sok másban.

Jel Művelet folyamatban Programozási nyelvek
a = bvagya := b feladat szinte minden
Számtan
a + b érvek hozzáadása szinte minden
a - b kivonás szinte minden
-a jel változás szinte minden
a / b,a div b osztály szinte minden
a % b,a mod b részleg fennmaradó része (modulo divízió) szinte minden
a++
a--
növelés 1-gyel hozzárendeléssel ( növekmény )
csökkentés 1-gyel hozzárendeléssel (csökkentés)
C , Java , PHP
a ^ bvagy a ^^ bvagya ** b hatványozás BASIC , Fortran , Ruby , Python , Haskell (mind a 3)
összerakós játékaik
a & b, vagy a && b, vagya and b kötőszó (logikai szorzás) szinte minden
a | b, vagy a || b, vagya or b diszjunkció (logikai összeadás)
~a, vagy !a, vagynot a inverzió (logikai negáció)
a = bvagya == b

a <> bvagy a /= bvagya != b

egyenlőség teszt

egyenlőtlenségi teszt

a > b,a >= b

a < b,a <= b

nagyobb, mint, nagyobb vagy egyenlő

kisebb, mint, kisebb vagy egyenlő

a ? b : c hármas feltételes művelet (ha az a feltétel igaz, akkor az egész kifejezés egyenlő b -vel , ellenkező esetben c ) C, C++, Java, PHP
Húr
a + bvagy a & bvagy a.b(PHP) vagy a..b(Lua) vagy a ++ b(Haskell) összefűzés (egyesítés) szinte minden
Bitenként
a & b, a és b (Pascal, Kotlin), a /\ b (Prolog), a .&. b (Haskell) bitenkénti kötőszó C / C++ , Java , C# , Ruby , Python , Pascal , Kotlin , Prolog , Haskell
a | b, a vagy b (Pascal, Kotlin), a \/ b (Prolog), a .|. (Haskell) Bitenkénti diszjunkció
~a, nem a (Pascal), inv a (Kotlin), \a (Prolog) bitenkénti tagadás 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)

Kis eltolás balra


Bit eltolás jobbra

Lásd még

Jegyzetek

  1. Számítógépes kifejezések fordítása. 1. rész Processzor . Hozzáférés dátuma: 2010. december 7. Az eredetiből archiválva : 2013. szeptember 23.