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 1110 1000 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 1000 1010 >> 3. Wat is de waarde R van het resultaat in decimaal?
In hoeveel van de 8 rijen van zijn waarheidstabel is ¬(p → ¬r) ∨ ((p ∧ q) ∨ (q ∨ ¬r)) waar? Noem dit aantal N.
De premissen q ∨ r; ¬q zijn gegeven. Welke conclusie volgt eruit? Klik erop.
Een 4-naar-1-multiplexer heeft selectie-ingangen S₁ = A en S₀ = B, en data-ingangen gekoppeld aan I₀ = 1, I₁ = 1, I₂ = 1, I₃ = C. Voor hoeveel van de 8 combinaties van A, B en C is de uitgang F = 1? Bepaal N.
Bepaal voor F(A, B, C, D) = Σm(0, 5, 6, 7, 8, 9, 13) + d(3, 4, 15), waarbij d de don’t-care-condities aangeeft, het aantal N essentiële priemimplicanten.
Bepaal Eulers φ φ(392), het aantal gehele getallen van 1 tot 392 die onderling ondeelbaar zijn met 392.
29 is een priemgetal. Gebruik de kleine stelling van Fermat om 448120 mod 29 te vinden.
Wat is de oplossing van de recurrente betrekking T(n) = 2T(n/2) + O(1)?
Topologisch sorteren is alleen mogelijk voor:
Wat is in het slechtste geval de hoogte van een binaire zoekboom met n knopen als de sleutels in gesorteerde volgorde worden ingevoegd?
Welk paar doorlopen bepaalt altijd een unieke binaire boom met verschillende sleutels?
Een boom heeft 2 hoekpunten van graad 3, 2 hoekpunten van graad 4, 2 hoekpunten van graad 5, 4 hoekpunten van graad 2, en al zijn andere hoekpunten zijn bladeren (graad 1). Hoeveel bladeren L heeft hij?
Gebruik het algoritme van Dijkstra om de lengte d(D) van het kortste pad van A naar D in de gewogen graaf te vinden.
Welke query geeft het aantal bestellingen per klant?
Waarom gebruiken veel DBMS'en strikte two-phase locking, waarbij exclusieve locks tot de commit worden vastgehouden?
Wat is het belangrijkste verschil tussen de HTTP-methoden GET en POST?
Een aanvaller op een LAN stuurt vervalste ARP-antwoorden waarin hij het IP-adres van de gateway claimt. Wat is het waarschijnlijke gevolg?
Het netwerk 192.168.10.0/24 moet worden verdeeld in minstens 20 gelijke subnetten. Als je zo weinig mogelijk bits leent, hoeveel bruikbare hosts H heeft elk subnet?
Een host heeft het adres 10.20.124.123/29. Wat is het vierde octet x van het laatste bruikbare hostadres in zijn subnet?
Antwoord: N = −24
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 = 17
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 3 verplaatst elke bit 3 plaatsen naar rechts; bits die rechts uit beeld vallen gaan verloren en links komen nullen binnen.
Antwoord: N = 7
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: r
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: N = 7
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 = 1
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: φ(392) = 168
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: 448120 mod 29 = 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: C · 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: B · Gerichte acyclische grafen (DAG)
Een topologische volgorde bestaat dan en slechts dan als de gerichte graaf geen cycli heeft; die is te vinden in O(V + E) met DFS of het algoritme van Kahn.
Antwoord: C · n (hij wordt een gekoppelde lijst)
Gesorteerd invoegen levert een gedegenereerde boom met hoogte n op, waardoor zoeken O(n) wordt. Gebalanceerde bomen voorkomen dit.
Antwoord: C · Preorder en inorder
Preorder geeft de wortel, en zijn positie in de inorder-reeks splitst de linker- en rechtersubboom; preorder met postorder is dubbelzinnig als een knoop één kind heeft.
Antwoord: L = 14
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.
Snelle methode: L = 2 + Σ (d − 2) over de hoekpunten met graad d ≥ 3.
Antwoord: d(D) = 19
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 customer_id, COUNT(*) FROM orders GROUP BY customer_id
GROUP BY customer_id maakt één groep per klant, en COUNT(*) telt de rijen in elke groep.
Antwoord: A · Het voorkomt cascaderende aborts, omdat niemand niet-gecommitte schrijfacties kan lezen
Gewone 2PL garandeert serialiseerbaarheid, maar het vroeg vrijgeven van schrijflocks kan anderen gegevens laten lezen die later worden teruggedraaid; strikte 2PL voorkomt dit.
Antwoord: C · GET haalt een resource op, POST verstuurt data in de body van het verzoek
GET vraagt om een resource en mag de serverstatus niet veranderen. POST stuurt data, zoals een formulier, in de body mee zodat de server die verwerkt.
Antwoord: A · Slachtoffers sturen verkeer voor de gateway naar de aanvaller, wat een man-in-the-middle-aanval mogelijk maakt
ARP-spoofing vergiftigt de ARP-caches van hosts met het MAC-adres van de aanvaller voor het gateway-IP. De aanvaller kan dan verkeer lezen, wijzigen of weggooien; dynamic ARP inspection helpt dit te voorkomen.
Antwoord: H = 6
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 = 126
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