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 −77 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 0011 0010 XOR 0111 1111. Wat is de waarde R van het resultaat in decimaal?
Welke formule is logisch equivalent met (r ∨ p) → q? Klik erop.
In hoeveel van de 16 rijen van de waarheidstabel is ((a ∨ d) → c) → ((¬c ∨ d) → ¬b) waar? Noem dit aantal N.
In deze Karnaugh-kaart heeft precies één 1 geen naburige 1, dus hij blijft een groep van één cel (een volledige minterm van vier literals) in de minimale SOP-vorm. Buren over de randen van de kaart tellen mee. Klik op die cel.
Een 6-bits ripple-teller (asynchroon) is gebouwd met flip-flops met een voortplantingsvertraging van 12 ns elk. Alle uitgangen moeten stabiel zijn vóór de volgende klokflank. Bepaal de maximale klokfrequentie fmax.
Vind de inverse van 29 modulo 31: het getal x met 0 < x < 31 en 29·x ≡ 1 (mod 31).
Versleutel het bericht m = 129 met de publieke RSA-sleutel (n, e) = (187, 7). Bepaal de cijfertekst c.
Dynamisch programmeren is nuttig wanneer een probleem het volgende heeft:
Welke definitie van de klasse NP is juist?
Welk abstract datatype gebruikt het algoritme van Dijkstra om de volgende te verwerken knoop te kiezen?
Welk probleem van linear probing vermindert double hashing vooral?
Een samenhangende graaf heeft 14 hoekpunten en 20 kanten. Hoeveel kanten k moeten worden verwijderd om een opspannende boom over te houden?
Gebruik het algoritme van Dijkstra om de lengte d(F) van het kortste pad van A naar F in de gewogen graaf te vinden.
Wat geeft SELECT name, CASE WHEN grade >= 5,5 THEN 'pass' ELSE 'fail' END FROM results terug?
x is NULL en y = 1. Wat is de waarde van de voorwaarde (x > 5 OR y = 1)?
Welke host zit in hetzelfde /16-subnet als 10.1.2.3?
Een firewall blokkeert al het ICMP-verkeer. Kleine webverzoeken werken, maar grote downloads over sommige paden lopen vast. Wat is de waarschijnlijke oorzaak?
Het netwerk 192.168.154.0/24 wordt verdeeld in /28-subnetten, genummerd 1, 2, 3, … vanaf het laagste adres (subnet 1 begint bij .0). Wat is het vierde octet x van het netwerkadres van subnet 7?
Een host heeft het adres 172.20.157.27/23. Wat is het derde octet x van het broadcastadres van zijn subnet?
Antwoord: U = 179
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 = 77
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 → q) ∧ (p → q)
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: N = 13
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: AB = 11, CD = 11
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.
Een 1 met een naburige 1 kan deel uitmaken van een groep van twee of meer.
Antwoord: fmax = 13,89 MHz
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.
Antwoord: 29−1 mod 31 = 15
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·29 (mod 31).
Antwoord: c = 90
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 · Overlappende deelproblemen en optimale substructuur
Het opslaan van resultaten van overlappende deelproblemen (memoisatie of tabulatie) voorkomt herhaald werk en maakt van exponentiële algoritmen polynomiale.
Antwoord: A · Beslissingsproblemen waarvan ja-antwoorden met een certificaat in polynomiale tijd kunnen worden geverifieerd
Bij een NP-probleem kan een voorgestelde oplossing (certificaat) snel worden gecontroleerd, bijvoorbeeld verifiëren dat een gegeven toekenning een booleaanse formule vervult.
Antwoord: C · Een min-prioriteitswachtrij
Een min-prioriteitswachtrij, meestal een binaire heap, geeft efficiënt de onbezochte knoop met de kleinste afstand terug.
Antwoord: D · Primaire clustering, waarbij lange reeksen bezette plaatsen ontstaan
Linear probing zet stappen van 1, zodat bezette reeksen groeien en samensmelten; double hashing gebruikt een tweede hash voor de stapgrootte, zodat verschillende sleutels verschillende reeksen aftasten.
Antwoord: k = 7
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: d(F) = 27
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.
Elke regel: het vastgelegde hoekpunt, zijn definitieve afstand en de buren waarvan de afstand verbetert.
Antwoord: C · Elke naam met het label 'pass' of 'fail', afhankelijk van het cijfer
Een CASE-expressie evalueert haar voorwaarden per rij en geeft de bijbehorende waarde terug, zodat elke rij een label krijgt.
Antwoord: A · TRUE
x > 5 is UNKNOWN, maar OR met TRUE is hoe dan ook TRUE, dus de rij blijft behouden; UNKNOWN AND FALSE zou op dezelfde manier FALSE zijn.
Antwoord: C · 10.1.200.5
Bij /16 vormen de eerste 16 bits (10,1) het netwerkdeel. Alleen 10.1.200.5 deelt die, dus die zit op 10.1.0.0/16.
Antwoord: B · Path MTU discovery mislukt omdat "fragmentation needed"-berichten worden geblokkeerd
PMTUD is afhankelijk van ICMP-berichten om de kleinere MTU te leren. Als die worden weggegooid, verdwijnen grote pakketten stilletjes, wat een "black hole"-verbinding oplevert.
Antwoord: x = 96
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).
Antwoord: x = 157
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).
ExamProblems · examproblems.com/courses/computer-science-fundamentals