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.
Stel de bits zo in dat ze −60 opslaan in 8-bits tweecomplement. Wat is de waarde U van het patroon, gelezen als getal zonder teken?
Stel de bits in op het 8-bits resultaat van 0100 1101 XOR 0100 0101. Wat is de waarde R van het resultaat in decimaal?
Welke formule is logisch equivalent met ¬(r ∧ q)? Klik erop.
De premissen p → q; ¬q zijn gegeven. Welke conclusie volgt eruit? Klik erop.
Vereenvoudig F = A′C + A′B′C′ + A′B′C + AC′ 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(4, 5, 7, 9) + d(1, 6, 8, 13), waarbij d de don’t-care-condities aangeeft. Hoeveel literals L bevat die?
Vind het kleinste positieve gehele getal x met x ≡ 2 (mod 7) en x ≡ 3 (mod 9).
73 is een priemgetal. Gebruik de kleine stelling van Fermat om 2082521 mod 73 te vinden.
Met munten van 1, 3 en 4 en een bedrag van 6: hoeveel munten gebruikt de gulzige methode "grootste munt eerst", vergeleken met het optimum?
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 hashtabel van grootte 7 gebruikt h(k) = k mod 7 en linear probing. Waar wordt 17 opgeslagen nadat 10 is ingevoegd?
Hoe lang duurt het zoeken naar een willekeurige sleutel in een binaire min-heap van n elementen?
Een samenhangende graaf heeft 8 hoekpunten en 9 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.
Welke query geeft het hoogste salaris per afdeling?
Een tabel heeft een miljoen rijen en een Booleaanse kolom is_active die voor 95% ervan TRUE is. Waarom kan de optimizer een index op is_active negeren voor WHERE is_active = TRUE?
Welke van deze is een privé-IPv4-adresbereik?
Hoe verschilt fragmentatie bij IPv6 van die bij IPv4?
Het netwerk 10.31.112.0/22 wordt verdeeld in gelijke subnetten met prefix /26. Hoeveel subnetten N zijn er?
Een host heeft het adres 172.20.186.82/18. Wat is het derde octet x van zijn netwerkadres?
Antwoord: U = 196
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.
Antwoord: R = 8
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.
XOR geeft 1 waar de twee bits verschillen.
Antwoord: ¬r ∨ ¬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 kolommen na de streep zijn de opties in de getoonde volgorde.
Antwoord: ¬p
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.
Antwoord: L = 6
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.
Er bestaat een andere groepering van dezelfde grootte; die heeft hetzelfde aantal literals.
Antwoord: L = 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.
De grootste groepen die uit enen en X’en gevormd kunnen worden.
Antwoord: x = 30
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: 2082521 mod 73 = 10
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 · Gulzig gebruikt 3 munten; het optimum is 2
Gulzig neemt 4 + 1 + 1 = 3 munten, maar 3 + 3 gebruikt er maar 2, dus gulzig is niet optimaal voor dit muntsysteem; dynamisch programmeren wel.
Antwoord: D · 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 · Index 4
10 mod 7 = 3 en 17 mod 7 = 3; index 3 is bezet, dus linear probing probeert de volgende plaats, index 4.
Antwoord: C · O(n)
Een heap geeft geen regel voor welke subboom een sleutel bevat, dus in het slechtste geval moeten alle knopen worden gecontroleerd; alleen het minimum is snel te vinden.
Antwoord: k = 2
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) = 30
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 · SELECT dept, MAX(salary) FROM emp GROUP BY dept
GROUP BY dept maakt een groep per afdeling en MAX(salary) kiest de hoogste waarde in elke groep.
Antwoord: A · De meeste rijen voldoen, dus een volledige tabelscan is goedkoper dan veel index-lookups
Een index helpt als hij de zoektocht beperkt tot weinig rijen; als de meeste rijen voldoen, kosten willekeurige index-lookups meer dan de tabel sequentieel lezen.
Antwoord: D · 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: D · Routers fragmenteren IPv6-pakketten nooit; alleen de bron kan dat, met path MTU discovery
Een IPv6-router gooit een te groot pakket weg en stuurt ICMPv6 Packet Too Big terug. De bron stuurt dan kleinere pakketten of gebruikt een fragment-extensieheader.
Antwoord: N = 16
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).
Elk /26-subnet heeft 26 − 2 = 62 bruikbare hosts.
Antwoord: x = 128
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