Boole-művelet

A logikában a logikai műveleteket akcióknak nevezzük, amelyek eredményeként új fogalmak jönnek létre a meglévők felhasználásával. Szűkebb értelemben a logikai művelet fogalmát a matematikai logika és a programozás használják .

Formális logika

A fogalmakkal végzett logikai műveletek  olyan mentális cselekvések, amelyek eredménye a fogalmak jelentésének megértése, vagy a fogalmak tartalmának vagy mennyiségének megváltozása , valamint új fogalmak kialakulása .

Egy művelet, amely felfedi a koncepció lényegét:

A főként a fogalmak tartalmának megváltoztatásához kapcsolódó műveletek a következők:

Az olyan műveletek, amelyek főként a koncepciók mennyiségének változásához kapcsolódnak, a következők:

Ezek a műveletek matematikailag is felírhatók halmazelmélet segítségével .

A matematikai logikára való áttérés az ítéletek fogalmával és az azokra vonatkozó műveletek létrehozásával függ össze, hogy összetett ítéleteket kapjunk.

Matematikai logika

A logikai művelet ( logikai operátor , logikai összekötő , propozíciós összekötő ) olyan utasításokon végzett művelet, amely lehetővé teszi új állítások összeállítását egyszerűbbek kombinálásával [1] .

A főbbeket konjunkciónak ( vagy &), diszjunkciónak ( ), implikációnak ( ), tagadásnak ( ) szokták nevezni . A klasszikus logika értelmében a logikai konnektívumok a logikai algebra segítségével határozhatók meg . Az aszinkron szekvenciális logikában a logikai-dinamikus kapcsolatot egy venjunction művelet ( ) formájában határozzuk meg.

Programozás

Logikai művelet  - a programozásban logikai (logikai) típusú kifejezéseken végzett művelet , amely megfelel a logikai algebra utasításaival végzett műveleteknek . A propozíciókhoz hasonlóan a logikai kifejezések két igazságérték egyikét vehetik fel  - "igaz" vagy "hamis". A logikai műveletek segítségével összetett logikai kifejezéseket kaphatunk egyszerűbbekből. A logikai kifejezéseket viszont általában feltételekként használják a programvégrehajtás sorrendjének szabályozására.

Egyes programozási nyelvekben (például a C nyelvben) numerikus típusokat használnak a logikai típus helyett vagy azzal egyidejűleg . Ebben az esetben a nullától eltérő értéket logikai igaznak, a nullát pedig logikai hamisnak tekintjük.

Egy egyedi bit értéke logikai értéknek is tekinthető, feltételezve, hogy az 1 azt jelenti, hogy "igaz", a 0 pedig "hamis". Ez lehetővé teszi, hogy logikai műveleteket alkalmazzon az egyes bitekre, a bitvektorokra komponensenként, valamint a bitenkénti bináris ábrázolású számokra . A logikai műveletnek egy bitsorozatra történő egyidejű alkalmazása bitenkénti logikai műveletekkel történik . A bitenkénti logikai műveletek az egyes bitek vagy bitcsoportok kezelésére, bitmaszkok alkalmazására és különféle aritmetikai számítások végrehajtására szolgálnak.

A logikai műveletek közül a leghíresebbek a konjunkció (&&), diszjunkció (||), tagadás (!). Gyakran összekeverik a bitműveletekkel , bár ezek különböző dolgok. Például a következő C kód :

if ( action_required && some_condition ()) { /* néhány művelet */ }

nem hajt végre szubrutinhívást, some_condition()ha a logikai változó értéke action_requiredhamis. Egy ilyen műveletnél az „&&” művelet második argumentuma egyáltalán nem kerül kiértékelésre.

Programozási nyelveken

A következő táblázat felsorolja azokat a beépített operátorokat és függvényeket, amelyek logikai műveleteket valósítanak meg bizonyos programozási nyelvek esetén.

Nyelv NEM És VAGY Excl. VAGY Equiv. Nem egyenértékű Egyéb
C++ [2] ! && || ^ == !=
Fortran [3] .NEM. .ÉS. .VAGY. .XOR. .EQV. .NEQV.
Java [4] ! && || ^ == !=
Pascal [5] nem és vagy xor = <>
PL/I [6] ¬ & | ¬ = ¬= BOOL
^ ^ ^=
Prolog [7] \+ , ;
Python [8] nem és vagy ^ == !=
Turbo Basic [9] NEM ÉS VAGY XOR EQV <> MANÓ
JavaScript ! && || ^ == !=
Logikai összeköttetések table.svg Logikai összeköttetések Hasse diagram.svg
(fájl) (fájl) (nagyítás)

Lásd még

Jegyzetek

  1. Mendelssohn E. Bevezetés a matematikai logikába . - M . : "Nauka", 1971. - S. 19.
  2. C++98 szabványos vázlat  (lefelé irányuló kapcsolat)
  3. FORTRAN 77 teljes nyelvi szabvány. Logikai operátorok (downlink) . Hozzáférés dátuma: 2010. január 21. Az eredetiből archiválva : 2010. január 24. 
  4. Java nyelvi specifikáció. Második kiadás archiválva : 2009. augusztus 30., a Wayback Machine , 15.15, 15.21.2, 15.22-15.24 szakaszok
  5. Pascal nyelvi hivatkozás. Operátorok (downlink) . Letöltve: 2010. január 21. Az eredetiből archiválva : 2017. május 3. 
  6. PL/I nyelvi referencia . Letöltve: 2010. január 20. Az eredetiből archiválva : 2018. szeptember 25..
  7. GNU-Prolog kézikönyv archiválva : 2010. január 23. a Wayback Machine -nél , 6.2.2., 7.18.2.
  8. ↑ operátor - Standard operátorok, mint   függvények . Python . Letöltve: 2020. október 21. Az eredetiből archiválva : 2020. október 20.
  9. Turbo Basic. Tulajdonosi kézikönyv. r.77

Linkek