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 1001 0100 slaat een geheel getal met teken op in two's complement. Wat is de waarde N in decimaal?
Een ongecomprimeerde afbeelding is 1920 × 1080 pixels met 8 bits per pixel. Hoeveel geheugen M kost die, in KiB (1 KiB = 1024 bytes)?
In hoeveel van de 8 rijen van zijn waarheidstabel is ¬(((r → p) ∧ q) ∨ ¬(r ↔ q)) waar? Noem dit aantal N.
In hoeveel van de 16 rijen van de waarheidstabel is (q ∧ ¬r) ∨ (¬(r → p) ↔ (s → ¬p)) waar? Noem dit aantal N.
Gebruik de Karnaugh-kaart om de minimale som-van-productenvorm (SOP) van F(A, B, C) = Σm(2, 3, 4, 6) te vinden. Hoeveel literals L bevat die in totaal (een variabele met accent telt als één literal)?
Bepaal de minimale SOP-vorm van F(A, B, C, D) = Σm(4, 5, 6, 9) + d(1, 2, 11), waarbij d de don’t-care-condities aangeeft. Hoeveel literals L bevat die?
Vind de inverse van 83 modulo 99: het getal x met 0 < x < 99 en 83·x ≡ 1 (mod 99).
Een RSA-sleutel gebruikt p = 17, q = 29 en e = 23. Ontsleutel de cijfertekst c = 431: bepaal het bericht m.
Wat is de tijdcomplexiteit van: for i = 1 to n: for j = 1 to i: doe O(1) werk?
Een probleem is NP-volledig als het:
Hoe lang duurt het zoeken naar een woord met lengte L in een trie met een vast alfabet?
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 Dijkstra start bij A. Klik op het hoekpunt dat in ronde 4 wordt vastgelegd (definitief gemaakt); A zelf is ronde 1.
Tabel a heeft 3 rijen en tabel b heeft 4 rijen. Hoeveel rijen geeft SELECT * FROM a CROSS JOIN b terug?
Een gecorreleerde subquery is een subquery die:
Een router heeft routes voor 10.0.0.0/8 en 10.1.0.0/16. Welke route gebruikt hij voor een pakket naar 10.1.5.5?
Een DNS-cache-poisoningaanval heeft als doel:
Een subnet gebruikt het masker 255.255.248.0. Hoeveel bruikbare hostadressen H heeft het?
Een host heeft het adres 172.20.191.59/23. Wat is het derde octet x van het broadcastadres van zijn subnet?
Antwoord: N = −108
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 = 2025 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 = 3
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 = 11
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: 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.
Elke groep is een rechthoek van 2ᵏ cellen; randcellen zijn buren van de cellen op de tegenoverliggende rand.
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.
Er bestaat een andere groepering van dezelfde grootte; die heeft hetzelfde aantal termen en literals.
Antwoord: 83−1 mod 99 = 68
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·83 (mod 99).
Antwoord: m = 82
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: C · O(n²)
De binnenste body wordt in totaal n(n + 1) / 2 keer uitgevoerd, en dat is nog steeds kwadratisch.
Antwoord: C · In NP zit en elk NP-probleem er in polynomiale tijd naar te reduceren is
NP-volledige problemen zijn de moeilijkste in NP; een polynomiaal algoritme voor één ervan zou er een opleveren voor heel NP.
Antwoord: D · O(L), onafhankelijk van hoeveel woorden er zijn opgeslagen
Elk teken kiest één kind, dus opzoeken kost L stappen, ongeacht hoeveel woorden de trie bevat.
Antwoord: D · 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: geen van beide
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: C
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 · 12
Een cross join geeft het cartesisch product, 3 × 4 = 12 rijen.
Antwoord: C · 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 · 10.1.0.0/16, omdat dat de langste overeenkomende prefix is
IP-forwarding gebruikt longest prefix match: van alle routes die bij de bestemming passen, wordt die met het langste masker gekozen.
Antwoord: A · Een resolver een vals IP-adres voor een domein te laten opslaan
Poisoning voegt vervalste records toe aan de cache van een resolver. DNSSEC voegt handtekeningen toe zodat resolvers records kunnen verifiëren.
Antwoord: H = 2046
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).
Antwoord: x = 191
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