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.
Het 8-bits patroon 1011 1000 slaat een geheel getal met teken op in two's complement. Wat is de waarde N in decimaal?
Een systeem moet elk van 880 items een eigen binaire code van gelijke lengte geven. Wat is het kleinste aantal bits b dat nodig is?
Is q → (q ∧ r) een tautologie, een contradictie of een contingentie? Klik op je antwoord.
Welke uitspraak is equivalent met ¬∀x (A(x) → ∃y R(x, y)), met de ontkenning helemaal naar binnen geschoven? Klik erop.
Vereenvoudig F = B′C′ + ABC′ + A′B′ + A′C′ tot zijn minimale som-van-productenvorm. Hoeveel literals L bevat de vereenvoudigde uitdrukking?
Een 4-bits binaire afloopteller begint bij 1 (decimaal, Q = 0001). Welke stand Q (decimaal) toont hij na 23 klokpulsen?
Vind de inverse van 70 modulo 73: het getal x met 0 < x < 73 en 70·x ≡ 1 (mod 73).
Een RSA-sleutel gebruikt p = 17, q = 41 en e = 3. Ontsleutel de cijfertekst c = 197: bepaal het bericht m.
Waarom levert dynamisch programmeren geen echte versnelling op voor mergesort?
Welke twee dingen moeten worden aangetoond om te bewijzen dat een beslissingsprobleem X NP-volledig is?
Waarom is het doorlopen van een array in de praktijk vaak veel sneller dan het doorlopen van een gekoppelde lijst van dezelfde lengte?
De tijdcomplexiteit van decrease-key in een binaire heap (als de positie van het element bekend is) is:
Een boom heeft 2 hoekpunten van graad 5, 2 hoekpunten van graad 2, en al zijn andere hoekpunten zijn bladeren (graad 1). Hoeveel bladeren L heeft hij?
Het algoritme van Kruskal bouwt een minimaal opspannende boom. Klik op de kant die het toevoegt als kant nummer 2; overgeslagen kanten tellen niet mee.
In de relationele algebra komt de projectie-operator (π) overeen met:
Waarom wordt NATURAL JOIN als riskant beschouwd in productiequery's?
Wat identificeert één eindpunt van een TCP-verbinding op het internet uniek?
Een aanvaller op een LAN stuurt vervalste ARP-antwoorden waarin hij het IP-adres van de gateway claimt. Wat is het waarschijnlijke gevolg?
Het netwerk 192.168.10.0/24 moet worden verdeeld in minstens 6 gelijke subnetten. Als je zo weinig mogelijk bits leent, hoeveel bruikbare hosts H heeft elk subnet?
Een host heeft het adres 10.20.129.196/28. Wat is het vierde octet x van het laatste bruikbare hostadres in zijn subnet?
Antwoord: N = −72
Positionele talstelsels: elk cijfer is zijn waarde maal een macht van het grondtal waard. Binair zijn de posities 1, 2, 4, 8, 16, … waard, hexadecimaal 1, 16, 256, …, met A–F voor 10–15. In 8-bits two's complement is het meest linkse bit −128 waard in plaats van +128; zo worden negatieve getallen opgeslagen.
De andere bits houden hun gewone positieve waarde.
Antwoord: b = 10 bit
Positionele talstelsels: elk cijfer is zijn waarde maal een macht van het grondtal waard. Binair zijn de posities 1, 2, 4, 8, 16, … waard, hexadecimaal 1, 16, 256, …, met A–F voor 10–15. In 8-bits two's complement is het meest linkse bit −128 waard in plaats van +128; zo worden negatieve getallen opgeslagen.
Antwoord: contingentie
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).
Antwoord: ∃x (A(x) ∧ ∀y ¬R(x, y))
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.
De andere opties laten een kwantor onveranderd, veranderen de volgorde van de kwantoren, of ontkennen de binnenste formule verkeerd.
Antwoord: L = 3
Booleaanse algebra: de regels die uitdrukkingen vereenvoudigen zijn X + X′ = 1 en X·X′ = 0, X + X = X, absorptie X + X·Y = X, de samenvoegregel X·Y + X·Y′ = X, X + X′Y = X + Y en de consensusstelling XY + X′Z + YZ = XY + X′Z. De wetten van De Morgan veranderen (X·Y)′ in X′ + Y′ en (X + Y)′ in X′·Y′. Een Karnaugh-kaart past deze regels grafisch toe: elke groep van twee naburige cellen is één toepassing van XY + XY′ = X.
Antwoord: Q = 10
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.
Elke 16 pulsen brengen de teller terug in dezelfde toestand.
Antwoord: 70−1 mod 73 = 24
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·70 (mod 73).
Antwoord: m = 326
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 · De deelproblemen overlappen niet, dus er valt niets te hergebruiken
De helften van mergesort zijn disjunct en worden elk één keer opgelost; DP helpt alleen als deelproblemen terugkomen, zoals bij Fibonacci.
Antwoord: C · X zit in NP, en een bekend NP-volledig probleem reduceert in polynomiale tijd tot X
Lidmaatschap van NP laat zien dat X niet moeilijker is dan NP; de reductie vanuit een bekend NP-volledig probleem laat zien dat X minstens zo moeilijk is als heel NP.
Antwoord: B · Array-elementen liggen aaneengesloten, zodat ze de CPU-cache goed benutten
Aaneengesloten geheugen geeft een goede localiteit van referentie, terwijl gekoppelde knopen verspreid kunnen liggen en veel cache misses veroorzaken.
Antwoord: D · O(log n)
Na het verlagen van de sleutel schuift het element hoogstens de hoogte van de heap omhoog (sift-up). Fibonacci-heaps halen decrease-key in geamortiseerd O(1).
Antwoord: L = 8
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.
Snelle methode: L = 2 + Σ (d − 2) over de hoekpunten met graad d ≥ 3.
Antwoord: kant BD
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 · Kiezen welke kolommen in het resultaat verschijnen
Projectie houdt gekozen attributen over (de SELECT-lijst), terwijl selectie σ rijen overhoudt die aan een voorwaarde voldoen (de WHERE-clausule).
Antwoord: A · Hij koppelt op elke kolom met dezelfde naam, dus een nieuwe kolom kan het resultaat ongemerkt veranderen
Een natural join koppelt alle kolommen met dezelfde naam, bijvoorbeeld een niet-gerelateerde "name" of "created_at"; een expliciete ON- of USING-clausule is veiliger.
Antwoord: C · Een IP-adres samen met een poortnummer
Een TCP-verbinding wordt geïdentificeerd door bron-IP en -poort plus bestemmings-IP en -poort. Poorten onderscheiden de vele applicaties op één host.
Antwoord: B · Slachtoffers sturen verkeer voor de gateway naar de aanvaller, wat een man-in-the-middle-aanval mogelijk maakt
ARP-spoofing vergiftigt de ARP-caches van hosts met het MAC-adres van de aanvaller voor het gateway-IP. De aanvaller kan dan verkeer lezen, wijzigen of weggooien; dynamic ARP inspection helpt dit te voorkomen.
Antwoord: H = 30
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).
Antwoord: x = 206
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