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.
Schrijf −16 als 8-bits patroon in two's complement. Lees het patroon als binair getal zonder teken: wat is de waarde U in decimaal?
Een ongecomprimeerde afbeelding is 512 × 512 pixels met 8 bits per pixel. Hoeveel geheugen M kost die, in KiB (1 KiB = 1024 bytes)?
Is (b → a) ↔ (a → b) een tautologie, een contradictie of een contingentie? Klik op je antwoord.
In hoeveel van de 16 rijen van de waarheidstabel is (a ∨ c) ↔ (d ↔ (¬b ∨ c)) 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.
Bepaal de minimale SOP-vorm van F(A, B, C, D) = Σm(1, 2, 4, 8, 11, 13) + d(3, 5, 10), waarbij d de don’t-care-condities aangeeft. Hoeveel productermen N heeft die?
Vind de inverse van 51 modulo 59: het getal x met 0 < x < 59 en 51·x ≡ 1 (mod 59).
31 is een priemgetal. Gebruik de kleine stelling van Fermat om 2915088 mod 31 te vinden.
Wat is de oplossing van de recurrente betrekking T(n) = 2T(n − 1) + O(1)?
Welke uitspraak over het selecteren van het k-de kleinste element van een ongesorteerde array is juist?
Waarom kan een binaire heap zonder pointers in een array worden opgeslagen?
Wat zijn, zonder union by rank of path compression, de kosten in het slechtste geval van één find in een union-findstructuur met n elementen?
Heeft de samenhangende graaf een Eulercircuit, een Eulerpad dat geen circuit is, of geen van beide? Klik op je antwoord.
Het algoritme van Prim bouwt een minimaal opspannende boom vanaf hoekpunt B. Klik op de kant die het toevoegt als kant nummer 2.
Welke query geeft het aantal bestellingen per klant?
Waarom wordt NATURAL JOIN als riskant beschouwd in productiequery's?
Met welke CIDR-notatie komt het subnetmasker 255.255.255.0 overeen?
De "slow start"-fase van TCP-congestiecontrole:
Een afdeling heeft 1920 hostadressen nodig in één subnet. Wat is de langste prefixlengte p (kleinste subnet) die groot genoeg is?
Een router heeft routes naar deze netwerken: 10.116.231.0/24, 10.116.232.0/24. Wat is de langste prefixlengte p van één samenvattende route die ze allemaal dekt?
Antwoord: U = 240
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: M = 256 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: contingentie
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).
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: AB = 00, CD = 00
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: N = 5
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: 51−1 mod 59 = 22
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·51 (mod 59).
Antwoord: 2915088 mod 31 = 8
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: A · O(2ⁿ)
Het aantal aanroepen verdubbelt per niveau en er zijn n niveaus, dus het totaal is ongeveer 2ⁿ, zoals bij de Torens van Hanoi.
Antwoord: C · Quickselect loopt verwacht in O(n), en median-of-medians garandeert O(n) in het slechtste geval
Het verwachte werk van quickselect is n + n/2 + n/4 + ... = O(n) met willekeurige pivots; door de pivot te kiezen als mediaan van medianen wordt het slechtste geval lineair.
Antwoord: C · Het is een complete binaire boom, dus posities volgen eenvoudige indexformules
Compleetheid betekent dat er geen gaten zijn, dus de kinderen van index i staan altijd op 2i + 1 en 2i + 2.
Antwoord: B · O(n)
Naïeve unions kunnen bomen tot een lange keten koppelen, zodat find n − 1 ouderpointers kan moeten volgen; de twee heuristieken brengen het bijna op constante tijd.
Antwoord: Eulercircuit
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: kant AB
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: A · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
GROUP BY customer_id maakt één groep per klant, en COUNT(*) telt de rijen in elke groep.
Antwoord: D · Hij koppelt op elke kolom met dezelfde naam, dus een nieuwe kolom kan het resultaat ongemerkt veranderen
Een natural join koppelt alle kolommen met dezelfde naam, bijvoorbeeld een niet-gerelateerde "name" of "created_at"; een expliciete ON- of USING-clausule is veiliger.
Antwoord: B · /24
Drie octetten van 255 zijn 24 enen, dus 255.255.255.0 = /24.
Antwoord: B · 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: 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: p = 20
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.116.224.0/20 (die dekt ook 14 netwerk(en) die niet in de lijst staan).
ExamProblems · examproblems.com/courses/computer-science-fundamentals