A logikai absztrakt adattípus

Hasonló dokumentumok
Ítéletkalkulus. 1. Bevezet. 2. Ítéletkalkulus

Matematikai logika és halmazelmélet

Logika és informatikai alkalmazásai

A logikai következmény

2019/02/11 10:01 1/10 Logika

Logika és informatikai alkalmazásai

1. A matematikai logika alapfogalmai. 2. A matematikai logika műveletei

Matematika OKTV I. kategória 2017/2018 második forduló szakgimnázium-szakközépiskola

Ítéletkalkulus. 1. Bevezet. 2. Ítéletkalkulus

Az informatika logikai alapjai

Máté: Számítógép architektúrák

A matematika nyelvér l bevezetés

Adatstruktúrák és algoritmusok

Máté: Számítógép architektúrák

Példa:

ÍTÉLETKALKULUS (NULLADRENDŰ LOGIKA)

AZ INFORMATIKA LOGIKAI ALAPJAI

3. Magyarország legmagasabb hegycsúcsa az Istállós-kő.

A matematika nyelvéről bevezetés

1. tétel Halmazok és halmazok számossága. Halmazműveletek és logikai műveletek kapcsolata.

Országos Középiskolai Tanulmányi Verseny 2012/2013 Matematika I. kategória (SZAKKÖZÉPISKOLA) Döntő Megoldások

1. előadás: Halmazelmélet, számfogalom, teljes

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

6. LOGIKAI ÁRAMKÖRÖK

A + B = B + A, A + ( B + C ) = ( A + B ) + C.

Matematikai logika. 3. fejezet. Logikai m veletek, kvantorok 3-1

Kijelentéslogika, ítéletkalkulus

Elektronikai műszerész Elektronikai műszerész

Knoch László: Információelmélet LOGIKA

1. Kombinációs hálózatok mérési gyakorlatai

Határérték. Wettl Ferenc el adása alapján és Wettl Ferenc el adása alapján Határérték és

28. EGYSZERŰ DIGITÁLIS ÁRAMKÖRÖK

BOOLE ALGEBRA Logika: A konjunkció és diszjunkció tulajdonságai

1. Logikailag ekvivalens

Logikai hálózatok. Dr. Bede Zsuzsanna St. I. em. 104.

Bevezetés az informatikába

DIGITÁLIS TECHNIKA feladatgyűjtemény

LOGIKAI TERVEZÉS HARDVERLEÍRÓ NYELVEN. Dr. Oniga István

Kijelentéslogika, ítéletkalkulus

Elemi függvények. Nevezetes függvények. 1. A hatványfüggvény

Algoritmusok Tervezése. Fuzzy rendszerek Dr. Bécsi Tamás

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Logikai ágensek. Mesterséges intelligencia március 21.

Matematikai logika. Jegyzet. Összeállította: Faludi Anita 2011.

Logika és informatikai alkalmazásai

1. A polinom fogalma. Számolás formális kifejezésekkel. Feladat Oldjuk meg az x2 + x + 1 x + 1. = x egyenletet.

Diszkrét matematika I.

Logika es sz am ıt aselm elet I. r esz Logika 1/36

Komplex számok. (a, b) + (c, d) := (a + c, b + d)

TARTALOMJEGYZÉK. Tarnai, Bokor, Sághi, Baranyi, Bécsi, BME

Logika es sz am ıt aselm elet I. r esz Logika Hatodik el oad as 1/33

Dinamikus modellek szerkezete, SDG modellek

6. LOGIKAI ÁRAMKÖRÖK

2. Ítéletkalkulus szintaxisa

EXPONENCIÁLIS EGYENLETEK

LOGIKA ÉS ÉRVELÉSTECHNIKA

2. Alapfogalmak, műveletek

Analóg és digitális mennyiségek

Kombinációs hálózatok és sorrendi hálózatok realizálása félvezető kapuáramkörökkel

5. KOMBINÁCIÓS HÁLÓZATOK LEÍRÁSÁNAK SZABÁLYAI

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Alapkapuk és alkalmazásaik

XXVII. Erdélyi Magyar Matematikaverseny Nagyvárad, február I. forduló - 9. osztály

Logikai áramkörök. Informatika alapjai-5 Logikai áramkörök 1/6

Bevezetés az elektronikába

Magyarok: Bereczki Ilona, Kalmár László, Neumann, Péter Rózsa, Pásztorné Varga Katalin, Urbán János, Lovász László

