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 1010 1001 slaat een geheel getal met teken op in two's complement. Wat is de waarde N in decimaal?
Een systeem moet elk van 1284 items een eigen binaire code van gelijke lengte geven. Wat is het kleinste aantal bits b dat nodig is?
Je wilt ¬p → r bewijzen met de contrapositie. Welke implicatie bewijs je in plaats daarvan? Klik erop.
In hoeveel van de 16 rijen van de waarheidstabel is (p ∨ (p → ¬q)) → ((s ↔ ¬r) ↔ q) waar? Noem dit aantal N.
Gebruik de Karnaugh-kaart om de minimale som-van-productenvorm (SOP) van F(A, B, C, D) = Σm(0, 1, 6, 7, 9, 11) te vinden. Hoeveel literals L bevat die in totaal (een variabele met accent telt als één literal)?
Een T-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.
Los 7x ≡ 9 (mod 30) op. Geef de oplossing x met 0 < x < 30.
71 is een priemgetal. Gebruik de kleine stelling van Fermat om 185547 mod 71 te vinden.
Waarom levert dynamisch programmeren geen echte versnelling op voor mergesort?
Topologisch sorteren is alleen mogelijk voor:
Wat is de waarde van de postfixexpressie 3 4 + 2 * ?
Wat is onder simple uniform hashing de verwachte zoektijd in een hashtabel met chaining, n sleutels en m buckets?
Een samenhangende graaf heeft 15 hoekpunten en 25 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.
Een tabel slaat het adres van de klant op in elke bestelrij. Het adres in één rij wijzigen maar niet in de andere is een voorbeeld van:
Er is een samengestelde index op (last_name, first_name). Welke voorwaarde kan die het effectiefst gebruiken?
Welk bereik van TCP/UDP-poortnummers is gereserveerd als "well-known" poorten?
Een remote-terminalapplicatie voelt traag aan omdat kleine pakketten met toetsaanslagen worden tegengehouden. Welk TCP-mechanisme is hier vaak verantwoordelijk voor?
Een subnet gebruikt het masker 255.255.255.252. Hoeveel bruikbare hostadressen H heeft het?
Het netwerk 192.168.15.0/24 wordt met VLSM verdeeld over deze LAN’s: A: 13 hosts, B: 27 hosts, C: 32 hosts, D: 120 hosts. Subnetten worden vanaf .0 omhoog toegewezen, het LAN met de meeste hosts eerst, elk met het kleinste subnet dat past. Wat is het vierde octet x van het netwerkadres van LAN B?
Antwoord: N = −87
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 = 11 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: ¬r → ¬¬p
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 = 8
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: L = 9
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 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.
Een T-flip-flop wisselt bij elke stijgende flank met T = 1 en houdt vast met T = 0.
Antwoord: x = 27
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: 185547 mod 71 = 2
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: D · Gerichte acyclische grafen (DAG)
Een topologische volgorde bestaat dan en slechts dan als de gerichte graaf geen cycli heeft; die is te vinden in O(V + E) met DFS of het algoritme van Kahn.
Antwoord: D · 14
Push 3 en 4, + geeft 7; push 2, * geeft 7 × 2 = 14.
Antwoord: C · O(1 + α), waarbij α = n / m
Het berekenen van de hash kost O(1) en de verwachte ketenlengte is α, dus α begrensd houden door de tabel te vergroten geeft een verwachte tijd van O(1).
Antwoord: k = 11
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) = 12
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: B · Een update-anomalie
Redundante opslag betekent dat één wijziging in veel rijen moet worden doorgevoerd; als er rijen worden overgeslagen, worden de gegevens inconsistent, wat normalisatie voorkomt.
Antwoord: C · WHERE last_name = 'Jansen'
Een samengestelde B-tree-index is geordend op last_name en daarna op first_name, dus zoeken op de voorste kolom werkt, maar first_name alleen kan de ordening niet gebruiken.
Antwoord: B · 0–1023
Poorten 0–1023 zijn well-known poorten voor standaarddiensten. 1024–49151 zijn geregistreerde poorten en 49152–65535 dynamische of privépoorten.
Antwoord: A · Het algoritme van Nagle
Het algoritme van Nagle wacht met kleine segmenten om ze te bundelen zolang eerdere data onbevestigd is. Dat bespaart bandbreedte, maar geeft extra vertraging bij interactief verkeer.
Antwoord: H = 2
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 = 192
VLSM: elk LAN krijgt het kleinste subnet met 2ʰ − 2 ≥ het aantal hosts, dus prefix 32 − h. Door de grootste subnetten eerst toe te wijzen begint elk blok op een veelvoud van zijn eigen grootte, zodat de netwerkadressen volgen door de blokgroottes op te tellen.
LAN B: 192.168.15.192/27.
ExamProblems · examproblems.com/courses/computer-science-fundamentals