1 Inhoud 2 3 4 begrippen ........................................................................................................................................ 2 2.1 proposities ............................................................................................................................... 2 2.2 bewering .................................................................................................................................. 2 Wetten van Boole ............................................................................................................................ 3 3.1 1.De EN functie (AND) ook genaamd 'conjunctie':.................................................................. 3 3.2 De OF funktie ( OR ) ook genaamd 'disjunktie':....................................................................... 4 3.3 De NIET ( NOT ) functie, ook genaamd 'negatie' of complement. .......................................... 4 3.4 De equivalentie (EQV) funktie , gelijkheid of identiteit........................................................... 4 3.5 De exclusieve OF functie (XOR): .............................................................................................. 5 Talstelsels ........................................................................................................................................ 5 4.1 4.1.1 omzetten van binair naar decimaal ................................................................................. 7 4.1.2 omzetten van decimaal naar binair ................................................................................. 7 4.2 5 binair........................................................................................................................................ 6 Hexadecimaal .......................................................................................................................... 8 4.2.1 omzetten van binair naar Hex ......................................................................................... 9 4.2.2 omzetten van Hex naar binair ....................................................................................... 10 4.2.3 omzetten van Hex naar decimaal .................................................................................. 10 4.2.4 omzetten van decimaal naar Hex .................................................................................. 10 Alfanumerieke gegevens ............................................................................................................... 11 5.1 De ASCII-tabel ........................................................................................................................ 12 5.1.1 Uitbreidingen ................................................................................................................. 12 5.1.2 ASCII Arts ....................................................................................................................... 13 Jeroen Claes ©2010-2011 Pagina 1 Logica 2 begrippen 2.1 proposities In het dagelijks leven komen uitspraken voor zoals, “mannekepis staat in brussel. “De som van twee oneven getallen is even “Het regent “Laat ons mannekepis bezoeken “Maak de som van twee even getallen “Is 1 groter dan 2? Toets deze uitspraken met de werkelijkheid. Van welke uitspraken kan je zeggen dat ze waar zijn? Van sommige kan je niet zeggen of ze waar zijn of niet. Defenitie: Een uitspraak die ofwel waar of vals is, noemt men een propositie. Voorbeelden: "Een kabeljauw is een vis." is een ware propositie. "Een kabeljauw is een zoogdier." is een onware propositie. "Een kabeljauw is vers." is een contingente propositie. "Is dit een kabeljauw?" is een vraag en geen propositie. Verder gaan we hier echter niet in op……. 2.2 bewering In de logica is een bewering een declaratieve zin die of waar of onwaar is. Een bewering onderscheidt zich van een zin doordat een zin slechts een formulering van een bewering is, terwijl er vele andere formuleringen kunnen zijn die dezelfde bewering uitdrukken. De term "bewering" kan verwijzen naar een zin of het idee dat door een zin wordt uitgedrukt. In de taalfilosofie bepleitte Peter Strawson om de voorkeur te geven aan het gebruik van de term "bewering" boven de term propositie. Voorbeelden van zinnen die beweringen zijn: * "Socrates is een man." * "Een driehoek heeft drie zijden." * "Parijs is de hoofdstad van Spanje." Jeroen Claes ©2010-2011 Pagina 2 De eerste twee beweringen zijn waar, de derde is onwaar. Voorbeelden van zinnen die geen beweringen zijn: * "Wie bent u?" * "Vlucht!" * "Groenheid wandelt rond." * "Ik had een grunks over de eiplant daar." De eerste twee voorbeelden zijn geen declaratieve zinnen en daarom ook geen beweringen. Het derde en vierde voorbeeld zijn declaratieve zinnen, maar omdat zij betekenis ontberen, zijn zij noch waar noch onwaar. Om die redenen zijn dit geen beweringen. 3 Wetten van Boole George Boole was een Brits wiskundige en logicus. Vanaf 1849 was hij hoogleraar in de wiskunde in de Ierse stad Cork. Als uitvinder van de Booleaanse logica, dat de basis vormt van de moderne digitale computerlogica, wordt Boole achteraf beschouwd als een van de grondleggers van de computerwetenschap. Zijn zogenaamde booleaanse algebra's, een vorm van symbolische logica, worden op diverse plaatsen in de wiskunde gebruikt en vinden toepassing bij het ontwerpen van computerschakelingen. Booleaanse algebra bestudeert algebraïsche structuren met de logische operatoren AND (en), OR (of) en NOT (niet). Deze operatoren zijn direct gerelateerd aan de begrippen doorsnede, vereniging en complement uit de verzamelingenleer. De Booleaanse operatoren, en / and, niet / not, of / or, waar onder andere zoekmachines gebruik van maken voor het specificeren van zoekopdrachten zijn naar George Boole genoemd. De elementaire Boole-functies zoals zowat elke die naam waardige computertaal en dus ook BASIC die kent, zijn en worden gedefinieerd als volgt: 3.1 1.De EN functie (AND) ook genaamd 'conjunctie': X AND Y is waar , dan en dan alleen als X waar is en ook Y waar is. In de vorm van een waarheidstabel ziet dit eruit als: X Y X AND Y 000 010 100 111 Jeroen Claes ©2010-2011 Pagina 3 3.2 De OF funktie ( OR ) ook genaamd 'disjunktie': X OF Y is waar, dan en dan alleen als X waar is, of Y waar is. Ook wanneer beide waar zijn, is het resultaat van de funktie waar. Waarheidstabel: X Y X OR Y 000 011 101 111 3.3 De NIET ( NOT ) functie, ook genaamd 'negatie' of complement. Dit is een unaire operator. De definitie is : NOT X is waar dan en dan alleen als X vals is. Waarheidstabel: X NOT X 01 10 3.4 De equivalentie (EQV) funktie , gelijkheid of identiteit. EQV Y is waar dan en dan alleen als beide dezelfde waarheidswaarde hebben. Waarheidstabel: X Y X EQV Y 001 010 100 111 Jeroen Claes ©2010-2011 Pagina 4 3.5 De exclusieve OF functie (XOR): X XOR Y is waar dan en dan alleen als X waar is of als Y waar is maar niet wanneer beide het zijn. Waarheidstabel: X Y X XOR Y 000 011 101 110 De impliklatie (IMP) , of de 'besluitregel'. (Als... Dan...) X impliceert Y ( =uit X volgt Y) dan en dan alleen als wanneer X waar is ook Y waar is en wanneer X vals is Y zowel waar als vals mag zijn. Dit kan eenvoudiger worden uitgedrukt met een negatie: X impliceert Y is vals, dan en dan alleen als X waar is en Y vals is. Waarheidstabel: X Y X IMP Y 001 011 100 111 4 Talstelsels Een talstelsel, getallenstelsel of getallensysteem is een wiskundig systeem om getallen voor te stellen. Oorspronkelijk was een talstelsel een systeem om te tellen. Omdat tellen het opnoemen van (natuurlijke) getallen inhoudt, kwam vanzelf de manier van noteren van die getallen aan de orde. Zo zijn er talstelsels als het binaire stelsel en het daarmee verwante octale en hexadecimale stelsel, die slechts bedoeld zijn om getallen voor te stellen. Andere talstelsels, zoals het twaalftallig stelsel en het sexagesimale stelsel, die oorspronkelijk positiestelsels waren, fungeren nu nog slechts als telsysteem. Hoewel turven goed beschouwd ook als een getalrepresentatie gezien kan worden, is het toch pimair een manier van tellen. Andere stelsels, zoals het decimale stelsel, kunnen gezien worden in beide betekenissen. Enkele voor beelden: Jeroen Claes ©2010-2011 Pagina 5 Het binaire of tweetallige getalsysteem is een positiestelsel, waarin een getal wordt voorgesteld door een rijtje van de cijfers 0 en 1. Een dergelijk cijfer wordt in deze context een bit genoemd. In dit stelsel staat bijvoorbeeld 0110 voor het getal 6 in het decimale stelsel. Hier gaan we later nog veel dieper op in. Decimaal betekent tientallig. Het decimale talstelsel is een stelsel waarbij getallen worden samengesteld uit de cijfers 0 t/m 9. De naam is afgeleid van het Latijnse woord voor tiende (decimus). Hexadecimaal betekent letterlijk 16-tallig. Het is een talstelsel waarbij niet, zoals gebruikelijk, met tien cijfers wordt gewerkt, maar met zestien cijfers. De cijfers 0 t/m 9 worden daarom uitgebreid met 'A' (=10) t/m F (=15), ook wel 'a' t/m 'f'. In deze context zijn dat dus ook cijfers, geen letters. Het woord 'hexadecimaal' wordt vaak afgekort als hex. Ook hier gaan we later nog veel dieper op in Het sexagesimale stelsel (Latijn: sexagesimus, zestigste) of 60-tallig stelsel is een positiestelsel met als grondtal 60. Het vindt als zodanig geen toepassing meer, maar als telsysteem vindt men nog restanten ervan in de tijdmeting en de hoekmeting. = 69 = 122 = 602.b 4.1 binair Waarom: Omdat de geheugencellen van computers twee waarden kunnen aannemen, is er sprake van binaire voorstelling van de opgeslagen informatie. Daarom worden getallen in computers intern voorgesteld als binaire getallen. Voor de buitenwereld worden deze getallen vertaald naar het hexadecimale of het octale stelsel, die beide nauw verwant zijn met het binaire. Het octale en hexadecimale stelsel worden door computerprogrammeurs gebruikt bij taken waarbij ze de bit configuratie van het getal moeten kunnen zien, omdat octale en hexadecimale getallen gemakkelijk uit binaire getallen zijn af te leiden, namelijk door de binaire cijfers in groepjes van 3 (octaal) of 4 (hexadecimaal) te verdelen en deze groepjes van 3 respectievelijk 4 binaire cijfers steeds tot één octaal respectievelijk hexadecimaal cijfer om te zetten. Dit principe geldt voor alle getallenstelsels waarvan het aantal cijfers een macht van twee is. Binaire getallen van 0 tot 15: Decimaal 0 1 2 3 4 5 6 7 Jeroen Claes ©2010-2011 Binair 0 1 10 11 100 101 110 111 Decimaal 8 9 10 11 12 13 14 15 Binair 1000 1001 1010 1011 1100 1101 1110 1111 Pagina 6 4.1.1 omzetten van binair naar decimaal Omdat machten van twee zo een belangrijke rol spelen bij binaire getallen is voor het omrekenen van binaire getalen belangrijk dat we een aantal machten uit het hoofd zouden kennen. De eerste (en belangrijkste) 11 machten staan hieronder opgesomd in een tabel, K 2k 0 1 1 2 2 4 3 8 4 16 5 32 6 64 7 128 8 256 9 512 10 1024 Als we dan gaan kijken hoe we omrekenen van binair naar decimaal: Binair 1000 1000 1 128 0 0 0 0 0 0 1 8 0 0 0 0 0 0 0 0 0 0 1 8 0 0 1 2 1 1 0 0 1 16 0 0 0 0 1 2 1 1 Decimaal 136 Binair 1100 1011 1 128 1 64 Decimaal 203 Binair 010 1011 0 0 1 64 Decimaal 83 Oefeningen: 1) 1100 0000 2) 1010 1010 3) 101 0101 4) 1100 1010 4.1.2 5) 1111 1110 6) 1101 1011 7) 1011 1111 8) 1110 0111 omzetten van decimaal naar binair Van decimaal naar binair is helaas iets ingewikkelder. Stel we willen het getal 57 omzetten. Dan zoeken we eerst het grootste getal in de bovenste rij dat kleiner is dan of gelijk aan 57, namelijk 32. Op die plek zetten we al een 1. Dit wordt dan (000)100000. Dan trekken we 32 van 57 af, dat wordt 25. Voor dit getal zoeken we weer het grootste getal in de bovenste rij dat kleiner is dan of gelijk aan 25, namelijk 16. Ook voor de 16 zetten we een 1, dus (000)110000. We trekken 16 van 25 af, dat wordt 9. We zoeken weer het grootste getal in de bovenste rij dat kleiner is dan of gelijk aan 9, namelijk 8. Voor deze zetten we weer een 1. (000)111000. 9-8=1. Nu hoeven we niet verder te zoeken, want de 1 is makkelijk gevonden. Ook deze wordt toegevoegd. Zo hebben we relatief Jeroen Claes ©2010-2011 Pagina 7 eenvoudig berekend dat 57 binair 000111001 ofwel 111001 is. Nog eenvoudiger is soms met een simpele deling: 57 28 14 1 0 7 0 3 1 1 1 0 0 1 0 0 0 0 0 Als je dan van de rechter kolom de getallen noteert van onder naar boven kom je op 111001 uit. Oefeningen: 1) 193 2) 172 3) 10 4) 415 5) 505 6) 101 7) 129 8) 2 4.2 Hexadecimaal hexadecimaal betekent letterlijk 16-tallig. Het is een talstelsel waarbij niet, zoals gebruikelijk, met tien cijfers wordt gewerkt, maar met zestien cijfers. De cijfers 0 t/m 9 worden daarom uitgebreid met 'A' (=10) t/m F (=15), ook wel 'a' t/m 'f'. In deze context zijn dat dus ook cijfers, geen letters. Een hexadecimaal cijfer is een snelle en overzichtelijke manier om vier binaire cijfers te schrijven. Eigenlijk zou men de binaire computergegevens met enen en nullen moeten schrijven, dus bijvoorbeeld 11000101011000100101110101110010. Dat is voor mensen onleesbaar, en daarom worden de cijfers in groepjes van 4 gegroepeerd. Dat wordt dan 1100-0101-0110-0010-0101-11010111-0010. Ieder viertal wordt vervolgens in een hexadecimaal cijfer omgezet: C5625D72. Dit is veel overzichtelijker. Volgende tabel is steeds wel handig, Jeroen Claes ©2010-2011 Pagina 8 Decimaal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 4.2.1 Hex 0h 1h 2h 3h 4h 5h 6h 7h 8h 9h Ah Bh Ch Dh Eh Fh Binair 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 omzetten van binair naar Hex Wij gaan als voorbeeld 1010 1100 1101 1100 gebruiken. Binair 1010 1100 1101 1100 Hex A C Oplossing AC DC D C Oefeningen: 1) 1100 0000 2) 1010 1010 3) 101 0101 4) 1100 1010 Jeroen Claes ©2010-2011 5) 1111 1110 1010 101 6) 1101 1011 0101 7) 1011 1110 1101 8) 1110 0111 1010 1100 1101 1100 0101 1100 Pagina 9 4.2.2 omzetten van Hex naar binair Hex F Binair F 9 1111 0000 1111 Oplossing 1111 0000 1111 1001 Oefeningen: 1) BEDh 2) 9F6h 3) 78D8Ah 4) BADh 4.2.3 0 1001 5) BAFFAh omzetten van Hex naar decimaal De omzetting van decimale getallen naar hexadecimale getallen is iets ingewikkelder. Voorbeeld als we het getal A2Fh gaan om zetten: Rangwaarden in formule vorm: Rangwaarden in decimaal getal: Symbool op die rang: Decimaale waarde: Decimaale waarde x rangwaarde: 161 16 16² 256 A 2 10 2560 32 160 1 F 2 15 15 = 2607 decimaal Oefeningen: 1) BEDh 2) 9F6h 3) 78D8Ah 4) BADh 4.2.4 5) BAFFAh 6) 95h 7)10010h 8)D1F2A19Ch omzetten van decimaal naar Hex Om gekeerd kun je de omzetting van decimaal naar hexadecimaal uit voeren. Wat is Bv. De hexadecimale voorstelling van het decimale getal 1730. De methode lijkt op die van de omzetting decimaal-binair. We gebruiken hier een herhaalde deling door 16 en we kijken telkens naar de rest. Als je 1730 door 16 deelt, krijg je 108 met een rest van 2 ( we delen niet na de komma ). dit schrijven we op en doen verder met getal 108. als je getal 108 door 16 deelt, krijg je 6, met een rest van 12. Jeroen Claes ©2010-2011 Pagina 10 In tabelvorm geeft dit : Berekening van de rest waarde 1730/16 = 108 108/16 = 6 6/16 = 0 1) 1935436 2) 175451 3) 10867 4) 4155462 5 Quotiënt 108 6 0 =2C6h Hexadecimaal Rest 2 12 6 Hex 2h Ch 6h 5) 505 6) 1015623347 7) 12945 8) 28 Alfanumerieke gegevens Een groot deel van de taak van een computer bestaat uit werken met alfanumerieke tekens. het inbrengen, bewerken, en weer tevoorschijn brengen van zinnen (op scherm of via een printer) is een van de meest voor komende taken van een PC. Ook hier zal dus een systeem moeten gekozen worden om al die letters en tekens te bewaren op de computer in een gecodeerde vorm (binair) Het geheel van alfanumerieke tekens die moeten worden voor gesteld is omvatten o.a. : 1. Al de letters van ons normaal alfabet (zowel in hoofd als in kleine letters). 2. De cijferkarakters 0 tot 9. 3. De verschillende leestekens inclusief de spatie die als een apart leesteken word beschouwd, vaak voorkomende typografische tekens (,;:?.<>@&”’+~%# en de haakjes zelf) Om het mogelijk te maken dat tekst bestanden tussen verschillende computers uit wisselbaar werden of om het mogelijk te maken dat een computer van fabrikant x tekst kan afprinten op een printer van fabrikant y werden in 1960 enkele “karaktersets” aanvaard. In de loop der jaren zijn er verschillende systemen ontwikkeld, waarvan er van de meeste dan ook nog eens lokale varianten zijn ontstaan (dialecten zeg maar) om tegemoet te komen aan bijvoorbeeld de nood aan specifiek vaak gebruikte accent tekens (vb. é,è,á,à, â en ê) of valuta tekens (€, $, £ en ¥) of land specifieke karakters (β, ζ of λ) of bijzondere leestekens . Jeroen Claes ©2010-2011 Pagina 11 5.1 De ASCII-tabel Deze standard met de wel luidende naam American Standard Code for Information Interchange, de ASCII tabel dus, was in oorsprong een tabel met een bitlengte van 7 bits. Met 128 verschillende codes had men in principe dus voldoende codes ter beschikking voor alle belangrijkste tekens en stuur codes. Deze oorspronkelijke versie van de tabel wordt ook wel eens de ASCII-7 of standard ASCII-tabel of lower ASCII-tabel genoemd. De standard of lower ASCII-tabel (gedeeltelijk) 5.1.1 Hex 00 07 0C 0D 20 28 2B Dec 00 07 12 13 32 40 43 Bin 000 0000 000 0111 000 1100 000 1101 010 0000 010 1000 010 1011 30 31 48 49 011 0000 011 0001 39 57 011 1001 41 42 65 66 100 0001 100 0010 61 62 97 98 110 0001 110 0010 7F 127 111 1111 Teken of stuurcode NULL-Waarde Bel (geluid) From feed Carriage return Spatie ( + … 0 1 … 9 … A B … a b … DEL-actie Uitbreidingen ASCII is een 7-bits code, zodat er 27 = 128 ASCII-codes mogelijk zijn. De meeste computers werken echter met 8-bits codes .De 8e bit werd traditioneel gebruikt voor foutdetecterende codes (in dit geval een pariteitsbit) en andere apparaatspecifieke toepassingen. In eerste instantie bestond de de extra verzameling beschikbare tekens uit gangbare accenten op het Latijnse schrift en diverse grafische tekens (zoals bijvoorbeeld blokken, lijnen en rasters) waarmee onder meer goed ogende menu's getoond konden worden. Deze eerste uitgebreide tekenverzameling stond bekend als de ASCII-II tabel Omdat in landen buiten de Verenigde Staten behoefte was aan extra tekens (zoals andere letters, letters met accenten, valutasymbolen) werd het aantal mogelijke tekens vergroot door ook de 8e bit te gebruiken (dit gaf tweemaal zoveel mogelijkheden, namelijk 28 = 256). Ook worden veel Jeroen Claes ©2010-2011 Pagina 12 stuurcodes niet meer voor hun oorspronkelijke doel gebruikt en deze zijn dus voor extra tekens beschikbaar. Zo ontstonden de extended ASCII-tekenverzamelingen. Hierbij zijn echter verschillen ontstaan tussen de tekenverzamelingen van verschillende talen. Extended ASCII, is niet één bepaalde standaard, maar een verzamelnaam voor de verschillende tekenrepresentaties die de 95 afdrukbare ASCII-tekens als basis hebben, zoals de ANSI-tekensets. 5.1.2 ASCII Arts ASCII-art is een kunstvorm waarbij afbeeldingen worden samengesteld uit enkel ASCII-tekens. Vooral in niet-grafische omgevingen, zoals bepaalde computerterminals, e-mail, SMS en chatomgevingen bieden, wordt dit wel gebruikt om tekst toch van vaak zeer eenvoudige illustraties te kunnen voorzien. Er zijn echter ook mensen die als hobby zeer uitgebreide ASCII-art maken, zoals gedetailleerde taferelen, hetgeen creativiteit en geduld vereist. Jeroen Claes ©2010-2011 Pagina 13