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 1110 1110 slaat een geheel getal met teken op in two's complement. Wat is de waarde N in decimaal?
Een systeem moet elk van 4847 items een eigen binaire code van gelijke lengte geven. Wat is het kleinste aantal bits b dat nodig is?
Je wilt (p ∨ q) → r bewijzen met de contrapositie. Welke implicatie bewijs je in plaats daarvan? Klik erop.
Welke uitspraak is equivalent met ¬∀x ∃y R(x, y), met de ontkenning helemaal naar binnen geschoven? Klik erop.
Gebruik de Karnaugh-kaart om de minimale som-van-productenvorm (SOP) van F(A, B, C, D) = Σm(1, 6, 7, 8, 9, 14) te vinden. Hoeveel literals L bevat die in totaal (een variabele met accent telt als één literal)?
Een 4-bits ringteller Q₃Q₂Q₁Q₀ begint bij 1100. Bij elke klokflank schuiven de bits één plaats naar rechts (Q₃ → Q₂ → Q₁ → Q₀) en krijgt Q₃ de waarde van Q₀. Geef de toestand Q = Q₃Q₂Q₁Q₀ als decimaal getal na 5 klokflanken.
Vind de inverse van 13 modulo 33: het getal x met 0 < x < 33 en 13·x ≡ 1 (mod 33).
Hoeveel oplossingen N heeft 12x ≡ 52 (mod 58) in {0, 1, …, 57}?
Welke gulzige regel geeft bij het activiteitenselectieprobleem altijd een maximaal aantal niet-overlappende activiteiten?
Wat zijn de tijd- en ruimtekosten van het berekenen van het n-de Fibonaccigetal met een lus die alleen de laatste twee waarden bewaart?
Een circulaire buffer (ring buffer) wordt vaak gebruikt om het volgende te implementeren:
Waarom gebruiken databases voor indexen vaak B+-bomen in plaats van gewone B-bomen?
Een samenhangende graaf heeft 7 hoekpunten en 16 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 COALESCE(phone, 'unknown') FROM customers terug voor een klant van wie phone NULL is?
Welk joinalgoritme kiest een optimizer vaak voor een gelijkheidsjoin tussen twee grote tabellen zonder bruikbare indexen?
Welke TCP-vlag geeft aan dat een zender klaar is met het verzenden van data?
Wat doet TCP fast retransmit?
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 host heeft het adres 10.20.183.141/28. Wat is het vierde octet x van zijn netwerkadres?
Antwoord: N = −18
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 = 13 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 ∨ 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 contrapositie is equivalent met de oorspronkelijke uitspraak, dus door haar te bewijzen bewijs je de uitspraak.
Antwoord: ∃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 = 12
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: Q = 6
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: 13−1 mod 33 = 28
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·13 (mod 33).
Antwoord: N = 2
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: A · Kies de activiteit die het vroegst eindigt en herhaal dat met de compatibele activiteiten
Dat het kiezen van de vroegste eindtijd optimaal is, kan worden bewezen met een uitwisselingsargument; voor de andere regels bestaan tegenvoorbeelden.
Antwoord: B · O(n) tijd en O(1) ruimte
Elke stap heeft alleen de twee vorige waarden nodig, dus de tabel van de bottom-upmethode kan door twee variabelen worden vervangen.
Antwoord: A · Een wachtrij met vaste grootte
Een ringbuffer gebruikt head- en tail-indices die rondlopen, wat enqueue en dequeue in O(1) oplevert met vast geheugen.
Antwoord: A · Alle records staan in gekoppelde bladeren, wat bereikscans efficiënt maakt
In een B+-boom sturen interne knopen alleen de zoektocht en zijn de bladeren in sleutelvolgorde gekoppeld, zodat een bereikquery de eerste sleutel vindt en dan langs de bladeren loopt.
Antwoord: k = 10
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) = 38
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: A · 'unknown'
COALESCE controleert zijn argumenten van links naar rechts en geeft het eerste terug dat niet NULL is, hier 'unknown'.
Antwoord: B · Hash join
Een hash join bouwt een hashtabel op één invoer en doorzoekt die met de andere, wat goed werkt voor grote equi-joins zonder indexen.
Antwoord: C · FIN
Elke kant stuurt FIN als hij geen data meer heeft, en de andere kant bevestigt dat. SYN dient om een verbinding te openen; RST breekt er een af.
Antwoord: D · Een segment opnieuw versturen na drie dubbele ACK's, zonder op de time-out te wachten
Drie dubbele ACK's wijzen sterk op één verloren segment, dus TCP verstuurt het meteen opnieuw. Dit herstelt veel sneller dan wachten op de retransmissietimer.
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: x = 128
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