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 0101 1001 slaat een geheel getal met teken op in two's complement. Wat is de waarde N in decimaal?
Stel de bits in op het 8-bits resultaat van 1110 1010 >> 1. Wat is de waarde R van het resultaat in decimaal?
Je wilt ¬c → (a ∧ b) bewijzen uit het ongerijmde. Welke uitspraak neem je aan het begin aan? Klik erop.
Welke uitspraak is equivalent met ¬∃x (P(x) ∧ Q(x)), met de ontkenning helemaal naar binnen geschoven? Klik erop.
Vereenvoudig F = AB′C′ + A′B′C + BC tot zijn minimale som-van-productenvorm. Hoeveel literals L bevat de vereenvoudigde uitdrukking?
Bepaal de minimale SOP-vorm van F(A, B, C, D) = Σm(3, 7, 10, 13, 15) + d(0, 2, 9), waarbij d de don’t-care-condities aangeeft. Hoeveel literals L bevat die?
Los 24x ≡ 60 (mod 71) op. Geef de oplossing x met 0 < x < 71.
59 is een priemgetal. Gebruik de kleine stelling van Fermat om 1926529 mod 59 te vinden.
Wat is de oplossing van de recurrente betrekking T(n) = 2T(n/2) + O(1)?
Het algoritme van Strassen vermenigvuldigt matrices met 7 in plaats van 8 recursieve vermenigvuldigingen van blokken van halve grootte. Wat is de looptijd?
Hoe lang duurt het om met een adjacency matrix te controleren of de kant (u, v) bestaat?
Een dynamische array verdubbelt als hij vol is. Waarom verkleinen veel implementaties hem pas als hij voor een kwart vol is, en niet voor de helft?
Heeft de samenhangende graaf een Eulercircuit, een Eulerpad dat geen circuit is, of geen van beide? Klik op je antwoord.
Het algoritme van Dijkstra start bij A. Klik op het hoekpunt dat in ronde 4 wordt vastgelegd (definitief gemaakt); A zelf is ronde 1.
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:
Een gecorreleerde subquery is een subquery die:
Welke van deze is een privé-IPv4-adresbereik?
Een TCP-verbinding heeft een venster van 64 KB en een round-trip time van 100 ms, zonder window scaling. Wat is ongeveer de maximale doorvoer?
Het netwerk 192.168.10.0/24 moet worden verdeeld in minstens 5 gelijke subnetten. Als je zo weinig mogelijk bits leent, hoeveel bruikbare hosts H heeft elk subnet?
Een host heeft het adres 172.20.128.193/19. Wat is het derde octet x van het broadcastadres van zijn subnet?
Antwoord: N = 89
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: R = 117
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.
Naar rechts schuiven met 1 verplaatst elke bit 1 plaatsen naar rechts; bits die rechts uit beeld vallen gaan verloren en links komen nullen binnen.
Antwoord: ¬c ∧ ¬(a ∧ b)
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).
Als de aanname tot een tegenspraak leidt, moet de implicatie waar zijn.
Antwoord: ∀x (P(x) → ¬Q(x))
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 = 7
Booleaanse algebra: de regels die uitdrukkingen vereenvoudigen zijn X + X′ = 1 en X·X′ = 0, X + X = X, absorptie X + X·Y = X, de samenvoegregel X·Y + X·Y′ = X, X + X′Y = X + Y en de consensusstelling XY + X′Z + YZ = XY + X′Z. De wetten van De Morgan veranderen (X·Y)′ in X′ + Y′ en (X + Y)′ in X′·Y′. Een Karnaugh-kaart past deze regels grafisch toe: elke groep van twee naburige cellen is één toepassing van XY + XY′ = X.
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.
De grootste groepen die uit enen en X’en gevormd kunnen worden.
Antwoord: x = 38
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: 1926529 mod 59 = 16
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(n)
Volgens het mastertheorema domineert nlog₂ 2 = n het constante werk, dus T(n) = Θ(n), zoals bij het vinden van een maximum door in helften te splitsen.
Antwoord: A · Θ(nlog₂ 7), ongeveer n2,81
Met a = 7 en b = 2 domineert nlog₂ 7 het O(n²)-optelwerk, wat ongeveer n2,81 geeft.
Antwoord: D · O(1)
Het matrixelement in rij u, kolom v vertelt je meteen of de kant bestaat; bij een adjacency list moet je mogelijk de buren van u doorzoeken.
Antwoord: D · Om herhaald vergroten en verkleinen te voorkomen als pushes en pops elkaar bij de grens afwisselen
Verkleinen bij de helft zou in zo'n reeks bij elke bewerking een resize kunnen veroorzaken; de ruimte tussen 1/4 en vol houdt de geamortiseerde kosten O(1).
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: E
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: D · 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: D · Verwijst naar kolommen van de buitenste query en per buitenste rij wordt geëvalueerd
Gecorreleerde subqueries hangen af van de huidige buitenste rij en worden dus logisch per rij geëvalueerd (optimizers kunnen ze herschrijven als joins).
Antwoord: A · 192.168.0.0/16
Privébereiken zijn 10.0.0.0/8, 172.16.0.0/12 en 192.168.0.0/16; ze worden niet gerouteerd op het publieke internet.
Antwoord: B · Ongeveer 5 Mbit/s
Doorvoer ≤ venster / RTT = 65,536 × 8 bits / 0,1 s ≈ 5,2 Mbit/s, hoe snel de verbinding ook is.
Antwoord: H = 30
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 = 159
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