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 −107 opslaan in 8-bits tweecomplement. Wat is de waarde U van het patroon, gelezen als getal zonder teken?
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 (q ∧ r) ∨ (¬r → (p ↔ q)) waar? Noem dit aantal N.
Welke uitspraak is equivalent met ¬∀x (A(x) → B(x)), met de ontkenning helemaal naar binnen geschoven? Klik erop.
Gebruik de Karnaugh-kaart om de minimale product-van-sommenvorm (POS) van F(A, B, C, D) = Σm(0, 1, 2, 4, 10, 12) te vinden. Hoeveel somtermen (factoren) N heeft die?
Bepaal de minimale SOP-vorm van F(A, B, C, D) = Σm(0, 6, 7, 8, 10, 11, 15) + d(3, 9, 12), waarbij d de don’t-care-condities aangeeft. Hoeveel productermen N heeft die?
Bepaal Eulers φ φ(845), het aantal gehele getallen van 1 tot 845 die onderling ondeelbaar zijn met 845.
61 is een priemgetal. Gebruik de kleine stelling van Fermat om 380689 mod 61 te vinden.
Wat is de oplossing van de recurrente betrekking T(n) = 2T(n/2) + O(1)?
Als je beide eindpunten van elke kant in een maximale koppeling neemt, krijg je een knoopoverdekking. Hoe goed is deze overdekking?
Een knoop in een binaire zoekboom heeft een rechtersubboom. Waar staat zijn inorder-opvolger?
Met welke structuur bereken je het maximum van elk venster van grootte k in een array in totaal O(n)?
Heeft de samenhangende graaf een Eulercircuit, een Eulerpad dat geen circuit is, of geen van beide? Klik op je antwoord.
Hoeveel gesloten wandelingen van lengte 3 beginnen en eindigen bij D? Een wandeling mag hoekpunten en kanten herhalen. Noem het aantal N.
Een tabel employees heeft een kolom manager_id die naar een andere werknemer verwijst. Hoe toon je elke werknemer naast de naam van zijn manager?
Wat geeft een FULL OUTER JOIN terug?
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?
Waarom kiest TCP voor elke verbinding een onvoorspelbaar initieel volgnummer?
Het netwerk 192.168.10.0/24 moet worden verdeeld in minstens 8 gelijke subnetten. Als je zo weinig mogelijk bits leent, hoeveel bruikbare hosts H heeft elk subnet?
Een host heeft het adres 172.20.191.130/18. Wat is het derde octet x van zijn netwerkadres?
Antwoord: U = 149
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: 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 = 6
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: ∃x (A(x) ∧ ¬B(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: 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 = 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: φ(845) = 624
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: 380689 mod 61 = 41
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 · Hoogstens twee keer zo groot als een minimale knoopoverdekking
De koppelingskanten delen geen knopen, dus het optimum heeft minstens één knoop per kant nodig, terwijl deze methode er twee neemt: een 2-benadering.
Antwoord: C · De meest linkse knoop van zijn rechtersubboom
Alle grotere sleutels dicht bij de knoop staan in zijn rechtersubboom, en de kleinste daarvan is de meest linkse knoop daar.
Antwoord: D · Een deque met indices in afnemende volgorde van waarde
De voorkant van de deque is altijd het maximum van het venster; elke index gaat één keer de deque in en één keer eruit, dus het werk is lineair.
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: N = 2
Graden: de graad van een hoekpunt is het aantal kanten dat erin samenkomt. Elke kant heeft twee uiteinden, dus de graden tellen op tot twee keer het aantal kanten: Σ deg(v) = 2|E| (het handenschudlemma). Het aantal hoekpunten met oneven graad is daarom even. Kn heeft n(n − 1)/2 kanten, een k-reguliere graaf op n hoekpunten heeft nk/2, en een boom op n hoekpunten heeft n − 1 kanten.
Antwoord: D · Koppel de tabel employees aan zichzelf met twee aliassen
Een self-join zoals FROM employees e JOIN employees m ON e.manager_id = m.id laat de ene alias de werknemer zijn en de andere de manager.
Antwoord: D · Alle rijen uit beide tabellen, gekoppeld waar mogelijk en anders aangevuld met NULL
Een full outer join behoudt elke rij van beide tabellen, koppelt overeenkomsten en vult de ontbrekende kant met NULLs.
Antwoord: D · 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: C · Om verwarring met oude segmenten te voorkomen en het injecteren van vervalste segmenten te bemoeilijken
Willekeurige initiële volgnummers voorkomen dat vertraagde segmenten van oude verbindingen worden geaccepteerd en maken het voor off-path-aanvallers moeilijk geldige segmenten te vervalsen.
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 = 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