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 1000 1100 slaat een geheel getal met teken op in two's complement. Wat is de waarde N in decimaal?
Stel de bits in op het 8-bits resultaat van 0101 0001 OR 0001 0101. Wat is de waarde R van het resultaat in decimaal?
Je wilt b → (c ∧ a) bewijzen met de contrapositie. Welke implicatie bewijs je in plaats daarvan? Klik erop.
In hoeveel van de 16 rijen van de waarheidstabel is ((q ∨ ¬r) ∨ p) → ¬(¬s ∨ q) waar? Noem dit aantal N.
Een 4-naar-1-multiplexer heeft selectie-ingangen S₁ = A en S₀ = B, en data-ingangen gekoppeld aan I₀ = C′, I₁ = C, I₂ = C, I₃ = C′. Voor hoeveel van de 8 combinaties van A, B en C is de uitgang F = 1? Bepaal N.
Een synchrone mod-12-teller telt 0, 1, …, 11 en keert dan terug naar 0. Hij begint bij 4. Welke stand Q (decimaal) toont hij na 35 klokpulsen?
Los 12x ≡ 55 (mod 59) op. Geef de oplossing x met 0 < x < 59.
11 is een priemgetal. Gebruik de kleine stelling van Fermat om 2137743 mod 11 te vinden.
Een functie voert één lus van n iteraties uit en daarna, los daarvan, nog een lus van n iteraties. Wat is de tijdcomplexiteit?
Waarom is een opzoeking in een hashtabel gemiddeld O(1) maar in het slechtste geval O(n)?
AVL-bomen en rood-zwartbomen garanderen:
Wat is het belangrijkste voordeel van een skiplist ten opzichte van een gesorteerde gekoppelde lijst?
Hoeveel verschillende Hamiltoncircuits H heeft de volledige graaf K8? Circuits die alleen verschillen in het beginpunt of de richting tellen als hetzelfde.
Het algoritme van Dijkstra start bij A. Klik op het hoekpunt dat in ronde 5 wordt vastgelegd (definitief gemaakt); A zelf is ronde 1.
Een LEFT JOIN geeft:
Gegeven de functionele afhankelijkheden A → B, B → C en C → D op R(A, B, C, D), wat is de afsluiting A+?
Wat identificeert één eindpunt van een TCP-verbinding op het internet uniek?
De "slow start"-fase van TCP-congestiecontrole:
Het netwerk 192.168.10.0/24 moet worden verdeeld in minstens 30 gelijke subnetten. Als je zo weinig mogelijk bits leent, hoeveel bruikbare hosts H heeft elk subnet?
Een router heeft routes naar deze netwerken: 10.228.145.0/24, 10.228.146.0/24, 10.228.147.0/24, 10.228.148.0/24, 10.228.149.0/24. Wat is de langste prefixlengte p van één samenvattende route die ze allemaal dekt?
Antwoord: N = −116
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: R = 85
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.
OR geeft 1 waar minstens één bit 1 is.
Antwoord: ¬(c ∧ a) → ¬b
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 contrapositie is equivalent met de oorspronkelijke uitspraak, dus door haar te bewijzen bewijs je de uitspraak.
Antwoord: N = 5
Waarheidstabellen: een formule met n verschillende variabelen heeft 2ⁿ rijen, één voor elke combinatie van waarheidswaarden (1 = waar, 0 = onwaar). Werk van binnen naar buiten en geef elke deelformule een eigen kolom. ¬a draait de waarde om; a ∧ b is alleen 1 als beide 1 zijn; a ∨ b is alleen 0 als beide 0 zijn; a → b is alleen 0 als a = 1 en b = 0; a ↔ b is 1 als beide kanten gelijk zijn.
Antwoord: N = 4
Multiplexer: een 2ⁿ-naar-1-multiplexer geeft één van zijn data-ingangen door aan de uitgang; de selectielijnen, gelezen als binair getal, kiezen welke. Voor een 4-naar-1-MUX met selecties S₁S₀ = AB is F = A′B′·I₀ + A′B·I₁ + AB′·I₂ + AB·I₃. Door de data-ingangen aan 0, 1, C of C′ te koppelen, maakt de MUX elke functie van A, B en C, wat een veelgebruikte manier is om logica met één chip te bouwen.
Antwoord: Q = 3
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 12 pulsen brengen de teller terug in dezelfde toestand.
Antwoord: x = 39
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).
Antwoord: 2137743 mod 11 = 10
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: C · O(n)
n + n = 2n, en constante factoren vallen weg, dus de functie is O(n).
Antwoord: D · Veel sleutels kunnen in dezelfde bucket botsen
Met een goede hashfunctie en bezettingsgraad (load factor) blijven buckets gemiddeld kort; kwaadwillende of slechte hashing kan alle sleutels in één bucket stoppen.
Antwoord: C · Een hoogte van O(log n) door herbalancering
Zelfbalancerende bomen houden de hoogte logaritmisch, zodat zoeken, invoegen en verwijderen in het slechtste geval O(log n) zijn.
Antwoord: B · Verwacht zoeken in O(log n) door meerdere niveaus van voorwaartse pointers
Willekeurige niveaus laten zoekacties veel knopen overslaan, wat verwacht O(log n) oplevert voor zoeken, invoegen en verwijderen.
Antwoord: H = 2520
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: E
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: B · Alle rijen uit de linkertabel en de overeenkomende rijen uit de rechtertabel, met NULLs waar er geen overeenkomst is
Een left outer join behoudt elke linkerrij; rechterkolommen zonder overeenkomst worden met NULL gevuld.
Antwoord: D · {A, B, C, D}
Begin met A, voeg B toe (A → B), dan C (B → C), dan D (C → D); omdat A+ alle attributen bevat, is A een sleutel.
Antwoord: B · 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: D · Vergroot het congestievenster exponentieel tot een drempelwaarde of verlies
Slow start laat het congestievenster exponentieel groeien; na de drempelwaarde laat congestion avoidance het lineair groeien, en verlies verkleint het.
Antwoord: H = 6
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: p = 21
Routesamenvatting: een samenvattende route a.b.c.0/p dekt alle netwerken waarvan de eerste p bits overeenkomen. Schrijf het octet dat verschilt van het eerste en het laatste netwerk binair; het aantal gemeenschappelijke voorste bits, plus de bits van de octetten ervoor, is het langste samenvattende prefix.
Samenvattende route: 10.228.144.0/21 (die dekt ook 3 netwerk(en) die niet in de lijst staan).
ExamProblems · examproblems.com/courses/computer-science-fundamentals