Talstelsels
- Plaatswaarden
- binair 2k, octaal 8k, hex 16k
- Naar decimaal
- Σ dk·bk
- Vanuit decimaal
- deel door het grondtal en lees de resten van onder naar boven
- Hex ↔ binair
- één hexcijfer = 4 bits
- Two's complement
- inverteer de bits en tel 1 op
Formuleoverzichten, de belangrijkste methodestappen voor elk onderwerp en 20 oefenopgaven, met volledige oplossingen achterin.
Stel de bits zo in dat ze −65 opslaan in 8-bits tweecomplement. Wat is de waarde U van het patroon, gelezen als getal zonder teken?
Stel de bits in op het 8-bits resultaat van 1011 0001 XOR 1100 1110. Wat is de waarde R van het resultaat in decimaal?
Welke formule is logisch equivalent met r ↔ p? Klik erop.
De redenering met premissen p → r; ¬p en conclusie ¬r is ongeldig. Klik op de rij van de waarheidstabel die een tegenvoorbeeld is.
Gebruik de Karnaugh-kaart om de minimale product-van-sommenvorm (POS) van F(A, B, C, D) = Σm(0, 1, 2, 5, 6, 7, 8, 11, 12, 15) te vinden. Hoeveel somtermen (factoren) N heeft die?
Een JK-flip-flop, getriggerd op de stijgende flank, begint met Q = 0 en krijgt de getoonde ingangen. Klik op de eerste klokflank waarop Q van 1 terugkeert naar 0.
Vind de inverse van 35 modulo 67: het getal x met 0 < x < 67 en 35·x ≡ 1 (mod 67).
Een RSA-sleutel gebruikt p = 19, q = 47 en e = 19. Ontsleutel de cijfertekst c = 819: bepaal het bericht m.
Een gretig (greedy) algoritme:
Wat heeft de stelling van Cook-Levin vastgesteld?
Een binaire boom heeft wortel 1 met linkerkind 2 en rechterkind 3; knoop 2 heeft kinderen 4 (links) en 5 (rechts). Wat is de preorder-doorloop?
Een segmentboom (segment tree) wordt doorgaans gebruikt om:
Heeft de samenhangende graaf een Eulercircuit, een Eulerpad dat geen circuit is, of geen van beide? Klik op je antwoord.
Het algoritme van Prim bouwt een minimaal opspannende boom vanaf hoekpunt D. Klik op de kant die het toevoegt als kant nummer 3.
Een tabel employees heeft een kolom manager_id die naar een andere werknemer verwijst. Hoe toon je elke werknemer naast de naam van zijn manager?
Wat berekent SELECT day, SUM(amount) OVER (ORDER BY day) FROM sales?
Welk pariteitsbit wordt bij even pariteit toegevoegd aan de databits 1011001?
Wat bereikt de Diffie-Hellman-sleuteluitwisseling op zichzelf, en wat is de zwakte ervan?
Het netwerk 10.211.192.0/20 wordt verdeeld in gelijke subnetten met prefix /23. Hoeveel subnetten N zijn er?
Een host heeft het adres 10.20.162.125/28. Wat is het vierde octet x van het laatste bruikbare hostadres in zijn subnet?
Antwoord: U = 191
Bits instellen: elke bit is een macht van twee waard (128, 64, …, 1). Eén hexadecimaal cijfer is precies vier bits, en in 8-bits tweecomplement is de meest linkse bit −128 waard. Bitsgewijze bewerkingen werken op elke bitpositie apart.
Antwoord: R = 127
Bits instellen: elke bit is een macht van twee waard (128, 64, …, 1). Eén hexadecimaal cijfer is precies vier bits, en in 8-bits tweecomplement is de meest linkse bit −128 waard. Bitsgewijze bewerkingen werken op elke bitpositie apart.
XOR geeft 1 waar de twee bits verschillen.
Antwoord: (r → p) ∧ (p → r)
Logische equivalentie: twee formules zijn equivalent (≡) als ze in elke rij van de waarheidstabel dezelfde waarde hebben. Een tautologie is in elke rij 1, een contradictie in elke rij 0, en een contingentie is geen van beide. Nuttige wetten: De Morgan, ¬(a ∧ b) ≡ ¬a ∨ ¬b en ¬(a ∨ b) ≡ ¬a ∧ ¬b; a → b ≡ ¬a ∨ b ≡ ¬b → ¬a (contrapositie); ¬(a → b) ≡ a ∧ ¬b; en de distributieve wetten, a ∨ (b ∧ c) ≡ (a ∨ b) ∧ (a ∨ c).
De kolommen na de streep zijn de opties in de getoonde volgorde.
Antwoord: p = 0, r = 1
Kwantoren en redeneringen: ¬∀x P(x) ≡ ∃x ¬P(x) en ¬∃x P(x) ≡ ∀x ¬P(x). Schuif een ontkenning naar binnen, verwissel elke kwantor die ze passeert en ontken de binnenste formule met de propositiewetten, zoals ¬(a → b) ≡ a ∧ ¬b. Een redenering is geldig als de conclusie 1 is in elke rij waarin alle premissen 1 zijn. Eén rij met ware premissen en een onware conclusie is een tegenvoorbeeld en toont aan dat de redenering ongeldig is.
Een redenering van deze vorm lijkt op een geldige regel, maar één rij is genoeg om te laten zien dat dat niet zo is.
Antwoord: N = 4
Karnaugh-kaarten: de cellen staan in Gray-code (00, 01, 11, 10), dus naburige cellen, ook die over de randen heen, verschillen in precies één variabele. Groepeer de enen in rechthoeken van 1, 2, 4, 8 of 16 cellen, zo groot en zo weinig mogelijk, totdat elke 1 gedekt is. Elke groep is één productterm: de variabelen die erin constant blijven. Een groep van 2ᵏ cellen verliest k variabelen. Don’t-cares (X) mogen worden gebruikt om groepen groter te maken maar hoeven nooit gedekt te worden. Groepeer je in plaats daarvan de nullen, dan krijg je de minimale POS-vorm.
Elke groep is een rechthoek van 2ᵏ cellen; randcellen zijn buren van de cellen op de tegenoverliggende rand.
Antwoord: klokflank 5
Flip-flops en tellers: een flip-flop verandert alleen op de actieve klokflank. D kopieert zijn ingang (Q⁺ = D); T wisselt als T = 1; JK houdt vast bij 00, reset bij 01, zet bij 10 en wisselt bij 11. Een n-bits binaire teller heeft 2ⁿ toestanden en telt modulo 2ⁿ; een mod-N-teller telt 0, 1, …, N − 1 en dan weer 0, en heeft de kleinste n met 2ⁿ ≥ N flip-flops nodig. Elke trap van een ripple-teller halveert de frequentie, dus de laatste uitgang van een mod-N-teller loopt op fklok/N. Een Johnson-teller van n flip-flops heeft 2n toestanden, een ringteller n.
Een JK-flip-flop: 00 houdt vast, 01 reset (Q = 0), 10 zet (Q = 1), 11 wisselt.
Antwoord: 35−1 mod 67 = 23
Inversen en congruenties: a heeft een inverse modulo n precies als ggd(a, n) = 1. Het uitgebreide algoritme van Euclides schrijft 1 = s·n + t·a, en dan is a⁻¹ ≡ t (mod n). Een congruentie a·x ≡ b (mod n) met ggd(a, n) = 1 heeft de oplossing x ≡ a⁻¹·b. Twee congruenties x ≡ r₁ (mod m₁) en x ≡ r₂ (mod m₂) met onderling ondeelbare moduli hebben één oplossing modulo m₁·m₂ (Chinese reststelling). Eulers φ(n) telt de getallen van 1 tot n die onderling ondeelbaar zijn met n: φ(n) = n·∏(1 − 1/p).
Elke rest r wordt geschreven als r ≡ t·35 (mod 67).
Antwoord: m = 838
Modulaire machten en RSA: bereken aᵏ mod n door herhaald kwadrateren: schrijf k binair, kwadrateer, reduceer na elke stap en vermenigvuldig de machten waarvan de bit 1 is. Fermat: aᵖ⁻¹ ≡ 1 (mod p) voor een priemgetal p dat a niet deelt, dus de exponent kan modulo p − 1 gereduceerd worden. RSA: kies priemgetallen p en q, n = p·q en φ(n) = (p − 1)(q − 1); de publieke exponent e is onderling ondeelbaar met φ(n), en de privé-exponent is d = e⁻¹ mod φ(n). Versleutel met c = mᵉ mod n en ontsleutel met m = cᵈ mod n.
Antwoord: D · Maakt bij elke stap de lokaal beste keuze
Gretige algoritmen zijn snel en optimaal voor sommige problemen (bijv. Dijkstra, Huffman-codering), maar niet in het algemeen (bijv. wisselgeld teruggeven bij sommige muntsystemen).
Antwoord: C · Het booleaanse vervulbaarheidsprobleem (SAT) is NP-volledig
Cook en Levin lieten onafhankelijk van elkaar zien dat elk probleem in NP in polynomiale tijd reduceert tot SAT, zodat SAT het eerste bekende NP-volledige probleem was.
Antwoord: A · 1 2 4 5 3
Preorder bezoekt 1, dan zijn linkersubboom (2, 4, 5), dan 3; de andere opties zijn inorder, postorder en level-order.
Antwoord: B · Bereikquery's (zoals bereiksommen) en updates in O(log n) te beantwoorden
Een segmentboom slaat aggregaten voor intervallen op en ondersteunt bereikquery's en puntupdates in O(log n) tijd.
Antwoord: Eulercircuit
Euler, Hamilton en bomen: een samenhangende graaf heeft een Eulercircuit (elke kant één keer, terug naar het begin) als elk hoekpunt even graad heeft, en een Eulerpad dat geen circuit is als precies twee hoekpunten oneven graad hebben; het pad loopt dan van het ene oneven hoekpunt naar het andere. Een Hamiltoncircuit bezoekt elk hoekpunt één keer; Kn heeft er (n − 1)!/2. Een boom op n hoekpunten heeft n − 1 kanten, en een samenhangende graaf met m kanten houdt een opspannende boom over na het verwijderen van m − n + 1 kanten.
Antwoord: kant BE
Kortste paden en opspannende bomen: het algoritme van Dijkstra legt per ronde één hoekpunt vast: het onafgehandelde hoekpunt met de kleinste voorlopige afstand. Zijn afstand is dan definitief, en elke buur v krijgt d(v) = min(d(v), d(u) + w(u, v)). Het algoritme van Kruskal bouwt een minimaal opspannende boom door de kanten van licht naar zwaar te nemen en elke kant over te slaan die een cykel zou sluiten; het algoritme van Prim laat één boom groeien vanuit een beginpunt door steeds de lichtste kant toe te voegen die eruit vertrekt. Een opspannende boom van n hoekpunten heeft n − 1 kanten.
Antwoord: A · Koppel de tabel employees aan zichzelf met twee aliassen
Een self-join zoals FROM employees e JOIN employees m ON e.manager_id = m.id laat de ene alias de werknemer zijn en de andere de manager.
Antwoord: C · Een lopend totaal van amount, geordend op day
Met ORDER BY en zonder expliciet frame loopt het venster van de eerste rij tot en met de huidige rij (en de rijen met gelijke waarde), wat een cumulatieve som oplevert.
Antwoord: D · 0
1011001 bevat vier 1-bits, al een even aantal, dus het pariteitsbit is 0. Bij oneven pariteit zou het 1 zijn.
Antwoord: A · Ze spreekt een gedeeld geheim af over een openbaar kanaal, maar is op zichzelf kwetsbaar voor een man-in-the-middle
Met Diffie-Hellman leiden twee partijen hetzelfde geheim af dat afluisteraars niet kunnen berekenen. Een aanvaller in het midden kan met elke kant een aparte uitwisseling voeren, tenzij de waarden zijn ondertekend of anderszins geauthenticeerd.
Antwoord: N = 8
IPv4 subnetting: an address has 32 bits. The prefix /p says how many leading bits identify the network; the remaining 32 − p bits number the hosts. A subnet has 2³²⁻ᵖ addresses, but the first (network address) and last (broadcast address) cannot be given to hosts, so 2³²⁻ᵖ − 2 hosts fit. Exceptions: a /31 (point-to-point link, RFC 3021) uses both of its 2 addresses for hosts, and a /32 is one single address (a single host or a loopback).
Elk /23-subnet heeft 29 − 2 = 510 bruikbare hosts.
Antwoord: x = 126
IPv4-subnetting: een adres heeft 32 bits. Het prefix /p geeft aan hoeveel voorste bits het netwerk aanduiden; de overige 32 − p bits nummeren de hosts. Een subnet heeft 2³²⁻ᵖ adressen, maar het eerste (netwerkadres) en het laatste (broadcastadres) kunnen niet aan hosts worden gegeven, dus er passen 2³²⁻ᵖ − 2 hosts in. Uitzonderingen: een /31 (point-to-pointverbinding, RFC 3021) gebruikt allebei zijn 2 adressen voor hosts, en een /32 is één enkel adres (één host of een loopback).
ExamProblems · examproblems.com/courses/computer-science-fundamentals