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 −109 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 0011 0000 AND 0110 1011. Wat is de waarde R van het resultaat in decimaal?
In hoeveel van de 8 rijen van zijn waarheidstabel is (¬q → p) ∧ ((q ∧ p) ↔ r) waar? Noem dit aantal N.
In hoeveel van de 16 rijen van de waarheidstabel is ((r ∨ q) ∧ q) ∧ (s ∧ p) waar? Noem dit aantal N.
Een 4-naar-1-multiplexer heeft selectie-ingangen S₁ = A en S₀ = B, en data-ingangen gekoppeld aan I₀ = 0, I₁ = 1, I₂ = 0, I₃ = 1. Voor hoeveel van de 8 combinaties van A, B en C is de uitgang F = 1? Bepaal N.
Bepaal de minimale SOP-vorm van F(A, B, C, D) = Σm(0, 1, 2, 4, 5, 9, 15) + d(6, 14), waarbij d de don’t-care-condities aangeeft. Hoeveel productermen N heeft die?
Vind de inverse van 12 modulo 29: het getal x met 0 < x < 29 en 12·x ≡ 1 (mod 29).
67 is een priemgetal. Gebruik de kleine stelling van Fermat om 631355 mod 67 te vinden.
Wat betekent het dat een probleem een optimale deelstructuur heeft?
Wat is de tijdcomplexiteit van het opbouwen van een binaire heap uit n ongesorteerde elementen met de bottom-upmethode?
Welk abstract datatype gebruikt het algoritme van Dijkstra om de volgende te verwerken knoop te kiezen?
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.
Bepaal het totale gewicht W van een minimaal opspannende boom van de gewogen graaf.
Een LEFT JOIN geeft:
Wat geeft SELECT name, dept, AVG(salary) OVER (PARTITION BY dept) FROM emp terug?
Wat is het doel van de TCP three-way handshake?
Stations A en C bereiken allebei accesspoint B maar horen elkaar niet, zodat hun frames bij B botsen. Hoe helpt 802,11?
Het netwerk 10.83.86.0/24 wordt verdeeld in gelijke subnetten met prefix /28. Hoeveel subnetten N zijn er?
Een host heeft het adres 10.20.12.88/26. Wat is het laatste getal (vierde octet) x van het broadcastadres van zijn subnet?
Antwoord: U = 147
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 = 32
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.
AND geeft alleen 1 waar beide bits 1 zijn.
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 = 2
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 = 4
Multiplexer: een 2ⁿ-naar-1-multiplexer geeft één van zijn data-ingangen door aan de uitgang; de selectielijnen, gelezen als binair getal, kiezen welke. Voor een 4-naar-1-MUX met selecties S₁S₀ = AB is F = A′B′·I₀ + A′B·I₁ + AB′·I₂ + AB·I₃. Door de data-ingangen aan 0, 1, C of C′ te koppelen, maakt de MUX elke functie van A, B en C, wat een veelgebruikte manier is om logica met één chip te bouwen.
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: 12−1 mod 29 = 17
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·12 (mod 29).
Antwoord: 631355 mod 67 = 4
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: D · Een optimale oplossing kan worden opgebouwd uit optimale oplossingen van de deelproblemen
Een optimale deelstructuur is nodig om zowel gulzige algoritmen als dynamisch programmeren correcte antwoorden te laten geven.
Antwoord: A · O(n)
Het optellen van de sift-down-kosten over alle niveaus levert een convergente reeks op, dus heapify draait in lineaire tijd.
Antwoord: A · Een min-prioriteitswachtrij
Een min-prioriteitswachtrij, meestal een binaire heap, geeft efficiënt de onbezochte knoop met de kleinste afstand terug.
Antwoord: B · 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: 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: W = 35
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 · Alle rijen uit de linkertabel en de overeenkomende rijen uit de rechtertabel, met NULLs waar er geen overeenkomst is
Een left outer join behoudt elke linkerrij; rechterkolommen zonder overeenkomst worden met NULL gevuld.
Antwoord: B · Elke werknemersrij samen met het gemiddelde salaris van de afdeling
Anders dan GROUP BY houdt een vensterfunctie elke invoerrij en voegt een waarde toe die over de partitie is berekend, hier de afdeling.
Antwoord: A · Een verbinding opzetten en volgnummers synchroniseren
De handshake zet een verbinding op en spreekt aan beide kanten de initiële volgnummers af voordat er data wordt verzonden.
Antwoord: D · Met optionele RTS/CTS-uitwisselingen: de CTS van het AP laat alle nabije stations wachten
Een station stuurt Request to Send; het AP antwoordt met Clear to Send, dat elk station binnen zijn bereik hoort, zodat verborgen stations de gereserveerde tijd wachten.
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 /28-subnet heeft 24 − 2 = 14 bruikbare hosts.
Antwoord: x = 127
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).
ExamProblems · examproblems.com/courses/computer-science-fundamentals