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 1111 slaat een geheel getal met teken op in two's complement. Wat is de waarde N in decimaal?
Een ongecomprimeerde afbeelding is 256 × 256 pixels met 24 bits per pixel. Hoeveel geheugen M kost die, in KiB (1 KiB = 1024 bytes)?
In hoeveel van de 8 rijen van zijn waarheidstabel is (¬p → ¬r) ∧ (q → r) waar? Noem dit aantal N.
In hoeveel van de 16 rijen van de waarheidstabel is ((q ∨ r) ∨ ¬s) ∧ (q → (r ∧ p)) waar? Noem dit aantal N.
Gebruik de Karnaugh-kaart om de minimale som-van-productenvorm (SOP) van F(A, B, C, D) = Σm(0, 2, 3, 4, 8, 10, 13) te vinden. Hoeveel productermen N heeft die?
Bepaal de minimale SOP-vorm van F(A, B, C, D) = Σm(4, 5, 7, 10, 12, 13) + d(0, 6, 15), waarbij d de don’t-care-condities aangeeft. Hoeveel productermen N heeft die?
Bepaal Eulers φ φ(57), het aantal gehele getallen van 1 tot 57 die onderling ondeelbaar zijn met 57.
Een RSA-sleutel gebruikt de priemgetallen p = 31 en q = 47 en de publieke exponent e = 7. Bepaal de privé-exponent d (0 < d < φ(n)).
Breedte-eerst zoeken (BFS) op een ongewogen graaf vindt:
Welk algoritme vindt een minimaal opspannende boom door herhaaldelijk de goedkoopste kant toe te voegen die geen cyclus vormt?
Hoe wordt een nieuw element in een binaire heap ingevoegd?
Welk probleem van linear probing vermindert double hashing vooral?
Een boom heeft 3 hoekpunten van graad 3, 2 hoekpunten van graad 4, 3 hoekpunten van graad 2, en al zijn andere hoekpunten zijn bladeren (graad 1). Hoeveel bladeren L heeft hij?
Bepaal het totale gewicht W van een minimaal opspannende boom van de gewogen graaf.
Welke ACID-eigenschap betekent dat gelijktijdige transacties elkaars onvoltooide wijzigingen niet zien?
De scores zijn 90, 90 en 80. Welke waarden geeft RANK() OVER (ORDER BY score DESC)?
NAT (network address translation) wordt vooral gebruikt om:
Een gebruiker kan 8.8.8.8 pingen, maar geen enkele website op naam openen. Waar zit het probleem het waarschijnlijkst?
Een afdeling heeft 1991 hostadressen nodig in één subnet. Wat is de langste prefixlengte p (kleinste subnet) die groot genoeg is?
Een host heeft het adres 172.20.45.145/20. Wat is het derde octet x van zijn netwerkadres?
Antwoord: N = −81
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: M = 192 KiB
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: N = 4
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 = 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: N = 4
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: N = 3
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.
De grootste groepen die uit enen en X’en gevormd kunnen worden.
Er bestaat een andere groepering van dezelfde grootte; die heeft hetzelfde aantal termen en literals.
Antwoord: φ(57) = 36
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: d = 1183
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 · Kortste paden in aantal kanten vanaf de startknoop
BFS bezoekt knopen in volgorde van afstand (in kanten) tot de bron en vindt daardoor kortste ongewogen paden in O(V + E).
Antwoord: C · Het algoritme van Kruskal
Kruskal sorteert kanten op gewicht en voegt ze toe als ze verschillende componenten verbinden; Prim laat één boom groeien vanuit een startknoop.
Antwoord: A · Plaats het aan het eind van de array en laat het omhoog zakken (sift up) zolang het de heap-eigenschap schendt
Toevoegen aan het eind houdt de boom compleet; verwisselen met de ouder herstelt de ordening in O(log n) stappen.
Antwoord: C · 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: L = 9
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: W = 43
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: C · Isolatie (isolation)
Isolatie houdt gelijktijdige transacties gescheiden; isolatieniveaus bepalen hoe streng dat wordt afgedwongen.
Antwoord: A · 1, 1, 3
RANK geeft gelijke rijen dezelfde rang en slaat de volgende nummers over (1, 1, 3); DENSE_RANK zou 1, 1, 2 geven.
Antwoord: B · Veel apparaten met privéadressen één publiek IP-adres te laten delen
NAT herschrijft adressen (en poorten) zodat privénetwerken via een kleiner aantal publieke adressen toegang hebben tot het internet.
Antwoord: C · Naamresolutie (DNS)
Een geslaagde ping naar een extern IP bewijst dat bekabeling, adressering en routering werken. Falende namen wijzen op een probleem met de DNS-server of de resolverinstelling.
Antwoord: p = 21
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 = 32
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