Matematika alapjai; Feladatok

Logika es sz am ıt aselm elet I. r esz Logika M asodik el oad as 1/26

Diszkrét matematika I., 12. előadás Dr. Takách Géza NyME FMK Informatikai Intézet takach november 30.

DIGITÁLIS TECHNIKA I BINÁRIS SZÁMRENDSZER BEVEZETŐ ÁTTEKINTÉS BINÁRIS SZÁMRENDSZER HELYÉRTÉK. Dr. Lovassy Rita Dr.

LOGIKA. Magyarok: Bereczki Ilona, Kalmár László, Neumann, Péter Rózsa, Pásztorné Varga Katalin, Urbán János, Lovász László.

Diszkrét matematika I.

Gy ur uk aprilis 11.

5. Végezd el a kijelölt műveleteket, és ahol lehet, vonj össze!

1. Lineáris transzformáció

10-es számrendszer, 2-es számrendszer, 8-as számrendszer, 16-os számr. Számjegyek, alapműveletek.

Új műveletek egy háromértékű logikában

Negatív alapú számrendszerek

f(x) vagy f(x) a (x x 0 )-t használjuk. lim melyekre Mivel itt ɛ > 0 tetszőlegesen kicsi, így a a = 0, a = a, ami ellentmondás, bizonyítva

Matematika III. 2. Eseményalgebra Prof. Dr. Závoti, József

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Halmaz: alapfogalom, bizonyos elemek (matematikai objektumok) Egy halmaz akkor adott, ha minden objektumról eldönthető, hogy

Analízis I. zárthelyi dolgozat javítókulcs, Informatika I okt. 19. A csoport

Digitális technika VIMIAA01

Algebrai egész kifejezések (polinomok)

Áramkörök elmélete és számítása Elektromos és biológiai áramkörök. 3. heti gyakorlat anyaga. Összeállította:

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Logika

DIGITAL TECHNICS I. Dr. Bálint Pődör. Óbuda University, Microelectronics and Technology Institute 12. LECTURE: FUNCTIONAL BUILDING BLOCKS III

IRÁNYÍTÁSTECHNIKA I.

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

A logika, és a matematikai logika alapjait is neves görög tudós filozófus Arisztotelész rakta le "Analitika" című művében, Kr.e. IV. században.

Irányítástechnika I. Dr. Bede Zsuzsanna. Összeállította: Dr. Sághi Balázs, egy. docens Dr. Tarnai Géza, egy. tanár

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Logika

Kifejezések. Kozsik Tamás. December 11, 2016

10.3. A MÁSODFOKÚ EGYENLET

Kidolgozott feladatok a gyökvonás témakörhöz (10.A osztály)

Koincidencia áramkörök

Logika és informatikai alkalmazásai kiskérdések február Mikor mondjuk, hogy az F formula a G-nek részformulája?

VI. Deriválható függvények tulajdonságai

Digitális technika VIMIAA02

Átírás:

A logikai asztrakt adattípus A logikai asztrakt adattípus eg olan halmazt ad meg, amelnek két eleme van, a hamis és az igaz. Jelölésen L{hamis, igaz}. Röviden az elemeket a h (hamis) és az i (igaz) jellel jelöljük. A logikai asztrakt adattípus megadása: T(L,M), ahol L a logikai adatok halmaza (kételemű) és M a rajtuk végezhető műveletek halmaza. A típus M-en felsorolt műveletei lehetnek unáris (unér) és áris (ér) aszert, hog hán operandusuk van. (Lehetnek töoperandusú műveletek is ternáris, kvaternáris, st. -, de ezek, mt látni fogjuk, az előzőkkel kifejezhetők.) Mivel az adattípusnak mdössze két eleme van, ezért az összes műveletét fel tudjuk sorolni. n Mivel mdegik operandus kétféle értéket vehet fel, n operandus esetén ez lehetséges érték n-est jelent. Mdegik esetéen sztén kétféle eredmén kapcsolható hozzájuk md a n helen, ezért általáan n-változós műveletől n számú van. 1 Unáris művelet nég ( ) van, amt az az alái tálázatól kiolvasható. A Hamis és az Igaz mdig konstanst eredménez, ármi legen is az értéke, az Identikus visszaadja magát az -et, tehát az egetlen érdekes a Negáció, (tagadás, NEM, NOT), amek a jele a felülvonás a logikai adat neve fölött. Pl.:az adat negáltja (tagadottja, NEM, NOT ). Hamis Identikus Negáció,tagadás NEM, NOT Igaz h i h h h i i i h i h i Érdekese áris műveletek (a műveleti jeleket a két operandus közé heleztük): Diszjunkció (VAGY, OR) Konjunkció (ÉS, AND) Antivalencia (KIZÁRÓ VAGY, XOR) Ekvivalencia Implikáció Peirce níl (NEM VAGY, NOR) Scheffer vonás (NEM ÉS, NAND) h h h h h i i i i h i i h i h i h i i h i h i h h h i i i i i h i i h h

