Logika


1 RELÁCIÓS MŰVELETEK A SZÁMÍTÓGÉPEN

A program futása során gyakran van szükség arra, hogy két számról el tudjuk dönteni, hogy melyik a nagyobb, vagy két karaktersorozatról el tudjuk dönteni, hogy melyik áll előbb az ABC sorrendben. Ezeket az összehasonlító műveleteket relációs műveleteknek nevezzük. A számítógépen az összehasonlítás technikailag kétféle módon mehet végbe, attól függően, hogy milyen adattípusról van szó. Másképpen hasonlítja össze a gép a fix vagy lebegőpontos számokat és a karakterenként kódolt jelsorozatokat (karakterláncokat vagy sztringeket). A fix és lebegőpontos számoknál az összehasonlítás eredménye ténylegesen azt mutatja meg, hogy a két szóban forgó szám közül melyik a nagyobb. A karaktersorozatnál az összehasonlítás karakterenként történik, az a karakter a "nagyobb", amelynek kódja nagyobb. A karakterek kódértékét a kódtáblázatok tartalmazzák. Az összehasonlítás addig folytatódik, amíg a két karakterláncban nem talál a gép eltérést. Ha van eltérés, az öszehasonlítás elvégezhető, ha nincs, azaz az egyik lánc véget ér, kétféle eredmény lehetséges - programozási nyelvtől függően. A gép vagy egyenlőnek tekinti a sorozatokat, vagy a rövidebbet tekinti kisebbnek.
Összehasonlítási műveletek:

Az összehasonlítás eredménye logikai igen vagy nem érték. A relációk kombinálásával bonyolultabb döntéseket is hozhatunk.


2 A SZÁMÍTÓGÉPES LOGIKA

A logikában ún. állításokkal dolgozunk. Minden logikai állítás két értéket vehet fel: lehet igaz vagy hamis. A logikai állítások egyszerűbb kezelésére ún. logikai változókat vezetünk be, az állításoknak megfeleltetünk egy önálló tartalommal nem bíró jelölést (pl. A), amelynek értéke igaz, ha a logikai állítás igaz, és hamis, ha az állítás hamis.
Két logikai változó között értelmezhetünk különféle logikai művelteket. Ezek közül az ÉS műveletet, a VAGY műveletet és a NEM műveletet alapműveleteknek nevezzük, mivel e három művelet kombinácójaként az összes többi logikai függvény felírható.

ÉS művelet
A ÉS B
Jelölése: Q=AB
A művelet eredménye (Q) igaz, ha A és B is igaz, egyébként hamis.

VAGY művelet
A VAGY B
Jelölése: Q=A+B
A művelet eredménye (Q) igaz, ha A vagy B igaz, hamis, ha mindkettő hamis.

NEM művelet
NEM A
Jelölése: Q=A
A művelet eredménye (Q) igaz, ha A hamis, hamis, ha A igaz.

A műveletek könnyebb áttekintésére bevezetjük az összes lehetséges eredményt tartalmazó, ún. igazságtáblákat, amelyek a műveletek meghatározásának is tekinthetők. A számítástechnikában elfogadott jelölést használva, ha egy változó értéke igaz, azt az "1" számmal, ha hamis, a "0"-val jelöljük.

2-1. táblázat: Egy és kétváltozós Boole-műveletek igazságtáblázatai

A logikai függvények alapja a Boole-algebra. A legfontosabb összefüggéseket és törvényeket összefoglaljuk:

A=A

A(B+C)=AB+AC
A(A+B)=A
AA=A
AB=A+B

A+(BC)=(A+B)(A+C)
A+(AB)=A
A+A=A
A+B=AB

Az utolsó két összefüggést De Morgan azonosságoknak nevezzük.
A logikai műveletek képezik az aritmetikai műveletek alapját a számítógépes végrehajtásban, hiszen az egyes komplemens képzése a bitenkénti NEM művelet, két bit összeadása a kizáró VAGY művelet két bit között, két bit összeszorzása az ÉS művelet.
A logikai műveleteket a számítógépekben ún. kapuáramkörök segítségével valósítják meg.

2.1. ábra: Logikai kapuáramkörök



Egy szintet vissza, vagy vissza a főmenübe.