1. logiikka
Transcription
1. logiikka
Tietojenkäsittelyn matematiikka, K1090TK OAMK/Liike Tietojenkäsittelyn koulutusohjelma 1. LOGIIKKA................................................................................................................. 3 1.1 Logiikka ja formaalit kielet .................................................................................. 3 1.2 Klassinen lauselogiikka ...................................................................................... 4 1.3 Loogiset operaatiot ............................................................................................. 4 1.3.1 NOT-operaatio, negaatio, EI–operaatio ....................................................... 4 1.3.2 AND -operaatio, konjuktio, JA -operaatio ..................................................... 5 1.3.3 OR -operaatio, disjunktio, TAI –operaatio .................................................... 5 1.3.4 XOR -operaatio, eksklusiivinen eli poissulkeva tai -operaatio ...................... 6 1.3.5 IMPLIKAATIO (”jos…niin” -operaatio) .......................................................... 6 1.3.6 EKVIVALENSSI (”jos ja vain jos”-operaatio, "joss") ..................................... 7 1.4 Lauseiden sieventäminen ................................................................................... 9 1.5 Laskulakeja ...................................................................................................... 10 1.5.1 Kaksoisnegaation laki ................................................................................ 10 1.5.2 Vaihdanta- eli kommutatiivilait.................................................................... 10 1.5.3 Liitäntä- eli assosiatiivilait ........................................................................... 10 1.5.4 Osittelu- eli distributiivilait ........................................................................... 10 1.5.5 De Morganin lait ......................................................................................... 10 1.6 Boolen algebra ................................................................................................. 12 1.6.1 Loogiset portit ............................................................................................ 13 2 LUKUJÄRJESTELMÄT .......................................................................................... 18 2.1 Desimaalijärjestelmä (10-järjestelmä)............................................................... 18 2.2 Binäärijärjestelmä ............................................................................................. 18 2.3 Oktaalijärjestelmä ............................................................................................. 19 2.4 Heksadesimaalijärjestelmä ............................................................................... 19 2.5 10-järjestelmän luvun muuntaminen toiseen lukujärjestelmään ....................... 21 2.5.1 10-järjestelmän kokonaisluvun muuntaminen BINÄÄRILUVUKSI.............. 21 2.5.2 10-järjestelmän kokonaisluvun muuntaminen OKTAALILUVUKSI ............. 22 2.5.3 10-järjestelmän kokonaisluvun muuntaminen HEKSADESIMAALILUVUKSI 22 2.5.4 10-järjestelmän desimaaliosan muuntaminen ............................................ 23 2.5.5 10-järjestelmän desimaaliosan muuntaminen BINÄÄRILUVUKSI ............. 23 2.5.6 10-järjestelmän desimaaliosan muuntaminen OKTAALILUVUKSI............. 23 2.5.7 10-järjestelmän desimaaliosan muuntaminen HEKSADESIMAALILUVUKSI 23 2.6 Binääri-, oktaali- ja heksadesimaalilukujen muuntaminen keskenään .............. 24 2.6.1 Binääriluvusta oktaaliluku .......................................................................... 24 2.6.2 Binääriluvusta heksadesimaaliluku ............................................................ 24 2.6.3 Oktaaliluvusta binääriluku .......................................................................... 24 2.6.4 Heksadesimaaliluvusta binääriluku ............................................................ 25 2.6.5 Oktaaliluvusta heksadesimaaliluku ............................................................ 25 2.6.6 Heksadesimaaliluvusta oktaaliluku ............................................................ 25 2.7 Peruslaskutoimitukset binäärijärjestelmässä .................................................... 28 2.7.1 Yhteenlasku ............................................................................................... 28 2.7.2 Vähennyslasku........................................................................................... 28 2.7.3 Kertolasku .................................................................................................. 29 2.7.4 Jakolasku ................................................................................................... 30 2.8 Komplementointi ............................................................................................... 32 2.8.1 2-komplementti .......................................................................................... 32 2.8.2 1-komplementti .......................................................................................... 32 2.8.3 Vähennyslasku komplementeilla ................................................................ 33 2.8.4 Negatiivisten lukujen esitystapoja binäärijärjestelmässä ............................ 34 1 3 Tiedon esitystapoja tietokoneessa ......................................................................... 36 3.1 Etumerkittömät kokonaisluvut ........................................................................... 36 3.2 Etumerkilliset kokonaisluvut ............................................................................. 36 3.3 Liukuluvut (desimaaliluvut) ............................................................................... 37 3.4 Koodijärjestelmiä .............................................................................................. 38 3.4.1 BCD-koodi (Binary Coded Decimal)........................................................... 38 4 2...................................................................................................................... 38 3.4.2 ASCII-koodi (American Standard Code for Information Interchange) ........ 39 3.4.3 Laajennettu ASCII-koodi eli EBCDIC-koodi (Extended Binary Coded Decimal Interchange Code) .................................................................................... 40 4 JOUKKO-OPPIA .................................................................................................... 42 4.1 Venn-diagrammi ............................................................................................... 42 4.1.1 Peruskäsitteitä ........................................................................................... 43 4.1.2 Joukkojen määritelmiä ............................................................................... 44 4.2 Joukkojen perusoperaatioita ............................................................................. 45 4.3 Joukko-operaatioiden laskusääntöjä ................................................................ 50 5 KOMBINATORIIKKA .............................................................................................. 56 5.1 Summaperiaate ("tai") ...................................................................................... 56 5.2 Tuloperiaate (”ja”) ............................................................................................. 56 5.3 Permutaatio ...................................................................................................... 57 5.4 Binomikerroin ................................................................................................... 57 5.5 Osajoukkojen lukumäärä .................................................................................. 58 2 1. LOGIIKKA 1.1 Logiikka ja formaalit kielet Kielet Luonnolliset Keinotekoiset suomi ruotsi englanti jne. Formaalit kielet Syntaksilta täsmällistä spesifioitua symbolikieltä (perussymbolit, lauseenmuodostussäännöt Matematiikka sekakieli luonnollisesta ja formaalista kielestä Keinotekoiset puhekielet Esperanto kaavat lauseet) Logiikka "=Oppi muodollisesti oikeasta päättelystä" lausekalkyyli predikaattikalkyyli modaalilogiikka aikalogiikka … sumea logiikka "= logiikkaa luonnollisten kielten kera" Ohjelmointikielet java C C++ jne. 3 1.2 Klassinen lauselogiikka Atomilause: Lause, joka ei sisällä loogisia operaattoreita (NOT, AND, OR). Merkitään pienillä kirjaimilla p, q, r, s, … Esim. p = henkilö on oululainen. Molekyylilause: Muodostuu atomilauseista ja loogisista operaattoreista Esim. SUKUPUOLI=’NAINEN’ AND ’IKA’<20 Totuusarvo: ”tosi” merkitään ”epätosi” merkitään Esim. 1 0 tai tai T(RUE) F(ALSE) 5 = 7 on epätosi aina 7 = 7 on tosi aina Lauseen x - 3 = 4 totuusarvo riippuu muuttujasta x: jos x = 7, niin lause on tosi jos x ≠ 7, niin lause on epätosi 1.3 Loogiset operaatiot 1.3.1 NOT-operaatio, negaatio, EI–operaatio symboli p = NOT p Totuustaulu p NOT p 1 0 Atomilauseiden p ja NOTp totuusarvo on päinvastainen. Ohjelmointikielissä: C, C++ ja Java: ! Access ja SQL: NOT Esim. Jos lause p määritellään p: henkilö opiskelee OAMK:ssa, niin NOT p tarkoittaa, että …………………………………………………………………………… 4 1.3.2 AND -operaatio, konjuktio, JA -operaatio symboli Λ eli p Λ q = p AND q p AND q on tosi, joss sekä p että q ovat tosia. Totuustaulu p q 1 1 1 0 0 1 0 0 pΛq Ohjelmointikielissä: C, C++ ja Java: && Access ja SQL: AND Esim. C-kielessä (x<10) && (y>15) Esim. Jos lauseet p ja q määritellään p: henkilö opiskelee OAMK:ssa ja q: henkilö asuu Oulussa, niin p AND q: …………………………………………………………………………………. 1.3.3 OR -operaatio, disjunktio, TAI –operaatio Symboli V eli p V q = p OR q p OR q on tosi, jos vähintään toinen on tosi. Totuustaulu p q 1 1 1 0 0 1 0 0 pVq Ohjelmointikielissä: C, C++ ja Java || Access ja SQL: OR Esim. Jos lauseet p ja q määritellään p: henkilö opiskelee OAMK:ssa ja q: henkilö asuu Oulussa, niin p OR q ……………………………………………………………………………………………. ……………………………………………………………………………………………. 5 1.3.4 XOR -operaatio, eksklusiivinen eli poissulkeva tai -operaatio ”Onko tosiarvo eri?” Symboli XOR Jos molemmat ovat tosia tai epätosia, niin lauseke epätosi, muutoin tosi. Totuustaulu p q 1 1 1 0 0 1 0 0 p XOR q Ohjelmointikielissä: Ei kaikissa, toisissa XOR, EOR, ei C- kielessä Esim. Jos lauseet p ja q määritellään p: henkilö opiskelee OAMK:ssa ja q: henkilö asuu Oulussa, niin p XOR q ………………………………………………………………………………………… 1.3.5 IMPLIKAATIO (”jos…niin” -operaatio) Vaihdannaisuus ei toimi. Lause p q on epätosi jos ja vain jos (joss), p on tosi ja q on epätosi. symboli eli p q Totuustaulu p q 1 1 1 0 0 1 0 0 pq Ohjelmointikielissä ei vastaavaa rakennetta. Ei vastaa ohjelmointikielen IF- THEN rakennetta! Esim. Jos p ja q kuten edellä, niin p q : ………………………………………………………………………………………. q p : ………………………………………………………………………………………. 6 1.3.6 EKVIVALENSSI (”jos ja vain jos”-operaatio, "joss") On tosi, jos totuusarvo on sama. Symboli ↔ eli p ↔ q Totuustaulu p q p ↔q 1 1 1 0 0 1 0 0 Ohjelmointikielissä: Fortran EQ, ei C-kielessä Esim. Jos p ja q kuten edellä, niin p ↔ q : ………………………………………………………………………………………….. Esim. Minkälaisen henkilön määrittelee lause NOT r AND (s OR t), kun r: henkilö opiskelee ranskaa s: henkilö opiskelee logiikkaa t: henkilö opiskelee ohjelmointia Sulkeilla voidaan muuttaa operaattoreiden hierarkian mukaista suoritusjärjestystä. Esim. Jos p: henkilö opiskelee OAMK:ssa q: henkilö asuu Oulussa r: henkilö on ylioppilas, niin NOT r AND q : _________________________________________________________________ NOT (r AND q) : _________________________________________________________________ p OR (q AND r) : _________________________________________________________________ (p OR q) AND r : _________________________________________________________________ 7 Harjoitustehtäviä: 1. Mitkä seuraavista symbolijonoista ovat logiikan lauseita? a) p OR NOT q b) OR (p AND q) c) NOT p d) p AND NOT (AND q) e) p AND (q OR NOT r OR s) f) p NOT q OR r 2. Mitkä sulut voidaan jättää pois? a) (p AND q) b) (NOT (p OR q)) c) (NOT p) AND q d) p AND (q OR s) e) p OR ((NOT q) AND (NOT p)) f) p OR (NOT (p AND q)) g) p OR (q OR r) h) p AND (q AND r) i) (p OR r) AND (NOT q) j) p AND (NOT (q OR NOT r)) 3. Käytetään seuraavia atomilauseiden lyhennysmerkintöjä: p: opiskelija opiskelee matematiikkaa q: opiskelija opiskelee ohjelmointia r: opiskelija opiskelee englantia s: opiskelija opiskelee suunnittelua t: opiskelija on suomalainen u: opiskelija on alle 23-vuotias a) b) c) d) Suomalainen opiskelija opiskelee ohjelmointia, mutta ei englantia. Ulkomaalainen opiskelija opiskelee matematiikkaa tai ohjelmointia tai englantia tai kaikkia em. aineita. 25-vuotias suomalainen opiskelija opiskelee sekä englantia että suunnittelua. 22-vuotias ulkomaalainen opiskelija opiskelee ohjelmointia ja suunnittelua, mutta ei englantia. 8 1.4 Lauseiden sieventäminen Tarkastellaan lauseiden (molekyylilause) totuusarvoja. Esimerkki: Mikä on lauseen NOT(p OR q) OR (NOT p AND q) totuusarvo, kun p on epätosi ja q on tosi. Esimerkki: Laadi lauseen (p AND q) OR NOT p totuustaulu kaikilla p:n ja q:n arvoilla. p 1 1 0 0 q 1 0 1 0 p AND q NOT p (p AND q) OR NOT p Kun atomilauseita p, q, … on n kpl, niin totuustaulussa on 2n riviä. Tässä 22 = 4 riviä. Esim. Molekyylilause sisältää atomilauseet p, q ja r. Tällöin vastaavassa totuustaulussa on 23 = 8 riviä. Esimerkki: Laadi lauseen (p OR q) AND NOT q totuustaulu. p 1 1 0 0 q 1 0 1 0 p OR q NOT q lause Molekyylilause, joka on tosi kaikilla atomilauseiden totuusarvoilla, on tautologia. Esimerkki: Onko lause NOT (p OR NOT q) tautologia? Perustele. p 1 1 0 0 q 1 0 1 0 NOT q p OR NOT q lause= NOT (p OR NOT q) Oletetaan, että p ja q ovat molekyylilauseita. Tällöin p ja q ovat ekvivalentit (merk. p ↔ q), jos niiden totuustaulut ovat samat. Esimerkki: Osoita totuustaulun avulla, että seuraava ekvivalenssi pitää paikkansa: p OR (p AND q) ↔ p 9 1.5 Laskulakeja Seuraavat ekvivalenssit voidaan todistaa totuustauluilla; p, q ja r ovat atomi- tai molekyylilauseita. 1.5.1 Kaksoisnegaation laki NOT NOT p ↔ 1.5.2 Vaihdanta- eli kommutatiivilait p AND q ↔ p OR q ↔ 1.5.3 Liitäntä- eli assosiatiivilait (p AND q) AND r ↔ (p OR q) OR r ↔ 1.5.4 Osittelu- eli distributiivilait p AND (q OR r) ↔ p OR (q AND r) ↔ 1.5.5 De Morganin lait NOT (p AND q) ↔ NOT (p OR q) ↔ Laajemmin: NOT (p1 AND p2 AND … AND pn) ↔ NOT (p1 OR p2 OR … OR pn) ↔ 10 Harjoitustehtäviä: 1. Laadi seuraavien lauseiden totuustaulut. a. p AND NOT q b. NOT p AND q c. (p AND q) OR NOT q d. (p OR q) AND NOT p 2. Osoita totuustaulujen avulla, että seuraavat ekvivalenssit pitävät paikkansa. a. p AND (p OR q) ↔ p b. NOT(p OR q) ↔ NOT p AND NOT q c. NOT (p AND q) ↔ NOT p OR NOT q 3. Tutki, onko lause NOT p OR q OR p tautologia. 4. Sievennä laskulakien mukaan. a. NOT q AND NOT s AND NOT r b. NOT p OR NOT s OR NOT t c. (p AND q) OR (p AND s) 11 1.6 Boolen algebra George Boole (1815-64) oli englantilainen itseoppinut matemaatikko ja loogikko. Boole matematisoi logiikan operaattorit. Ennen Boolea ei osattu ajatella, että muillakin kuin 10-järjestelmän luvuilla voitiin laskea. Boolen algebra on teoreettinen pohja tietokoneille. Sitä käytetään mm. kytkentäkaavioiden tutkimisessa ja mallintamisessa. AND- ja OR- operaatioiden yhteys virtapiireihin nähdään havainnollisesti alla olevan kuvan yksinkertaisten sarjaan kytkentöjen ja rinnan kytkentöjen avulla. Kuvassa a) virta kulkee piirissä ja lamppu palaa, jos kytkin A ja kytkin B on suljettu (AND). Kuvan b) piirissä lamppu palaa, jos kytkin A tai kytkin B tai molemmat on suljettu (OR). Binääristä logiikkaa esittäviä virtapiirejä: a) Sarjakytkentä (lamput sarjassa) b) Rinnankytkentä (lamput rinnan) A A B B Kytkimen ei tarvitse olla käsikäyttöinen eikä mekaaninen, se voidaan toteuttaa puolijohdekomponenteilla, esimerkiksi transistoreilla, diodeilla ja vastuksilla. Myös NOT -operaatio voidaan toteuttaa vastaavilla komponenteilla: kun syöttöjännite (tai –virta) vastaa signaalia 1, vastaa tulojännite (tai –virta) signaalia 0 ja päinvastoin. Signaaleita eli numeroita on voitava tallettaa ja niillä on voitava operoida, esimerkiksi laskea. Sitä varten määrittelemme ykköselle ja nollalle a.o. taulukon mukaisen yksinkertaisen aritmetiikan, joka poikkeaa vähän, mutta ratkaisevasti esimerkiksi kokonaislukuaritmetiikkaa. Seuraavassa taulukossa esitetään binääristen muuttujien tulo, summa ja negaatio. X 0 0 1 1 Y 0 1 0 1 AND X*Y OR X+Y NOT X’ AND -operaatiota asetetaan vastaamaan tulo ja OR –operaatioita summa. Tulon määrittely tapahtuu ykkösen ja nollan ”tavallisen” kertotaulun mukaisesti, mutta summa määritellyssä on erikoista, että 1+1=1. NOT taas on tavallinen vastalukuoperaatio. 12 Esimerkki: Määritä lauseen NOT ((x OR y) AND NOT y) totuusarvo, kun x on tosi ja y on epätosi. Esimerkki: Määritä lauseen (x AND y) OR NOT y totuusarvo, kun x on tosi ja y on epätosi. 1.6.1 Loogiset portit Yllä määriteltyjen operaatioiden mukaiset komponentit ovat nimeltään loogisia portteja eli veräjiä. Niiden tavalliset piirrossymbolit esitetään alla. Nämä ovat fyysisiä komponentteja, joiden sisäiseen rakenteeseen emme tässä lähemmin puutu. Oleellista on se, että ne käsittelevät loogisia arvoja 1 ja 0 AND-, OR- ja NOT -operaatioiden mukaisesti. AND- ja OR –porteilla voi olla useita syöttösignaaleja (input), mutta vain yksi tulosignaali (output). NOT-porttia kutsutaan myös invertteriksi. 1.6.1.1 NOT-portti Amerikassa: x 1 0 NOT x x v NOT x Euroopassa: x 1 v NOT x 13 1.6.1.2 AND-portti Amerikassa: x 1 1 0 0 y 1 0 1 0 xy x xy x AND y y Euroopassa: x & y xy x AND y 1.6.1.3 OR-portti Amerikassa: x 1 1 0 0 y 1 0 1 0 x+y x x+y x OR y y Euroopassa: x y 1 x+y x OR y 14 Esimerkki: Mitä Boolen lausetta seuraavat loogiset piirit vastaavat? Määritä totuusarvo, kun x=1, y=0 ja z=1. a) x y z b) x y z v Esimerkki: Piirrä Boolen lauseketta x OR (NOT y AND NOT z) vastaava piiri. Laske myös totuusarvo, kun x, y ja z ovat tosia. 15 Harjoitustehtäviä: 1. Määritä seuraavien lauseiden totuusarvo, kun x on tosi ja y on epätosi. a. (x OR y) AND (x OR NOT y) b. (x AND NOT (x OR y)) OR (x AND NOT y) c. NOT (x OR y) OR NOT x 2. Kirjoita kuvissa esitetyt Boolen funktiot F1, F2 ja F3. Laske myös totuusarvot, kun x, y ja z ovat tosia. a. x y z F1 v b. x z y F2 v 16 c. x F3 y v v z 3. Piirrä Boolen lauseketta (NOT a AND NOT b) AND (NOT c OR d) vastaava piiri. Laske myös totuusarvo, kun a ja b ovat tosia c ja d epätosia. 17 2 LUKUJÄRJESTELMÄT 2.1 Desimaalijärjestelmä (10-järjestelmä) Kantaluku (base, radix) on 10 numerosymboleita 10 kpl: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Polynomiesitys: Esim. 2375 = Esim. 425,312 = 2.2 Binäärijärjestelmä Kantaluku (base, radix) on 2 numerosymboleita 2 kpl: 0, 1 (bittejä) 0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111 … Binääriluvun muuntaminen desimaaliluvuksi (polynomiesitys): Esim. Muunna binääriluku 10110101 kymmenjärjestelmän luvuksi. 101101012 = Siis binääriluku 10110101 on kymmenjärjestelmän luku _____. Esim. Muunna binääriluku 11010111 kymmenjärjestelmän luvuksi. 110101112 = 18 2.3 Oktaalijärjestelmä Kantaluku (base, radix) on 8 numerosymboleita 8 kpl: 0, 1, 2, 3, 4, 5, 6, 7 0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 20, 21, … Oktaaliluvun muuntaminen desimaaliluvuksi (polynomiesitys): Esim. Muunna oktaaliluku 237 kymmenjärjestelmän luvuksi. 2378 = Siis oktaaliluku 237 on kymmenjärjestelmän luku ____. Esim. Muunna oktaaliluku 123 kymmenjärjestelmän luvuksi. 1238 = 2.4 Heksadesimaalijärjestelmä Kantaluku (base, radix) on 16 numerosymboleita 16 kpl: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B, … Esim. Muunna heksadesimaaliluku 219 kymmenjärjestelmän luvuksi. 21916 = Siis heksadesimaaliluku 219 on kymmenjärjestelmän luku ____. Esim. Muunna heksadesimaaliluku 2AC kymmenjärjestelmän luvuksi. 2AC16 = 19 Harjoitustehtäviä: 1. Muunna 10-järjestelmään seuraavat binääriluvut a. 1011 0110 b. 1110 1011 c. 1010 1101 2. Muunna 10-järjestelmään seuraavat oktaaliluvut a. 1027 b. 2365 c. 1236 3. Muunna 10-järjestelmään seuraavat heksadesimaaliluvut a. 1A0F b. 10B9 c. 12CC 20 2.5 10-järjestelmän luvun muuntaminen toiseen lukujärjestelmään 1. JAA 10-järjestelmän luku muunnettavan lukujärjestelmän KANTALUVULLA 2. Tulokseksi saatu JAKOJÄÄNNÖS on muunnettavan lukujärjestelmän luvun ensimmäinen luku OIKEALTA (desimaalipilkun edessä, ensimmäinen kokonaisosan luku) 3. JAA edelleen ensimmäisessä kohdassa saamasi osamäärän KOKONAISOSA muunnettavan lukujärjestelmän KANTALUVULLA 4. Tulokseksi saatu JAKOJÄÄNNÖS on muunnettavan lukujärjestelmän luvun toinen luku OIKEALTA 5. Näin jatketaan, kunnes jaon tuloksena osamäärän kokonaisosa on pienempi kuin kyseinen kantaluku, jolloin tämä kokonaisosa on muunnettavan lukujärjestelmän luvun viimeinen luku. 2.5.1 10-järjestelmän kokonaisluvun muuntaminen BINÄÄRILUVUKSI Esim.1. Muunna desimaaliluku 181 binääriluvuksi: 21 2.5.2 10-järjestelmän kokonaisluvun muuntaminen OKTAALILUVUKSI Esim.1. Muunna desimaaliluku 236 oktaaliluvuksi. Esim. 2. Muunna desimaaliluku 752 oktaaliluvuksi. 2.5.3 10-järjestelmän kokonaisluvun muuntaminen HEKSADESIMAALILUVUKSI Esim.1. Muunna desimaaliluku 339 heksadesimaaliluvuksi. Esim.1. Muunna desimaaliluku 9325 heksadesimaaliluvuksi. 22 2.5.4 10-järjestelmän desimaaliosan muuntaminen Muunnetaan ensin kokonaisosa. Desimaaliosan muuntaminen: Kerrotaan desimaaliosa muunnettavan lukujärjestelmän kantaluvulla. Tulon kokonaisosa on k.o. luvun ensimmäinen luku desimaalipilkun jälkeen. Tulon desimaaliosa kerrotaan edelleen muunnettavan lukujärjestelmän kantaluvulla ja tästä saadun tulon kokonaisosa on k.o. luvun toinen luku desimaalipilkun jälkeen. Tulon desimaaliosa kerrotaan edelleen muunnettavan lukujärjestelmän kantaluvulla jne. Desimaaliosan lukuja lasketaan 3-4 kpl, ellei toisin mainita. 2.5.5 10-järjestelmän desimaaliosan muuntaminen BINÄÄRILUVUKSI Esim.1. Muunna desimaaliluku 181,31 binääriluvuksi: 2.5.6 10-järjestelmän desimaaliosan muuntaminen OKTAALILUVUKSI Esim.1. Muunna desimaaliluku 236,6 oktaaliluvuksi. 2.5.7 10-järjestelmän desimaaliosan muuntaminen HEKSADESIMAALILUVUKSI Esim.1. Muunna desimaaliluku 339,2 heksadesimaaliluvuksi. 23 Harjoitustehtäviä: 1. Muunna binääriluvuksi a) 47,1210 b) 78,2310 2. Muunna oktaaliluvuksi a) 123,710 b) 137,510 3. Muunna heksadesimaaliluvuksi a) 358,310 b) 459,410 2.6 Binääri-, oktaali- ja heksadesimaalilukujen muuntaminen keskenään 2.6.1 Binääriluvusta oktaaliluku Esim. Muunna oktaaliluvuksi binääriluku 101 0111 1100.0011. Jaotellaan binääriluku kolmen ryhmiin (8 = 23). Jaottelun jälkeen katsotaan sivun 26 taulukosta, mitä oktaalilukua mikin binääriluvun kolmen ryhmä vastaa. 2.6.2 Binääriluvusta heksadesimaaliluku Esim. Muunna heksadesimaaliluvuksi binääriluku 1 111 011 111 100.01. Jaotellaan binääriluku neljän ryhmiin (16 = 24). Jaottelun jälkeen katsotaan sivun 26 taulukosta, mitä heksadesimaalilukua mikin binääriluvun neljän ryhmä vastaa. 2.6.3 Oktaaliluvusta binääriluku Esim. Muunna binääriluvuksi oktaaliluku 7654.23. Katsotaan sivun 26 taulukosta, mitä binääriluvun kolmen ryhmää mikin oktaaliluvun numero vastaa. 24 2.6.4 Heksadesimaaliluvusta binääriluku Esim. Muunna binääriluvuksi heksadesimaaliluku 2375.35. Katsotaan sivun 26 taulukosta, mitä binääriluvun neljän ryhmää mikin heksadesimaaliluvun numero vastaa. 2.6.5 Oktaaliluvusta heksadesimaaliluku Esim. Muunna oktaaliluku 7352 heksadesimaaliluvuksi. Muunnetaan oktaaliluku ensin binääriluvuksi. Tämän jälkeen binääriluku muunnetaan heksadesimaaliluvuksi jaottelemalla binääriluku neljän ryhmiin ja katsomalla vastaavuudet sivun 26 taulukosta. 2.6.6 Heksadesimaaliluvusta oktaaliluku Esim. Muunna heksadesimaaliluku 13B4.51 oktaaliluvuksi. Muunnetaan heksadesimaaliluku ensin binääriluvuksi. Tämän jälkeen binääriluku muunnetaan oktaaliluvuksi jaottelemalla binääriluku kolmen ryhmiin ja katsomalla vastaavuudet sivun 26 taulukosta. 25 10Binääri Oktaali Heksadesimaali järjestelmä 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 26 Harjoitustehtäviä: 1. Muunna binääriluku 1100010101.011 a) oktaaliluvuksi. b) heksadesimaaliluvuksi. 2. Muunna binääriluvuksi a. oktaaliluku 52471.32 b. oktaaliluku 7653.26 3. Muunna binääriluvuksi. a. heksadesimaaliluku 459A.72 b. heksadesimaaliluku 3576D.42 4. Muunna heksadesimaaliluvuksi. a. oktaaliluku 3561.26 b. oktaaliluku 2743.564 5. Muunna oktaaliluvuksi. a. heksadesimaaliluku 2135.64 b. heksadesimaaliluku 6B106.31 27 2.7 Peruslaskutoimitukset binäärijärjestelmässä 2.7.1 Yhteenlasku Esim. 1012 + 10 0112 Esim. 101 1012 + 100 1112 2.7.2 Vähennyslasku Esim. 10 0112 - 1012 28 Esim. 101 1012 – 100 1112 2.7.3 Kertolasku Esim. 1 0112 * 1012 Esim. 111 0112 * 11012 29 2.7.4 Jakolasku Esim. 110 1112 : 1012 Esim. 1100 11002 : 1102 30 Harjoitustehtäviä: 1. Yhteenlaskuja binäärijärjestelmässä a. 10 111 001 + 11 001 b. 100 111 + 1 111 c. 110 110 100 + 100100 2. Vähennyslaskuja binäärijärjestelmässä a. 110 001 001 – 1 011 111 b. 100 110 100 – 111 111 c. 101 101 100 – 1 011 101 3. Kertolaskuja binäärijärjestelmässä a. 11 100 * 110 b. 11 011 * 101 c. 10 101 * 111 4. Jakolaskuja binäärijärjestelmässä a. 11 100 : 100 b. 1 010 101 : 101 31 2.8 Komplementointi Käytetään tietokoneessa negatiivisten lukujen esityksessä ja vähennyslaskussa. Kun r on kantaluku, niin komplementteja määritellään r:n komplementtina tai r-1:n komplementtina. 2.8.1 2-komplementti Binääriluvun N 2 -komplementti voidaan laskea kaavalla 2n – N, missä n on binääriluvun N symbolien (1 tai 0) lukumäärä. Luku 2n on 10-järjestelmän luku, joten se pitää muuntaa binääriluvuksi ennen kuin vähennyslasku voidaan suorittaa. Esim. Binääriluvun 101 100 2 -komplementti on (2610 = 1 000 000) Siis binääriluvun 101 100 2 -komplementti on ___________. Helpompi tapa: Vaihdetaan binääriluvun kaikki bitit (ts. 0 1 ja 1 0) ja lisätään 1: Siis binääriluvun 101 100 2 -komplementti on ____________. Esim. Laske binääriluvun 10 001 110 111 2 –komplementti. 2.8.2 1-komplementti Käytetään binääriluvuille, kuten 2-komplementtiakin. Binääriluvun 1-komplementti saadaan yksinkertaisesti vaihtamalla bitit. Esim. Binääriluvun 101 000 111 1-komplementti on ______________. 32 2.8.3 Vähennyslasku komplementeilla Olkoot binääriluvut M ja N. Erotus M – N lasketaan komplementin avulla muuttamalla luku N komplementiksi ja lisäämällä se lukuun M. Ts. vähennyslaskusta tehdään yhteenlasku. Esim. Kymmenjärjestelmässä voimme laskea seuraavasti: 5 – 3 = 5 + (-3) = 2. Esim. Laske 2-komplementtia käyttäen vähennyslasku 101 1112 – 101012. Esim. Laske 2-komplementtia käyttäen 8-bittisellä esityksellä vähennyslasku 1102 – 10112. 33 2.8.4 Negatiivisten lukujen esitystapoja binäärijärjestelmässä Etumerkki talletetaan binääriesityksessä ensimmäiseen bittiin. Ensimmäinen bitti on 0, jos luku on positiivinen ja 1, jos luku on negatiivinen Negatiivisen luvun esittäminen voidaan tehdä kolmella eri tavalla. Kullakin laitteistolla käytetään luonnollisesti vain yhtä tapaa. Seuraavissa esimerkeissä binääriluvut on esitetty 7-bittisinä. TAPA I Etumerkki (0 tai 1) ja binääriluvun itseisarvo Esim. +6 0 000110 -6 1 000 110 TAPA II Etumerkki (0 tai 1) ja binääriluvun 1-komplementti Esim. +6 0 000110 -6 1 111 001 TAPA III Etumerkki (0 tai 1) ja binääriluvun 2-komplementti Esim. +6 0 000110 -6 1 111 010 34 Harjoitustehtäviä: 1. Esitä binäärilukuna kymmenjärjestelmän luvut a) 23 b) 26 c) 210 2. Esitä oktaalilukuna kymmenjärjestelmän luvut a) 83 b) 86 c) 810 3. Esitä heksadesimaalilukuna kymmenjärjestelmän luvut a) 163 b) 166 c) 1610 4. Laske binääriluvun 0010 0111 2 –komplementti. 5. Laske binääriluvun 1100 1001 2 –komplementti. 6. Laske 2-komplementtia käyttäen vähennyslasku 1 1112 – 1012. 7. Laske 2-komplementtia käyttäen 8-bittisellä esityksellä vähennyslasku 112 - 1012 35 3 Tiedon esitystapoja tietokoneessa Perustuu binäärijärjestelmään 3.1 Etumerkittömät kokonaisluvut TAVU (byte) 8-bittinen kokonaisluvut väliltä 0 – 255 28 eli 256 kpl SANA (word) 16-bittinen kokonaisluvut väliltä 0 – 65 535 216 eli 65 536 kpl 32-bittinen kokonaisluvut väliltä 0 – 4 294 967 295 232 eli 4 294 967 296 64-bittinen ei yleensä käytetä kokonaisluvut väliltä 0 – 18 446 744 073 709 551 615 264 eli 18 446 744 073 709 551 616 kpl 3.2 Etumerkilliset kokonaisluvut Etumerkki on 0 (+) tai 1(-). Negatiiviset luvut esitetään usein 2-komplementteina. TAVU (byte) 8-bittinen kokonaisluvut väliltä -128 – 127 28 eli 256 kpl SANA (word) 16-bittinen kokonaisluvut väliltä -32 768 – 32 767 216 eli 65 536 kpl 32-bittinen kokonaisluvut väliltä -2 147 483 648 – 2 147 483 647 232 eli 4 294 967 296 HUOM! Jos koneella on käytössä vain esim. 8-bittisiä lukuja ja laskutoimituksen tuloksena on 9-bittinen luku, niin tapahtuu YLIVUOTO, jonka seurauksena tulee joko VIRHEILMOITUS tai KONE JATKAA TOIMINTAANSA VIRHEELLISELLÄ ARVOLLA. 36 3.3 Liukuluvut (desimaaliluvut) Esimerkiksi IEEE-standardin mukainen liukuluku (binäärilukuna) 1 bitti 8 bittiä 23 bittiä s e m merkkibitti (sign) + (0) eksponentti tai - (1) ilmoittaa binääripisteen paikan mantissassa mantissa liukuluku (desimaaliluku) binäärimuodossa ilman binääripistettä Esim. 1. Esitä desimaaliluku 43,7510 merkkibitin, eksponentin ja mantissan avulla, kun oletetaan, että eksponenttiin mahtuu 4 bittiä ja mantissaan 8 bittiä. Merkkibittiin tulee luku ____ (kyseessä on positiivinen luku). Muunnetaan desimaaliluku binääriluvuksi. _______________________ Mantissaan luku ______________ (8-bittinen) Eksponenttiin luku, joka ilmoittaa binääripisteen paikan mantissassa: ______________ _____ bittiä oikealle, ___10 = ___2 ja 4-bittisenä ______2 s e m 37 3.4 Koodijärjestelmiä Koodijärjestelmiä on kymmeniä. Tässä esitellään 3 yleisintä. 3.4.1 BCD-koodi (Binary Coded Decimal) Käytetään esimerkiksi digitaalisen kellon ja laskimen tulosten näyttämiseen 10-järjestelmän luvut koodataan kukin erikseen 4-bittiseksi binääriluvuksi, ks. alla oleva taulukko 10-järjestelmän luku 0 1 2 3 4 5 6 7 8 9 BCD-koodi 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 Esim.1. Kellonaika 16:45 on BCD-koodina 1 6 ________ _______ 4 _______ 5 _________ Esim.2. Luku 42 on BCD-koodina 4 2 _______ ________ HUOM! BCD-koodin luku ________ ei ole sama kuin luku 4210 binäärilukuna, joka on __________________ 38 3.4.2 ASCII-koodi (American Standard Code for Information Interchange) Kirjaimet, numerot, erikoismerkkejä 7-bittinen (27 kpl = 128 kpl) 39 3.4.3 Laajennettu ASCII-koodi eli EBCDIC-koodi (Extended Binary Coded Decimal Interchange Code) Sisältää mm. kirjaimet ä, ö ja å 8-bittinen (28 kpl = 256 kpl) 40 Harjoitustehtäviä: 1. Muunna binäärijärjestelmän luvuksi desimaaliluku 12,42. 2. Muunna binäärijärjestelmän luvuksi desimaaliluku 8,12. 3. Esitä desimaaliluku (liukuluku) 18,29 merkkibitin, eksponentin ja mantissan avulla, kun oletetaan, että eksponenttiin mahtuu 4 bittiä ja mantissaan 8 bittiä. 4. Esitä seuraavat kymmenjärjestelmän luvut BCD -koodina a. 365 b. 4037 c. 54 736 5. Esitä seuraavasta ne luvut, jotka ovat BCD -koodeja, kymmenjärjestelmän lukuina. a. b. c. d. e. 100 100 110 101 100 000 010 1 000 001 100 100 000 100 100 010 010 100 110 000 111 41 4 JOUKKO-OPPIA 4.1 Venn-diagrammi Venn-diagrammi on joukon esittämiskuva, jossa suljetun viivan rajoittama alue kuvaa joukon kaikkia alkioita. Diagrammin avulla voidaan helposti esittää erilaisia joukkooperaatioita. Esim. Joukkojen A ja B leikkaus esitetään Venn-diagrammin avulla seuraavasti: Venn-diagrammin esitteli v. 1880 englantilainen John Venn (4.8.1834 – 4.4.1923). 42 4.1.1 Peruskäsitteitä Joukko-opin peruskäsitteet ovat alkio ja joukko sekä niiden välillä vallitseva suhde: alkion kuuluminen joukkoon. Nämä käsitteet ovat sellaisia peruskäsitteitä, joita ei määritellä muiden käsitteiden avulla. Alkio voi olla mikä tahansa "olio". Alkioiksi siis käyvät esimerkiksi luvut, funktiot, kotieläimet tai vaikkapa toiset joukot. Alkioita merkitään usein pienillä kirjaimilla a, b, c, … Joukko taas on kokoelma toisistaan erotettavissa olevia alkioita. Joukkoja merkitään usein isoilla kirjaimilla A, B, C, … Alkio joko kuuluu joukkoon tai ei kuulu joukkoon. Määritelmä 1. Jos alkio a kuuluu joukkoon A, käytetään merkintää: a A (lue: "alkio a kuuluu joukkoon A"). Määritelmä 2. Jos alkio ei kuulu joukkoon, käytetään merkintää: a A (lue: "a ei kuulu joukkoon A"). Joukkoja voidaan havainnollistaa piirtämällä siten, että merkitään alkioita sopivilla tunnuksilla ja joukon sisältävät alkiot rajoitetaan joukkoviivoilla. Matematiikassa kuitenkin useimmiten käytetään käytännöllisempiä merkintöjä joukoille. Joukko voidaan määrätä luettelemalla sen alkiot tai ilmoittamalla sen määrittelevä ominaisuus aaltosulkujen sisällä. Esimerkki 1. Alkioina ovat luvut 1, 2, 3, 4, 5, 6, 7, 8 ja 9. Joukot voidaan nimetä ja esittää: A = {1, 2, 3, 5, 8} B (lue: "joukkoon A kuuluvat alkiot 1, 2, 3, 5 ja 8"), A ja (lue: "Joukko B on joukon A aito osa-joukko ja niiden joukon A alkioiden joukko, jotka ovat parittomia"). Esimerkki 2. Luonnollisten lukujen joukko: N = {1, 2, 3, ...}. 43 Eri yhteyksissä luonnollisten lukujen joukko saattaa sisältää myös luvun nolla. Erityisesti merkinnällä N0 tarkoitetaan luonnollisten lukujen joukkoa, jossa on mukana alkio nolla, siis N0 = {0, 1, 2, 3, ...}. Esimerkki 3. Laajennettaessa luonnollisten lukujen joukkoa negatiivisilla luvuilla {-1, 2, -3, ...} saadaan kokonaislukujen joukko: Z = {..., -2, -1, 0, 1, 2, ...}. Esimerkki 4. a) Positiiviset kokonaisluvut Z+ = {1, 2, 3, ...}. b) Parilliset kokonaisluvut . c) Parittomat kokonaisluvut . 4.1.2 Joukkojen määritelmiä Joukko- opissa tarkastelut rajoittuvat aina tietyn tyyppisiin olioihin. Ne muodostavat tällöin perusjoukon. Perusjoukosta käytetään tässä merkintää E. Määritelmä 3. Perusjoukko E sisältää kaikki mahdolliset esiin tulevat alkiot. Erikoistapauksena joukoista mainittakoon tyhjä joukko Ø, jolle toisinaan käytetään myös merkintää { }. Määritelmä 4. Tyhjässä joukossa Ø ei ole yhtään alkiota. Joukkoa, jossa on ainakin yksi alkio, sanotaan ei-tyhjäksi. Määritelmä 5. Joukko A on joukon B osajoukko täsmälleen silloin, kun jokainen A:n alkio kuuluu joukkoon B. Silloin merkitään: A B (lue: "joukko A on joukon B osajoukko"). Jos joukko A ei ole joukon B osajoukko, eli A:ssa on joukkoon B kuulumattomia alkioita, merkitään: A B (lue: "A ei ole B:n osajoukko"). Määritelmä 6. Joukko A ja B ovat sama joukko täsmälleen silloin, kun niillä on samat alkiot. Tällöin merkitään: A=B lue: "A on (sama kuin) B". 44 Tämä voidaan ilmaista myös toisin: jos A B ja B A, niin A = B. Määritelmä 7. Mikäli joukko A ei ole sama kuin joukko B, niin ne ovat eri joukot ja voidaan merkitä: A B (lue: "A on eri joukko kuin B"). Määritelmä 8. Joukko A on joukon B aito osajoukko, jos A merkintään: A B B ja A B. ja tällöin (lue: "joukko A on joukon B aito osajoukko"). Osajoukon määrittelystä seuraa, että tyhjä joukko on kaikkien ei-tyhjien joukkojen aito osajoukko. Lisäksi todettakoon, että joukko on aina itsensä osajoukko, mutta se ei tällöin kuitenkaan ole aito osajoukko. Esimerkki 5. Esimerkin 1 perusjoukko on {1, 2, 3, 4, 5, 6, 7, 8, 9} ja B A. Esimerkki 6. Joukot A = {b, a, c} ja B = {a, c, b} ovat samat. Myös joukko C = {a, b, b, c} on sama kuin A ja B, mutta yleensä alkiot esiintyvät vain kerran. Esimerkki 7. Joukko C = {1, 2, 3}. Sen kaikki osajoukot ovat: Ø, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3} ja {1, 2, 3}. Näistä viimeistä lukuun ottamatta kaikki ovat C:n aitoja osajoukkoja. 4.2 Joukkojen perusoperaatioita Venn-diagrammi on joukon esittämiskuva, jossa suljetun viivan rajoittama alue kuvaa joukon kaikkia alkioita. Alkioiden ominaisuudet ja lukumäärät eivät ilmene Venndiagrammista. Diagrammin avulla voidaan helposti esittää erilaisia joukko-operaatioita. Tarkastellaan seuraavaksi joukko- operaatioita perusjoukossa E ja havainnollistetaan niitä Venn-diagrammin avulla. Tässä esityksessä määriteltävän operaation tulosjoukko on merkitty varjostuksella diagrammiin. 45 Joukon A komplementti -A (lue: "komplementti A") on joukko, joka koostuu niistä E:n alkioista, jotka eivät kuulu joukkoon A. Komplementtia voidaan merkitä myös Ā, ~A tai Ac . . Esimerkki 8. Esimerkin 1 perusjoukko on {1, 2, 3, 4, 5, 6, 7, 8, 9} ja B -A = { A. } Joukkojen A ja B leikkaus A ∩ B (lue: "A leikkaus B") koostuu niistä E:n alkiosta jotka kuuluvat sekä joukkoon A että joukkoon B:n. . 46 Leikkaus on kahden esineen yhteinen tilavuus. Se on helppo tapa yhdistää eri esineiden ominaisuuksia. (http://cc.joensuu.fi/~tniemi/3d/5.html) Esimerkki 9. Esimerkin 1 perusjoukko on {1, 2, 3, 4, 5, 6, 7, 8, 9} ja B A∩B={ A. } Joukkojen A ja B yhdiste eli unioni A B (lue: ”A yhdiste B” tai ”A unioni B”) koostuu niistä E:n alkioista, jotka kuuluvat joko joukkoon A tai joukkoon B. Alkiot saavat kuulua samanaikaisesti molempiin joukkoihin. . 47 Yhdiste liittää kaksi esinettä toisiinsa, poistaen kaikki piiloon jäävät polygonit. Yhdisteen avulla saadaan tiiviitä liitoksia esineiden välille. (http://cc.joensuu.fi/~tniemi/3d/5.html) Esimerkki 10. Esimerkin 1 perusjoukko on {1, 2, 3, 4, 5, 6, 7, 8, 9} ja B A B={ A. } Joukkojen A ja B erotus A - B (lue: "A pois B") koostuu niistä A:n alkioista, jotka eivät kuulu joukkoon B. tai A - B = A ∩ ~B 48 Vähentäminen poistaa toisen esineen toisesta. Sen avulla voi tehdä esineisiin reikiä tai syvennyksiä. (http://cc.joensuu.fi/~tniemi/3d/5.html) Esimerkki 11. Esimerkin 1 perusjoukko on {1, 2, 3, 4, 5, 6, 7, 8, 9} ja B A–B={ A. } Esimerkki 12. E = {1, ..., 9}, A = {1, 2, 5, 6, 7}, B = {2, 6, 9}. a) -A = {3, 4, 8, 9} b) A ∩ B = {2, 6} c) A B = {1, 2, 5, 6, 7, 2, 6, 9} = {1, 2, 5, 6, 7, 9} d) A - B = {1, 5, 7} 49 Esimerkki 13. Yksinkertaistetaan seuraavia esityksiä: a) A E. Koska perusjoukko E sisältää kaikki osajoukkonsa A alkiot, on tällöin joukkojen unionissa kaikki E:n alkiot, joten vastaus on E. b) A ∩ Ø. Koska tyhjä joukko ei sisällä yhtään alkiota, ei joukolla A voi olla sen kanssa ainuttakaan yhteistä alkiota, joten vastaus on Ø. c) A - (-A). Joukkoon -A kuuluvat kaikki ne perusjoukon E alkiot, jotka eivät kuulu joukkoon A. Joten kun joukosta A poistetaan alkioita, jotka eivät alun perinkään kuulu siihen, niin tällöin vastauksena saadaan alkuperäinen joukko, eli A. 4.3 Joukko-operaatioiden laskusääntöjä Ilman todistusta esitetään joukko- operaatioita koskevia tuloksia. Tulokset on tosin helppo todentaa Venn-diagrammilla. Joukot A, B, C E. Määritelmä 9. Leikkauksen ja yhdisteen vaihdantalaki: A ∩ B = B ∩ A, A B=B A. Määritelmä 10. Leikkauksen ja yhdisteen liitäntälaki: A ∩ (B ∩ C) = (A ∩ B) ∩ C = A ∩ B ∩ C, A (B C) = (A B) C=A B C. Määritelmä 11. Leikkauksen ja yhdisteen osittelulaki: A (B ∩ C) = (A A ∩ (B B) ∩ (A C) = (A ∩ B) C), (A ∩ C). Määritelmä 12. Komplementin ominaisuuksia: -(-A) = A, -Ø = E, -E = Ø, A (-A) =E, A ∩ (-A) = Ø. 50 Määritelmä 13. DeMorganin lait: -(A B) = (-A) ∩ (-B), -(A ∩ B) = (-A) (-B). 51 Harjoitustehtäviä: 1. Olkoon E = Z, A = N0, B = Z-. Määritä a) A ∩ B b) A B 2. Yksinkertaista seuraavia esityksiä: a) A ∩ E b) E - A c) A Ø d) A - Ø 3. Havainnollista Venn-diagrammilla seuraavat (muodosta erikseen Venndiagrammi yhtälön vasemmasta ja oikeasta puolesta ja vertaa sitten syntyneitä alueita keskenään): a) Osittelulait b) DeMorganin lait c) A - B = A ∩ (-B) 4. Piirrä neljälle Venn-diagrammi -tapaukselle 1) A B, 2) A ∩ B ja 3) A ∩ (-B) 52 53 5. Varjosta seuraaviin Venn-diagrammeihin alueet a. -A ∩ (B U C) b. -A ∩ -B c. A ∩ B ∩ C d. -(A ∩ B) ∩ C a. b. 54 c. d. 6. Montako alkiota kuuluu joukkoon a. A U B b. A ∩ (-B) c. A U (-B), kun perusjoukossa E on 30 alkiota. Joukossa A 10 alkiota, joukossa B 15 alkiota ja joukossa A ∩ B 6 alkiota? Piirrä itsellesi kuva avuksi. 55 5 KOMBINATORIIKKA Lasketaan vaihtoehtojen lukumäärää. 5.1 Summaperiaate ("tai") rinnakkaisia valintoja vaihtoehtojen lukumäärä = 1. valinnan vaihtoehdot + 2. valinnan vaihtoehdot . . . + n. valinnan vaihtoehdot Esim. 1. Montako korkeintaan 4 bitin koodia voidaan muodostaa? 5.2 Tuloperiaate (”ja”) peräkkäisiä valintoja vaihtoehtojen lukumäärä = 1. valinnan vaihtoehdot * 2. valinnan vaihtoehdot . . . * n. valinnan vaihtoehdot Esim.2. Maijalla on 3 puseroa, 4 hametta ja kahdet kengät. Kuinka monta erilaista asukokonaisuutta hän voi muodostaa? 56 5.3 Permutaatio n erilaista alkiota, joista jokainen voidaan valita vain kerran järjestetty n:n alkion jono saadaan tuloperiaatteella: n! (n:n kertoma) n! = 1 ∙ 2 ∙ ... ∙ (n - 1) ∙ n 0! = 1 (määritelmä) Esim.1. 7! = ___________________________ Esim. 2. Kuinka monella tavalla 8 hengen seurue voidaan asettaa istumaan 8-hengen pöydän ääreen? 5.4 Binomikerroin n k = 0! = 1 n n n! k!(n-k)! (määritelmä) = 1 Todistus: 57 Esim. 1. 6 3 = Esim. 2. 11 5 = 5.5 Osajoukkojen lukumäärä n k kappaletta Ilmoittaa montako erilaista k:n alkion osajoukkoa sisältyy n:n alkion joukkoon. Osajoukoissa järjestyksellä ei ole väliä. Esim. 1. 3 2 = 3! 2!·(3-2)! = 1·2·3 1·2·1 =3 ilmoittaa montako erilaista 2:n alkion osajoukkoa sisältyy 3:n alkion joukkoon. 1 2 3 58 Esim. 2. Kuinka monella eri tavalla voidaan Viking-lotossa valita luvuista 1 - 48 6 lukua? Esim.3. Bridge-iltaan on kutsuttu 6 henkilöä. Kerralla peliin voi osallistua 4 henkilöä. Kuinka monta eri kokoonpanoa peliin saadaan mukaan? 59 Harjoitustehtäviä: 1. Laske a) 9 4 b) 8 3 c) 12 6 d) 19 7 2. Montako a. 8 bitin b. korkeintaan 6 bitin koodia voidaan muodostaa? 3. Ruokalistaan on merkitty 4 alkuruokaa, 6 pääruokaa ja 3 jälkiruokaa. Montako erilaista 3 ruokalajin ateriaa niistä voidaan valita? (yksi alku-, pää- ja jälkiruoka) 4. Kuinka monella eri tavalla yksi rivi (13 kohdetta) voidaan täyttää vakioveikkauksessa? 5. Kuinka monella eri tavalla voidaan lotossa valita luvuista 1 – 39 seitsemän lukua? 60