Programtervezési ismeretek - - - Báris műveletől 16-ot ( ) lehet felírni. (Találjuk meg a töit!). A műveletek erősorrendje csökkenő erő szert (prioritás, zárójelezés nélkül írhatók) a következő: NEM, ÉS, VAGY, KIZÁRÓ VAGY, Ekvivalencia, Implikáció. A NEM, ÉS, VAGY műveletek tulajdonságai: 1. Kettős tagadás. Kommutativitás 3. Asszociativitás ( ) z ( z) ( ) z ( z) 4. Disztriutivitás ( z) ( ) ( z) z z 5. Idempotencia 6. Konstansok hatása i i i h h h 7. Elnelés ( ) ( ) 8. Ellentmondás h 9. Harmadik kizárása i 10. De Morgan szaál ( ) ( ) ( ) Ezen három művelettel (NEM, ÉS, VAGY) az összes töi (a töváltozósak is) kifejezhetők. Példák: ( ) ( ) ( ) ( ) A diszjunktív normálforma Defíció: Elemi konjunkció Változók vag tagadottjaak a konjunkciója, melen a változók legfelje egszer fordulnak elő. Defíció: Diszjunktív normálforma (DNF) Elemi konjunkciók diszjunkciója Művelettála alapján DNF előállítása: Ahol az eredmén oszlopan i van, azokat az eseteket diszjunkcióval kötjük össze úg, hog a változók konjunkcióiól formulát alkotunk. A formuláan i esetén a változó szerepel, h esetén a változó negáltja. Példa: Innen ( ) ( ). h h h h i i i h i i i h

Programtervezési ismeretek - - 3 - A logikai adatstruktúra Már eddig is végső soron adatstruktúrával dolgoztunk, hiszen lejegeztük a hamis és az igaz értéket h-val és i-vel. Látjuk, hog igazán semmilen proléma itt nem adódik, mden művelet ragogóan működik. A h és i etűk helett használhattuk volna a hamis és igaz szavakat is, az is eg lehetséges adatstruktúra lenne. Ha a szavak angol megfelelőit használnánk ( false és true ), akkor írhatnánk az f és t etűket a h és i helett. Az sem tiltott, hog a 0 és 1 jeleket alkalmazzuk, mt alá láthatjuk. Tehát az adatstruktúra hűen realizálja az asztrakt adattípust. A logikai adattípus/adatstruktúra implementációja A logikai adat (változó) realizálása itekkel értelemszerűen történhet a hamis 0, igaz 1 módon. Defíció: Izomorfizmus Két algerai struktúrát izomorfnak nevezünk, ha létezik olan kölcsönösen egértelmű megfeleltetés a két struktúra elemei között, amel esetén a műveletek is szkronizálódnak. Ez azt jelenti, hog ha az egik struktúra az (A, ), a másik struktúra a (B, ), a kölcsönösen egértelmű megfeleltetés pedig f : A B, akkor fennáll, hog f(a 1 a )f(a 1 ) f(a ) mden a 1 A és a A esetén. Az f megfeleltetést nevezzük izomorfizmusnak. Az izomorfizmus azt jelenti, hog a két struktúra azonos szerkezetű a művelet viselkedését tektve. Példa : Legen AR +, a pozitív valós számok halmaza a szorzás művelettel felruházva, és BR, az összes valós szám halmaza az összeadás művelettel. Akkor az f : R + R megfeleltetés, ahol f()log(), izomorfizmust valósit meg, hiszen a logaritmus azonosságai szert: log() log() +log() mden pozitív és esetén. Legen most az A halmaz az L logikai adattípus a negáció, a konjunkció és a diszjunkció műveletével felruházva. T L (L, {,, }). Legen a B halmaz a {0,1} számokól álló halmaz, amelen értelmezzük az alái három múveletet, miáltal létrehozunk eg T B (B,{e(),, }) adattípust. 1. Ellentett elem képzése unáris művelet : e()1-, B a kivonás művelete révén.. Szorzás áris művelet: 1, 1, B a számok szorzási műveletének megfelelően. 3. Bitösszegzés áris művelet : 1 1 1 + 1, B a számokra érvénes szokásos összeadás, kivonás és szorzás művelete révén. Ekkor a most defiált három művelet a negáció, konjunkció, és diszjunkció műveletének megfeleltetve, valamt a logikai menniségeknek a iteket a fenti módon megfeleltetve a logikai adattípus és a it adattípus között izomorfizmust hoztunk létre. Azt mondjuk, hog a logikai adatokat itekkel modellezzük. Amilen törvénszerűséget találunk az egiken, az izomorfizmus révén megtaláljuk a törvén párját a másikan. (Mutassuk meg, hog a művelet ekvivalens a ma( 1, ) művelettel.) A logikai típus nagon fontos, mert az értékeket feszültségsztekhez lehet társítani, a műveleteket pedig úgnevezett kapuáramkörökkel valósíthatjuk meg. A kapuáramkör fizikai (technikai) felépítése lénegtelen a számunkra, az változott az idők folamán (relék, diódák,

Programtervezési ismeretek - - 4 - tranzisztorok, st.). Sematikusan úg jelölhetjük őket, mt eg dooza zárt átalakító szerkezet, amelnek vannak emenetei és kimenetei. A emeneteken emenő jeleket dolgozzák fel a rendeltetésüknek megfelelően, és az eredmén megjelenik a kimeneteken. Példa kapuáramkörökre: NEM VAGY ÉS Mivel mdegik művelet kifejezhető ezen háromm művelettel, ezzel elérjük, hog kevés alaptípusól onolult rendeltetésű kapuáramköröket építhetünk fel. Kapuáramkörökől felépíthető az úgnevezett félösszeadó (Half Adder). Feladata egetlen itpozíción képezni a két it összegét és az átvitelt, tehát a művelet mdig kétjegű eredmént képez, melnek alacsona heliértékű itje az összegit (s), magasa heliértékű itje az átvitelit (Carr it, c). Láthatóan c s c s Művelettála c s 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 ÉS c s A félösszeadó tö-ites számok összeadásakor csak fél munkát végez, helesen csak a legalacsona itpozíción működik. A továi pozíciókon három itet kell összeadni, a két összeadandó itet és az előző pozícióról jövő átvitelitet. A teljes összeadó (Full Adder) ezt valósítja meg. c c out s Művelettálája: c c out s 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0 0 0 1 0 1 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 Felírva a két eredménoszlopra a diszjunktív normálformákat, tulajdonképpen megkapjuk a műveletek eg lehetséges kapuzását. c out s ( c ) ( c ) ( c ) ( c ) ( c ) ( c ) ( c ) ( c ) Ezt a két, látszólag onolult formulát le lehet egszerűsíteni, és a teljes összeadó felépíthető két félösszeadó és eg VAGY kapuáramköről. Előtte azonan eg segéd formulát vezetünk le. Á llítás: ( ) ( )

Programtervezési ismeretek - - 5 - Bizonítás: Láttuk, hog ( ) ( ). Akkor ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) 13 h 13 h Ezután a teljes összeadó levezetése az alái lehet: Jelölje s, c és s, c az első, valamt a második félösszeadő által adott eredmén összegitet és az átvitelitet.. Akkor c out s ( c ) ( c ) ( c ) ( c ) ( ) c c ( ) ( ) c ( ) c c c 13 i 144 43 4 c s 4 c 13 ( c ) ( c ) ( c ) ( c ) 144 43 4 13 1443 ( ) ( ) c ( ) ( ) c ( ) c s c s A teljes összeadó sematikus árája: 144 443 13 s c c s c s VAGY c out s Eg egte-os (nolcites) teljes összeadó ezután összerakható a megfelelő késleltető áramkörök közeiktatásával az alái séma szert. 7 7 6 6 5 5 4 4 3 3 1 1 0 0 c 7 c 6 c 5 c 4 c 3 c c 1 c 0 s 7 s 6 s 5 s 4 s 3 s s 1 s 0 Sztén kifejezhető az összes művelet csupán a (NEM, VAGY), vag csupán a (NEM, ÉS), műveletekkel. Sőt, egféle művelet is elegendő erre, ha a (NEM VAGY Pierce níl) vag pedig a (NEM ÉS Scheffer vonás) műveletet választjuk. (Próáljuk meg általuk kifejezni a három (NEM, ÉS, VAGY) alapműveletet!) A fenti 1.-10. tulajdonságokat formula átalakítási szaáloknak is tekthetjük, ameleket a munkánk során felhasználhatunk. Valójáan ezen szaálok méle értelemmel írnak, mivel más, általánosa struktúrák defíciójaként lépnek fel. A fentiek alapján más összefüggéseket is kimutathatunk.

Programtervezési ismeretek - - 6 - Példa: Bizoníts uk e, hog a kizáró vag műveletre teljesül az asszociativitás, a kommutativitás és h og h és!

Programtervezési ismeretek - - 7 - FELADATOK 1. a. Adja meg művelettáláival md a 16 áris logikai műveletet!. Fejezze ki md a nég unáris műveletet a NEM, ÉS, VAGY áris műveletekkel!. Fejezze ki a felsorolt hét áris műveletet a NEM, ÉS, VAGY műveletekkel! 3. Fejezze ki a felsorolt hét áris műveletet csak a NEM-mel, és a VAGY-gal! 4. a. Fejezze ki a NEM, ÉS, VAGY műveleteket csak a Peirce níllal!. Fejezze ki a NEM, ÉS, VAGY műveleteket csak a Scheffer vonással! 5. A formulák átalakításával lássa e, hog az alái egenlőségek azonosságok! a. z z és 1 K n 1 K n. ( z) ( ) ( z) c. ( z) ( ) ( z) d. ( z ) ( ) ( z ) ( z ) ( z ) e. ( ) (( ) ( ) ) ( ) ( ) 6. Adott eg IC (tegrált áramköri tok), amelnek 8 emeneti láa ( 0, 1,, 3, 4, 5, 6, 7 ), és 8 kimeneti láa (k 0, k 1, k, k 3, k 4, k 5, k 6, k 7 ) van. A emenetek is és a kimenetek is eg-eg te-a foglalhatók össze, a te itjeit az deek sorszámozzák. A emenetek és a kimenetek közötti összefüggéseket is megadtuk a kimenetek mellett. Input 0 k0 0 1 Output és függése az puttól HYPER 1 k1 (( 1 ) ( 3 )) ( 1 3 ) - SUPER k 3 4 3 k3 4 5 6 7 CSODA k4 ( 7 ( 0 1 )) 4 IC k ( ) (( ) ) 5 5 3 4 3 3 6 7 k k ( 4 ( 4 5 )) 5 6 ( ) ) ( ) 7 5 6 7 5 6 7 A emenetre adott jeleket, mt egte-os előjel nélküli egész számot adjuk meg, mel itjeire ontandó. Határozza meg a kimenet itjeit és adja meg azt a emenet mtájára egte-os előjel nélküli egész számként decimálisan az alái putok esetére: 159, 163, 15, 89, 108, 05, 75, 96 7. Igazolja a művelettálák segítségével a NEM, ÉS, VAGY műveletek tulajdonságai fentei tálázatáan felsorolt 1.-10. tulajdonságot!

Programtervezési ismeretek - - 8-8. Tervezzen háromemenetes töségi elven működő szavazó automatát, azaz a három emenet ismeretéen a kimeneten az jelenjen meg, amelik emenetől tö van. (Töségi elv érvénesül.) Igekezzen mél egszerűre tervezni! 9. Tervezzen olan automatát, amel 3 emenő jel (0, 1) esetén azokat számoknak tektve a kimeneten a legkiseet (legnagoat) jeleníti meg! 10. Tervezzen olan automatát, amel 4 emenő jel (0, 1) esetén a kimeneten 1-et jelenít meg, ha a emeneten az egesek száma páros és nullát, egéként! (Páros paritás jelző.) 11. Tervezzen olan automatát, amel 3 emenő jel (0, 1) esetén akkor ad egest a kimeneten, ha mdegik emenet eges, egéként zérust ad! (Mdenki megszavazta.) 1. Tervezzen olan automatát, amel 3 emenő jel (0, 1) esetén akkor ad egest a kimeneten, ha mdhárom emenet egforma (zérus, vag eges), egéként zérust ad! (Mdenki egetértett, uganúg vélekedett.) 13. Tervezzen olan automatát, amel 3 emenő jel (0, 1) esetén akkor ad egest a kimeneten, ha ármelik emenet eges volt, egéként zérust ad! (Vétó.)